Export your analytics as CSV or JSON
GET /v1/analytics/export
Generates one dataset, stores it for 15 minutes, and returns a time-limited download URL. The link carries a random id and needs no key, so treat it as the secret it is.
dataset is daily (one row per day), visitors (one row per person, the fullest export), goals, or any breakdown dimension: channel, referrer, utm_source, utm_medium, utm_campaign, path, country, city, device, browser, os.
Two things the answer tells you rather than leaving you to find out: truncated is true when a breakdown hit the 1,000-row cap, and the visitors dataset holds only visits that were allowed to carry a visitor id, so someone who refused cookies is in the totals but has no row.
Days older than 90 come from daily totals kept after raw events expire: from_rollups says when, and a breakdown then ends in an (other) row. The visitors dataset needs raw events and reaches back 90 days.
Auth: Secret key. Every plan can export. How far back you may read is your plan’s analytics history (Free 30 days, Indie 365, Builder 730), the same cap as every other analytics read; it is also the default.
Countries left out: the project’s saved excluded_countries (PATCH /v1/analytics/settings) are left out of this read, unless exclude_country names others (a comma list of two-letter codes, e.g. NO,CH; empty counts every country). The answer names the list it applied in excluded_countries. Past 90 days the totals, time series, goals, map and the country breakdown lose those countries (visits and page views exactly; engaged time, visits with ids, bounce, new visitors and goals in proportion, marked rollups.excluded_estimated; visitors become null); a breakdown or signups grouping by anything else answers ANALYTICS_RAW_EVENTS_ONLY with param: "exclude_country" when those countries had visits on those days.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Defaults to the plan’s full history.
Countries to leave out instead of the saved list, e.g. NO,CH; empty for none.
Responses
Section titled “ Responses ”Export info with download_url valid for 15 minutes
Error envelope. See error.code for the discriminator.
object
object
object
Error envelope. See error.code for the discriminator.
object
object
object
Error envelope. See error.code for the discriminator.