Follow tracking
Clicks we count ourselves. Follows need something from your side — Instagram gives third parties no attribution data whatsoever. Two ways in, and you can use both.
Get your key
Each listing has its own key — generate it on the account's page in your dashboard. A key can only ever report for its own account.
curl https://followers.bid/api/v1/whoami \ -H "Authorization: Bearer flb_live_xxxxxxxxxxxx"
Route A — daily follower count
The easy one. Post your follower count once a day; a rise is credited as snapshot follows. You can also just type it into the dashboard — same code path, same cap.
curl -X POST https://followers.bid/api/v1/snapshots \
-H "Authorization: Bearer flb_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"follower_count": 12482}'{
"day": "2026-08-23",
"follower_count": 12482,
"delta": 61,
"follows_credited": 14,
"note": "Growth beyond the clicks we sent is recorded but not credited to followers.bid."
}The cap is the point. You gained 61 followers; followers.bid sent 14 clicks it can still account for, so 14 is all we claim. An honest small number is worth more to you than a big one nobody believes — and it is what makes cost-per-follow on your dashboard mean something.
Route B — per-follow postback
The precise one, if you run tooling that sees new followers as they arrive. Every outbound link we send carries ?followersbid=<token>; if you can capture that token — from your link-in-bio, your landing page, your own redirect — send it back and the follow is tied to that exact click.
curl -X POST https://followers.bid/api/v1/follows \
-H "Authorization: Bearer flb_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"click_token": "7k2mfqx9rt4bnh3vzcd8ye",
"external_id": "follower_8813",
"follower_handle": "somebody",
"occurred_at": 1771459200,
"device_ip": "203.0.113.24",
"country": "IL"
}'| field | required | notes |
|---|---|---|
| click_token | no | Ours, from ?followersbid=. Present → deterministic attribution. |
| external_id | strongly | Your id for this follow. The idempotency key — retry as often as you like, it is counted once. |
| follower_handle | no | Kept on record for dispute resolution. Never shown publicly. |
| occurred_at | no | Unix seconds. Defaults to now. Used for click-to-follow latency. |
| device_ip | no | The follower's IP as your server saw it. Only used for probabilistic matching, stored salted-hashed, never in the clear. |
| country | no | ISO-3166 alpha-2. |
| metadata | no | Free-form JSON kept with the record. |
{
"follow_id": "flw_9Kd2mQ1xTbVr7aFe",
"attribution": "deterministic",
"duplicate": false,
"matched_click": true,
"click_to_follow_seconds": 143,
"counted": true
}Rules we hold ourselves to
- Deterministic window: 7 days. A click token stays valid for a week after the click.
- Probabilistic window: 24 hours, and one click can only ever be claimed by one follow.
- Snapshot growth is capped at the unclaimed clicks we sent since your previous reading, and those clicks are marked used so tomorrow's reading can't count them again.
- No raw IPs. Everything is salted-SHA-256 on arrival. We cannot reverse it and neither can anyone who gets the database.
- We never ask for your password or an Instagram session token, and we don't scrape. If a competitor offers to “connect your account” for follower data, that is your login they want.
A word on honesty
The follow number on your listing counts follows confirmed through these routes — never your account's real growth, which is always higher. We would rather under-report and be trusted than inflate a number nobody believes.