Public API
Read endpoints need no key and are CORS-open. Writes need an account key; see follow tracking.
/api/v1/leaderboardThe ranked board. Highest standing bid first.
| category | category slug, e.g. memes. Omit for all categories. |
| q | case-insensitive search over handle, name and tagline. |
| limit | 1โ100, default 50. |
| offset | for paging. |
curl "https://followers.bid/api/v1/leaderboard?category=fitness&limit=2"
{
"total": 18,
"limit": 2,
"offset": 0,
"category": "fitness",
"items": [
{
"rank": 1,
"handle": "liftwithnoa",
"display_name": "Noa Barel",
"tagline": "Strength programming for people with day jobs.",
"avatar_url": null,
"followers": 148000,
"instagram_verified": false,
"category": { "slug": "fitness", "name": "Fitness", "emoji": "๐ช" },
"standing_bid_cents": 184000,
"clicks": 12480,
"views": 8986,
"follow_taps": 3494,
"follows": 1902,
"conversion_rate_pct": 54.44,
"view_url": "https://followers.bid/go/liftwithnoa?intent=view",
"follow_url": "https://followers.bid/go/liftwithnoa?intent=follow",
"profile_url": "https://www.instagram.com/liftwithnoa/",
"sponsored": true
}
]
}Always open view_url or follow_url, never profile_url. They record the tap and carry the attribution token โ going direct means the creator paid for a visit nobody can see. Use whichever matches the button the user pressed: conversion_rate_pct is follows per 100 follow taps, so mislabelling the intent corrupts it.
/api/v1/categoriesEvery category, with the price of taking #1 in each right now.
curl https://followers.bid/api/v1/categories
/api/v1/accounts/{handle}One listing in full, including 30 days of daily clicks and follows.
curl https://followers.bid/api/v1/accounts/liftwithnoa
/api/v1/clicksRecord a tap from an embed or a link-in-bio tool, and get back the URL to open.
Use this instead of following the /go/ redirect when you want to keep hold of the click token yourself. intent is view or follow and defaults to view.
curl -X POST https://followers.bid/api/v1/clicks \
-H "Content-Type: application/json" \
-d '{"handle":"liftwithnoa","source":"embed","intent":"follow"}'{
"click_token": "7k2mfqx9rt4bnh3vzcd8ye",
"intent": "follow",
"profile_url": "https://www.instagram.com/liftwithnoa/?followersbid=7k2mfqx9rt4bnh3vzcd8ye",
"handle": "liftwithnoa"
}/api/v1/followskey requiredReport a follow. Requires an account key.
/api/v1/snapshotskey requiredReport today's follower count. Requires an account key.
/api/v1/whoamikey requiredCheck an account key.
Fair use
Read endpoints are cached for 15โ60 seconds at the edge; polling faster than that gets you the same bytes. There is no hard rate limit today, but there is a human reading the logs โ if you hammer it, you'll get one.