X-Application-IdX-Api-Key
page and limit, and return a top-level pagination object with page, limit, total, and totalPages.
Track content
POST /sdk/v1/analytics/tracked-media
Track one account or post. Grade detects the platform and target type from the URL and schedules the first scrape.platform:INSTAGRAM,TIKTOK,YOUTUBE,FACEBOOK, orTWITTERisAccount: explicitly identify an ambiguous URL as an account or postcaptionFilter: account-only keyword, hashtag, mention, or phrase filtertrackRelativeValueandtrackRelativeUnit: how long discovered posts are tracked after upload; useDAYSorMONTHScollectionIds: collections to add the target toforceScrape: request a manual retry when an existing target is already being tracked; the retry is subject to the manual refresh policy below
trackedMediaId, normalized URL, tracking configuration, scrape state, and whether the row was created, restored, or already existed. Reposting an existing or previously deleted target does not schedule another scrape unless forceScrape is true. Forced refreshes remain subject to the manual refresh policy below.
POST /sdk/v1/analytics/tracked-media/bulk
Track up to 200 URLs in one request.Manage tracked content
GET /sdk/v1/analytics/tracked-media
List standalone tracked targets. Query parameters:type:accountsorposts; omit to return bothpage: default1limit: default20, maximum100q: URL or normalized-target search
- Author:
authorPlatformId,authorUsername,authorDisplayName - Content:
title,captionText,hashtags - Audio:
audioPlatformId,audioTitle,audioArtist,audioAlbum,audioIsOriginal - Freshness:
metadataCollectedAt
null; hashtags is an empty array when none are available. These fields are returned by the tracked-media list, detail, and discovered-post endpoints. They also appear on the nested trackedMedia object returned for collection members, on tracked video results from /top, and in data.meta from /media/tracked/:trackedMediaId.
GET /sdk/v1/analytics/tracked-media/:trackedMediaId
Get one tracked account or post with its latest metrics andasOfTimestamp.
GET /sdk/v1/analytics/tracked-media/:trackedMediaId/posts
List posts discovered from a tracked account. Query parameters:page: default1limit: default20, maximum100
PATCH /sdk/v1/analytics/tracked-media/:trackedMediaId/track-window
Update tracking configuration.trackStartAt. Send trackRelativeValue: null and trackRelativeUnit: null together to clear the relative window. captionFilter is only valid for accounts.
POST /sdk/v1/analytics/tracked-media/:trackedMediaId/scrape-now
Request an immediate scrape. Scrape execution is asynchronous. Manual refreshes use the same policy as campaign media: each tracked target can be refreshed up to three times, with a four-hour cooldown after each successfully queued refresh. A target in its cooldown returns429 with Retry-After, refreshAvailableAt, and refreshCooldownMs. A target that has used all three refreshes returns 409 with code ATM_REFRESH_LIMIT_REACHED.
PATCH /sdk/v1/analytics/tracked-media/:trackedMediaId/tracking-tier
Wake a sleeping target.DELETE /sdk/v1/analytics/tracked-media/:trackedMediaId
Stop tracking a target. Deleting an account also soft-deletes its discovered child posts.Collections
POST /sdk/v1/analytics/collections
Create a collection.GET /sdk/v1/analytics/collections
List collections with tracked-member counts and current views, likes, comments, and shares. Query parameters:page: default1limit: default20, maximum100q: collection-name search
PATCH /sdk/v1/analytics/collections/:collectionId
Rename a collection.DELETE /sdk/v1/analytics/collections/:collectionId
Delete a collection and its member associations. This does not delete the tracked media itself. Collections that also contain campaign members cannot be deleted through the standalone analytics API and return409 Conflict.
GET /sdk/v1/analytics/collections/:collectionId/members
List standalone tracked accounts and posts in a collection. Query parameters:page: default1limit: default20, maximum100q: target URL search
POST /sdk/v1/analytics/collections/:collectionId/members
Add a tracked account or post to a collection.meta.duplicate: true.
DELETE /sdk/v1/analytics/collections/:collectionId/members/:memberId
Remove a tracked member from a collection without stopping its tracking.Query analytics
Analytics endpoints default toscope=tracked. They never include campaign media on the SDK surface.
Common query parameters:
startDateandendDate: optionalYYYY-MM-DDdate range; defaults to the latest 30 daysplatform:FACEBOOK,YOUTUBE,INSTAGRAM,TIKTOK, orTWITTERcollectionIds: comma-separated collection IDstrackedMediaIds: comma-separated tracked post IDstrackedAccountIds: comma-separated tracked account IDs; account IDs expand to their discovered postsincludeIncomplete: include the current incomplete day
GET /sdk/v1/analytics/summary
Return views, likes, comments, shares, bookmarks, engagements, engagement rate, virality, videos tracked, active accounts, and growth comparisons.GET /sdk/v1/analytics/series
Return daily values for one metric. Additional parameters:metric:views,likes,comments,shares,bookmarks,engagements,engagement_rate, orviralitymode:deltafor change during each day ortotalfor cumulative totals
GET /sdk/v1/analytics/top
Rank tracked videos or accounts. Tracked video results include the normalized author, content, hashtag, and audio fields described above. Tracked account results include available author identity fields andmetadataCollectedAt.
Additional parameters:
type:videosoraccountsmetric: supported analytics metricmode:deltaortotallimit: result count
GET /sdk/v1/analytics/posting-activity
Return the number of posts published on each date, including account coverage metadata.GET /sdk/v1/analytics/posting-schedule
Group publishing performance by day of week and hour. Additional parameters:metric: supported analytics metricmode:deltaortotal
GET /sdk/v1/analytics/video-lengths
Group post performance by video-duration bucket. Additional parameters:metric: supported analytics metricmode:deltaortotalbucketPreset: optional; defaults toshortform_v1
GET /sdk/v1/analytics/media/tracked/:trackedMediaId
Return the date-range summary and daily series for one tracked post.data.meta includes the normalized author, content, hashtag, audio, and metadata-freshness fields described above.
Optional query parameters:
startDateandendDatemetricmode:deltaortotal
Metric freshness
Analytics responses includemeta.asOfTimestamp. This is the latest stored tracking snapshot used by the response and may be null before the first scrape completes.
Metric availability differs by platform. Responses include availability metadata when a metric is unsupported or only partially supported across the selected targets.