Skip to main content

GET /sdk/v1/analytics/tracked-media/sync

Sync the agency analytics tracking workspace: accounts, standalone posts, and posts discovered from tracked accounts. Replace by id, which equals trackedMediaId. Requires X-Application-Id, X-Api-Key, and analytics:read. Follow the shared syncing workflow for pagination, cursor storage, retries and removals. Only cursor and limit are accepted.
On subsequent requests, add --data-urlencode "cursor=$SAVED_CURSOR".

Record format

Each item in data is a complete replacement with these fields:
Counters are the latest stored observation for an individual post, serialized as decimal integer strings to preserve large values. Unavailable counters are null, including platform-unsupported metrics and posts without observations. metricsCollectedAt identifies that observation. Corrections and deletion of observations also produce replacements. Accounts have isAccount: true and null counters; their child posts carry sourceTrackedMediaId. Sum child post counters locally if you need account totals. Updates to a child emit that child’s record. The feed does not duplicate post totals onto an account row or apply date-range calculations. This feed covers tracked workspace media only. Campaign media has its own feed. If you combine the two datasets, a social post may be present in both; deduplicate by canonical platform/post identity before calculating totals. Collections and combined analytics charts remain on the analytics API. Tracking-window boundaries are returned as stored dates. Merely crossing a boundary does not delete a record. Metadata, metrics, source-account rebinding, ownership changes and deletion produce replacements or removals. Routine scraper bookkeeping does not create a sync update.