Asynchronous Exports is available on Topsort’s public API.
Use an Advanced API key to call it.
Asynchronous Exports lets you request a custom slice of your advertising
performance data, choosing the dimensions and metrics you need for a time
window, and receive it as a single Parquet file. Exports run in the
background, so a large request never ties up a connection: you ask for the
export, check on it, and download the file once it is ready.
How it works
1
Discover what you can export
List the available datasets to see, for each one, the dimensions and
metrics you can request, the dimensions the time window filters on, and
the granularities you can ask for (how rows are grouped in time).
2
Request an export
Choose a dataset, the dimensions to group by, the metrics to include, the
granularity, and a time window of up to 31 days, starting no more than
120 days ago. Topsort validates the request and returns an export ID
right away. Each export counts toward your daily quota.
3
Check its status
The export moves from
pending to running while Topsort builds the
file. Check it every minute or so until it is completed or failed.4
Download the file
A completed export includes a secure download link to its Parquet file.
The link is valid for 1 hour from the moment it is delivered, when you
get the export status. Check the export again to get a new one.
Export lifecycle
Most exports finish in less than an hour. Failed exports are not retried
automatically; request a new export instead.
Choosing the time window
- Days are in your local time: the data is grouped by
day_local, and the window selects those local days. - The window is set by a
startDateand anendDateinYYYY-MM-DDformat, both inclusive. To export the whole of September, start at2026-09-01and end at2026-09-30. To export a single day, send the same date as both. - The end must be on or after the start, and the window can cover up to 31 days, counting both the start and the end.
- The start can be up to 120 days before today (in UTC). Older data cannot be exported; the error tells you the earliest start date you can use.
- If the window includes today, keep in mind that today’s numbers can still be updated later.
Available data
The dataset, dimensions and metrics below are the ones available today. More
may be added over time; the
GET /export-service/datasets endpoint always
returns the current list.Monitoring metrics
The
Dimensions (what each row is grouped by):
monitoring_metrics dataset covers advertising performance by campaign,
placement and device, grouped into local days.
Metrics (what each row adds up):
Monetary values are in your currency, reported in the
currency_code
dimension. See the Glossary for metric definitions.The export file
- Format: one Parquet file per export.
- Columns: one per requested dimension, then one per requested metric, in the order you asked for them, named exactly as requested.
- Types:
day_localis a calendar date (the local day),is_activeis a boolean, other dimensions are text, and every metric is a decimal number. - Rows: one per combination of the requested dimensions that had activity in the window.
Limits
Why was my request rejected?
Every error includes a stable
code you can handle in your integration, a
readable message and, when useful, details with more context.Frequently Asked Questions
My download link stopped working. Links expire 1 hour after they are
delivered, when you get the export status. Check the export again to get a
new link.
Can I get hourly, weekly or monthly rows? Not yet:
day_local is the
only granularity.Can I export more than 31 days? Split the period into several exports of
up to 31 days each, keeping your daily quota in mind.
Can I export data older than 120 days? No. The start date can be at most
120 days before today.
When do my 20 daily exports come back? All at once, at midnight UTC. The
count is per UTC calendar day, not 24 hours after each request.
Can I filter by vendor or campaign? Not yet. Today an export is filtered
by time window; include
vendor_id or campaign_id as dimensions and filter
the file after downloading it.Can I get CSV instead of Parquet? Parquet is the only format we support.
For endpoints, request examples and error handling, see the Asynchronous
Exports integration guide.