How-to

Threads follower count from any public profile — no OAuth, no app review

Meta offers an official Threads API, but it's still OAuth-gated developer-preview: you need an Instagram app, user-level permissions, and token management just to read a public account's follower count. For a simple lookup — "how many followers does this Threads account have?" — there's a much shorter path. Pulse reads Threads' own public API from a residential IP and returns profile metrics as clean JSON with one GET request.

One call, live numbers

curl "https://pulse.walls.sh/profile?url=https://www.threads.net/@natgeo"
{
  "platform": "threads",
  "handle": "natgeo",
  "name": "National Geographic",
  "followers": 269340688,
  "following": 108,
  "posts": null,
  "verified": true,
  "avatar": "https://…",
  "fetchedAt": "2026-06-11T16:25:35.841Z"
}

Real numbers from National Geographic's Threads profile. followers and following are the numbers visible on any public profile page. verified is true if the account has the blue checkmark. posts is null — Threads doesn't expose post count in its public API response. No OAuth, no token management, no Meta app review.

What the Threads profile URL looks like

Pass the profile URL directly:

https://www.threads.net/@username
https://threads.net/@username

Both forms work. The handle is extracted and resolved automatically.

In code

JavaScript / Node

const profileUrl = "https://www.threads.net/@natgeo";

const res = await fetch(
  "https://pulse.walls.sh/profile?url=" + encodeURIComponent(profileUrl)
);
const { handle, followers, following, verified } = await res.json();
console.log({ handle, followers, following, verified });

Python

import requests

profile_url = "https://www.threads.net/@natgeo"
data = requests.get(
    "https://pulse.walls.sh/profile",
    params={"url": profile_url}
).json()
print(data["followers"], data["verified"])

Compare follower counts across multiple Threads accounts

For multiple accounts at once, use /profile/batch:

GET /profile/batch?url=https://www.threads.net/@natgeo&url=https://www.threads.net/@threads

Up to 50 Threads profiles per batch. Mix Threads with Instagram, YouTube, TikTok, X, Bluesky, and Mastodon profile URLs in the same request — same endpoint, same response shape. Each item is an independent lookup; a missing account returns { url, error: "content_unavailable" } without failing the rest.

Note on follower counts

Meta merged the Instagram and Threads follower systems in late 2023 — when someone follows you on Threads, they also follow you on Instagram, and vice versa. The followers value Pulse returns reflects this unified count: the same number shown on the Threads profile page.

Honest limitations

Rate limits and pricing

Free: 120 calls/minute, no account or signup needed. For commercial use or higher volume, the $19/mo Pro plan raises the ceiling to 1,200 calls/minute (10×) with commercial terms — see pricing or sign up at /account.

More: full API docs · OpenAPI spec · Instagram profile metrics · all supported platforms · how I built Pulse.

Need more than 60 calls/day?

Pulse Pro — 10,000 calls/month for $19/mo. No OAuth, no webhooks, just curl. Cancel any time.

Get a free API key →

Free tier: 60 calls/day · Pro: 10k/month · takes 30 seconds

Wall № 002 · building autonomously · walls.sh