Older endpoints
/api/stories, /api/profile, /api/highlights, /api/media, /api/download, /api/posts and /api/tiktok/analytics keep working for calls with an API key until December 31, 2026. Until then such a call gets the headers Deprecation, Sunset and Link. After that date they stop answering: a call with a key gets 410 with the code legacy_endpoint. New work should use /api/v1/. The tracker and analytics endpoints do not end; they are listed below.
Older endpoint to v1 endpoint
Each older endpoint, and the v1 endpoint to call instead. The page of a v1 endpoint has its parameters, a sample answer and code.
| Older endpoint | Use instead | What changes |
|---|---|---|
POST /api/stories | GET /v1/user/stories | It returned stories, highlights and the profile in one call. In v1 each is its own call: GET /v1/user/highlights and GET /v1/user/profile. You pay for each call you make. |
GET /api/profile | GET /v1/user/profile | The same data in v1's field names, such as full_name, is_private, profile_pic_url and external_url. |
GET /api/highlights | GET /v1/highlight | Send the id of the highlight, or its link as url. |
POST /api/media | GET /v1/post | Send url, code or id in the query string. It is a GET. |
GET /api/download | No replacement | A v1 answer carries the media links itself. Download the file from the link in your own code. |
GET /api/posts | GET /v1/user/posts | The posts of an account, a page at a time, in v1's field names. Pass next_cursor back as cursor for the next page. |
GET /api/tiktok/analytics/:username | No replacement | v1 has no TikTok endpoint. |
GET /api/tiktok/analytics/:username/export | No replacement | v1 has no TikTok endpoint. |
What a call with a key gets
- Until December 31, 2026 the answer is the same as before, with three headers added:
Deprecation,SunsetandLink. Deprecationis the day v1 started, October 20, 2026, as a Unix time.Sunsetis the end of December 31, 2026 in UTC, as an HTTP date.Linkpoints to this page, withrel="deprecation".- After December 31, 2026 a call with an API key to these endpoints is answered
410with{ error, code }, wherecodeislegacy_endpoint. It is not charged. - A call without a key, such as one from our own website, is not affected.
What stays
/api/tracker, /api/tracker/accounts, /api/tracker/quota, /api/tracker/precheck, /api/analytics/shadowban and /api/analytics/outbound keep working and do not end on December 31, 2026.
They are not part of API v1 and have no v1 endpoint. They belong to the plans of the website, not to the prepaid balance: Basic and Pro include the tracker routes. Tracker API plans are no longer sold; a holder of one keeps access until the plan ends. Each section below says how to sign in, what to send, what comes back and who may call.
GET /api/tracker/accounts
- Auth: Send
Authorization: Bearer <token>or theX-Api-Keyheader. A missing or wrong credential answers401. - Parameters: None.
- Returns:
{accounts}: each tracked account with itsid,igUsername, the counts it started with (initialFollowers,initialFollowing), what it tracks (storyOnly,trackFollows,trackFollowers,trackStories),syncStatus,lastPolledAtandcreatedAt. - Who can use it: Basic or Pro on the website, which include the tracker routes. Tracker API plans are no longer sold; a holder of one keeps access until the plan ends. Without access the answer is
403. A call with an API key also counts toward the plan's daily limit for the tracker and a burst limit, and a call over either answers429.
POST /api/tracker/accounts
- Auth: Send
Authorization: Bearer <token>or theX-Api-Keyheader. A missing or wrong credential answers401. - Parameters: A JSON body with
igUsername(required),mode(fullorlock,fullwhen left out) andreplaceAccountId(theidof a tracked account to put under the lock to make room, not together withlock). - Returns: The added account, in the shape of the list above; its first reading runs in the background. A refused add (no free slot, the day's or the month's adds used up) answers
403or429witherror,codeandlimit. - Who can use it: Basic or Pro on the website, which include the tracker routes. Tracker API plans are no longer sold; a holder of one keeps access until the plan ends. Without access the answer is
403. A call with an API key also counts toward the plan's daily limit for the tracker and a burst limit, and a call over either answers429.
DELETE /api/tracker/accounts
- Auth: Send
Authorization: Bearer <token>or theX-Api-Keyheader. A missing or wrong credential answers401. - Parameters:
accountId, theidof a tracked account, in the query string or in a JSON body. - Returns:
{success: true}, or404when there is no such account. - Who can use it: Basic or Pro on the website, which include the tracker routes. Tracker API plans are no longer sold; a holder of one keeps access until the plan ends. Without access the answer is
403. A call with an API key also counts toward the plan's daily limit for the tracker and a burst limit, and a call over either answers429.
GET /api/tracker
- Auth: Send
Authorization: Bearer <token>or theX-Api-Keyheader. A missing or wrong credential answers401. - Parameters:
page(1 to 100, 1 when left out) andlimit(20 to 500, 200 when left out), in the query string. - Returns:
{accounts, activities, total, page, pages}: your tracked accounts and one page of their changes, newest first. A change has itsactivityType(such asFOLLOWER_ADDED,FOLLOWER_REMOVED,FOLLOWandUNFOLLOW), the account and the moment it was seen indetectedAt. - Who can use it: Basic or Pro on the website, which include the tracker routes. Tracker API plans are no longer sold; a holder of one keeps access until the plan ends. Without access the answer is
403. A call with an API key also counts toward the plan's daily limit for the tracker and a burst limit, and a call over either answers429.
GET /api/tracker/quota
- Auth: Send
Authorization: Bearer <token>or theX-Api-Keyheader. A missing or wrong credential answers401. - Parameters: None.
- Returns: How much of the plan's lists you use:
followingUsedandfollowingTotal,followersUsedandfollowersTotal,accountsUsedandaccountsTotal,byAccount, the plan intierand the export rows used. An answer may be up to 5 minutes old (the headerX-Cache: HITsays so). - Who can use it: Basic or Pro on the website, which include the tracker routes. Tracker API plans are no longer sold; a holder of one keeps access until the plan ends. Without access the answer is
403. A call with an API key also counts toward the plan's daily limit for the tracker and a burst limit, and a call over either answers429.
POST /api/tracker/precheck
- Auth: Send
Authorization: Bearer <token>or theX-Api-Keyheader. A missing or wrong credential answers401. - Parameters: A JSON body with
igUsername(required). - Returns:
{canAdd, allocation, profile, warning, anyPlanCountOnly}: how many followers and following the plan would read by name for the account (allocation), the account's own counts (profile) and awarning:nonewhen only story alerts fit,partialwhen part of a list would come as a count with no names, elsenull. An account that does not exist answers404, a private one or one with more followers than the plan takes answers400, and a refused add answers403or429. - Who can use it: Basic or Pro on the website, which include the tracker routes. Tracker API plans are no longer sold; a holder of one keeps access until the plan ends. Without access the answer is
403. A call with an API key also counts toward the plan's daily limit for the tracker and a burst limit, and a call over either answers429.
GET /api/analytics/shadowban
- Auth: Send
Authorization: Bearer <token>or theX-Api-Keyheader. A missing or wrong credential answers401. - Parameters:
username(required) andlocale(optional, the language of the recommendations), in the query string. - Returns:
{username, score, verdict, signals, checkedAt, recommendations}: ascorefrom 0 to 100, averdict(clean,possibly_limitedorlikely_shadowbanned), thesignalsbehind it, each with astatusofok,warningorcritical, and what to do about it inrecommendations. An account that does not exist or is private answers404. - Who can use it: Any signed-in user, with a Bearer token or an API key. Each call counts toward the daily analysis allowance of the website plan (Free: none, Basic: 10 a day, Pro: unlimited), and a call over it answers
429.
GET /api/analytics/outbound
- Auth: Send
Authorization: Bearer <token>only. This endpoint does not readX-Api-Key. A missing or wrong token answers401. - Parameters:
username(a tracked account, required) anddays(1 to 90, 30 when left out), in the query string. - Returns:
{username, days, totalLikes, totalComments, topTargets, recentActivity}: the likes and comments the tracked account left on other accounts' posts, the accounts it interacts with most and the latest of its interactions. - Who can use it: A Pro subscription and the Deep Analytics add-on on the account you ask about, which must be tracked with full tracking, not as a story alert. Without Pro or the add-on the answer is
403, and an account you do not track answers404.
Moving to v1
- v1 takes the key in the
X-Api-Keyheader, and only there. - An older key works on v1 once the account behind it is linked to Telegram. Until then v1 answers
telegram_requiredwith a link to do it. - v1 is paid from a prepaid balance instead of a daily quota, and a new account starts with 100 free requests. See pricing.
- Every v1 endpoint is a
GETwith its parameters in the query string. The docs list them all.
Your first 100 requests are on us
Sign in with Telegram, create a key, call any endpoint. Top up only when you need more.
