Soundlink metrics breakdown export (JSONL)
Streams the full country-level metrics dataset for a soundlink as
newline-delimited JSON (JSONL). Every line is a complete, valid
JSON object conforming to the soundlink_country_daily v1.0 schema
— identical to the rows returned by GET /metrics/breakdown but
without pagination or an envelope wrapper.
Designed for data pipeline consumers: load directly into BigQuery, Snowflake, or any JSONL-aware ingest tool without cursor logic.
Usage:
GET /v1/soundlinks/{soundlinkId}/metrics/breakdown/export
Accept: application/x-ndjson
Date range: if you omit both dates, defaults to the last 90 days
ending today. Override with startDate / endDate. Responses are
capped at 90 days — a wider range returns 400 invalid_query_parameter.
Page longer histories in 90-day slices.
Mutability: rows for a given report_date can be revised for up
to 7 days after the date closes due to delayed Spotify playback
events. Re-fetching and re-ingesting on the primary key is safe
(idempotent).
Requires the soundlinks:read scope. Accepts API key or OAuth Bearer.
Authorizations
Pass your Soundlink sk_* API key as a Bearer token:
Authorization: Bearer sk_<prefix>_<token> (not an OAuth token; see
oauthBearer for that). Accepted on all Public API operations. Send
only one Authorization header per request.
Path Parameters
Soundlink identifier (URL-safe string, same ID used in the public sndl.ink URL)
Query Parameters
Inclusive start date (YYYY-MM-DD). When omitted, the default depends
on the endpoint: campaign overview and paginated breakdown use the
campaign start date; engagement and JSONL export endpoints use the
last 90 days ending today (see each operation).
Inclusive end date (YYYY-MM-DD). Defaults to today.
Response
JSONL stream. Each line is a soundlink_country_daily v1.0 row.
Lines are sorted by (report_date asc, country_code).
One row of the soundlink_country_daily v1.0 schema.
Primary key: (provider, account_id, report_date, soundlink_id, country_code).
Rows are idempotent — re-ingesting on the primary key is safe.
Values for a given report_date may be revised for up to 7 days after
the date closes due to delayed Spotify playback events.
Rows contain no financial fields.
Always soundlink. Identifies the data provider for multi-source warehouses.
soundlink Soundlink organization ID (UUID).
Schema version. Pin your ingest pipeline to this value.
"1.0"
UTC calendar date the metrics belong to (YYYY-MM-DD).
Always UTC.
UTC ISO 8601 UTC timestamp when this row was generated. Use for deduplication if the same report_date is re-delivered.
Unique ID of this soundlink.
"V1StGXR8_Z5jdHi6B-myT"
Human-readable soundlink name.
Whether this soundlink promotes a track or playlist. null if undetermined.
track, playlist ISO 3166-1 alpha-2. Derived from the listener's IP at time of engagement. Uppercase.
Soundlink landing page views in this country on this day.
Spotify streams attributed to this soundlink in this country on this
day: new_listener_streams + returning_listener_streams. Observed
Spotify-side events, not modelled estimates. Safe to sum within a
day; summing across days counts repeat listens.
Unique Spotify listeners attributed to this soundlink in this
country on this day: new_listeners + returning_listeners.
Do not sum across days — the same listener can appear on
multiple report_date rows.
Spotify artist follower gains attributed to this soundlink in this country on this day.
streams / listeners for this row. Zero if listeners is zero.
ISRC of the promoted track. Populated when soundlink_target_type = track; otherwise null.
Spotify track ID of the promoted track. Populated when soundlink_target_type = track; otherwise null.
Spotify playlist ID. Populated when soundlink_target_type = playlist; otherwise null.
Clicks on "Continue with Spotify" on the landing page — outbound clicks to Spotify. Null if not tracked for this soundlink type.
Unique listeners whose first play via this soundlink occurred on report_date in this country.
Unique listeners who played on report_date in this country but whose first play was on an earlier date.
Stream count from new listeners on report_date in this country.
Stream count from returning listeners on report_date in this country.
Landing page click-through rate (link_clicks / views). Computed
against landing page views, not ad impressions — do not combine
with ctr_linkclick from campaign_country_daily. Null if views
is zero or link_clicks is null.