followers.bid

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.

Verify your key
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.

POST /api/v1/snapshots
curl -X POST https://followers.bid/api/v1/snapshots \
  -H "Authorization: Bearer flb_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"follower_count": 12482}'
200 OK
{
  "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.

POST /api/v1/follows
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"
  }'
fieldrequirednotes
click_tokennoOurs, from ?followersbid=. Present → deterministic attribution.
external_idstronglyYour id for this follow. The idempotency key — retry as often as you like, it is counted once.
follower_handlenoKept on record for dispute resolution. Never shown publicly.
occurred_atnoUnix seconds. Defaults to now. Used for click-to-follow latency.
device_ipnoThe follower's IP as your server saw it. Only used for probabilistic matching, stored salted-hashed, never in the clear.
countrynoISO-3166 alpha-2.
metadatanoFree-form JSON kept with the record.
201 Created
{
  "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.

Follow tracking · followers.bid