Read your niches, the accounts you track, their videos 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 (not the free preview).
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 on the free preview, 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.
Every video from your accounts inside the scan window (Instagram Reels, TikToks and YouTube Shorts), scored exactly as Trend Finder scores them. The address says reels, but it returns all your videos. 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 videos 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 video'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 videos 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 video's numbers were last refreshed.