Read your niches, the accounts you track, their posts and your Library from your own software: the same numbers the app shows, as JSON.
Start
Get a key in Statly, Settings > API & MCP. It is shown once: keep it somewhere safe, and never in a web page or an app people download.
Send it with every call as Authorization: Bearer <key>, to https://api.trystatly.com.
Read only. Every endpoint is a GET. It reads what Statly's daily scan collected, so a call never waits for a scan.
Who has it: the Scale and Agency plans, once the free trial is over.
Limits: 60 calls a minute and 10,000 a day per workspace (the day resets at midnight UTC). Every answer says what is left in x-ratelimit-remaining-day.
Errors
Anything but a 200 comes back as {"error": {"code": "…", "message": "…"}}, with the message written for a person:
401 missing_key, 401 invalid_key
No key sent, or it was revoked or its workspace deleted.
403 plan_required
The workspace's plan does not include the API (or is still in its trial, or has ended).
429 rate_limited, 429 daily_limit
Over a limit. retry-after says how many seconds to wait.
400 bad_request, 404 not_found
A parameter that is not valid, or a niche or account this workspace does not have.
GET /v1/workspace
The workspace this key belongs to, and how many calls it has made today. A quick way to check a key works.
Each item
id, name
The workspace.
scan_window_days
How far back every list reaches: the workspace's scan window.
Posts from your accounts inside the scan window: reels, TikToks and Shorts, scored exactly as Trend Finder scores them. 50 a page by default.
Parameters
niche
Only this niche.
account
Only this account: its id, its handle (with platform for TikTok or YouTube) or its profile link.
platform
instagram, tiktok or youtube.
viral
true for posts at 2× their account's median or more; false for the rest.
since, until
Posted on or after since and before until: a date (2026-09-01, UTC), an ISO time or Unix seconds.
sort
views (default), newest, oldest, vs_median, engagement or growth. Missing values sort last.
limit
1 to 200.
cursor
The next_cursor of the page before. null means there is no next page.
Each item
id
The post's id on its platform.
account
The account: id, handle, platform and url.
url, posted_at
Where to watch it, and when it was posted.
views, likes, comments
likes is null when the creator hides them.
shares, saves
TikTok only; null elsewhere.
duration_s, followers
Length in seconds; the account's followers when it was scanned.
engagement_rate, like_rate, comment_rate
In percent of views.
views_to_followers
Views over followers.
vs_median, vs_average
Views over the account's median and average: 3.2 means 3.2×.
viral
vs_median is 2 or more.
growth
views_last_day and vs_normal_day (its last day against what the account's posts usually gain at that age; the app shows anything past 50 as "50+"), or null before it has two daily readings or once it is two weeks old.
sound
The audio's name and artist, when known.
thumbnail
The platform's picture link. These expire; save the picture, not the link.
niches, updated_at
Its account's niches, and when this post's numbers were last refreshed.