Statly API

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

Errors

Anything but a 200 comes back as {"error": {"code": "…", "message": "…"}}, with the message written for a person:

401 missing_key, 401 invalid_keyNo key sent, or it was revoked or its workspace deleted.
403 plan_requiredThe workspace's plan does not include the API (or is still in its trial, or has ended).
429 rate_limited, 429 daily_limitOver a limit. retry-after says how many seconds to wait.
400 bad_request, 404 not_foundA 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, nameThe workspace.
scan_window_daysHow far back every list reaches: the workspace's scan window.
calls_todayCalls made today (UTC), of calls_per_day.

Example

curl "https://api.trystatly.com/v1/workspace" \
  -H "Authorization: Bearer $STATLY_KEY"

GET /v1/niches

Your niches.

Each item

idUse it as niche= on the other endpoints.
name, colorAs in the app.
accountsHow many accounts it holds.

Example

curl "https://api.trystatly.com/v1/niches" \
  -H "Authorization: Bearer $STATLY_KEY"

GET /v1/accounts

The accounts you track, with the Watchlist's numbers.

Parameters

nicheOnly this niche's accounts.
platforminstagram, tiktok or youtube.

Each item

idThe account's id: the handle on Instagram, tt:handle on TikTok, yt:handle on YouTube.
handle, platform, urlWho it is and where.
nichesThe niche ids it sits in.
followersAt the last scan.
reels, viewsPosts inside the scan window, and their views added up.
avg_views, median_viewsThe account's normal: what every "× median" is measured against. null below 5 posts.
avg_engagement_rateLikes and comments over views, in percent.
viral_reelsPosts at 2× its median views or more.
last_scanned, statusWhen it was last scanned, and ok, private, not_found, unavailable, waiting…

Example

curl "https://api.trystatly.com/v1/accounts?platform=tiktok" \
  -H "Authorization: Bearer $STATLY_KEY"

GET /v1/reels

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

nicheOnly this niche.
accountOnly this account: its id, its handle (with platform for TikTok or YouTube) or its profile link.
platforminstagram, tiktok or youtube.
viraltrue for posts at 2× their account's median or more; false for the rest.
since, untilPosted on or after since and before until: a date (2026-09-01, UTC), an ISO time or Unix seconds.
sortviews (default), newest, oldest, vs_median, engagement or growth. Missing values sort last.
limit1 to 200.
cursorThe next_cursor of the page before. null means there is no next page.

Each item

idThe post's id on its platform.
accountThe account: id, handle, platform and url.
url, posted_atWhere to watch it, and when it was posted.
views, likes, commentslikes is null when the creator hides them.
shares, savesTikTok only; null elsewhere.
duration_s, followersLength in seconds; the account's followers when it was scanned.
engagement_rate, like_rate, comment_rateIn percent of views.
views_to_followersViews over followers.
vs_median, vs_averageViews over the account's median and average: 3.2 means 3.2×.
viralvs_median is 2 or more.
growthviews_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.
soundThe audio's name and artist, when known.
thumbnailThe platform's picture link. These expire; save the picture, not the link.
niches, updated_atIts account's niches, and when this post's numbers were last refreshed.

Example

curl "https://api.trystatly.com/v1/reels?viral=true&sort=newest&limit=20" \
  -H "Authorization: Bearer $STATLY_KEY"

GET /v1/library

The posts saved to your Library, newest save first.

Each item

id, urlThe post.
accountThe account: id, handle, platform and url.
saved_at, folder, tagsWhen it was saved, its folder's name and its tags.
availablefalse once the post's stored numbers are gone; the save stays.
posted_at, views, likes, comments, shares, saves, duration_sAs in /v1/reels, from the last scan.

Example

curl "https://api.trystatly.com/v1/library" \
  -H "Authorization: Bearer $STATLY_KEY"