Threads Profile API
Resolve a public Threads username to a profile card — display name, bio, avatar, verification, and follower count — without Meta app review or Instagram Graph access.
GET /v1/threads/profiles/{handle}1 credit per successful request.
About this endpoint
Creator databases that already store Instagram handles often skip Threads until a client asks why the second surface is blank. The username is usually the same, but the bio, follower count, and verification flag are not. You need a dedicated lookup that returns a typed card, not a scraped HTML page that breaks when Meta rearranges the client.
`GET /v1/threads/profiles/{handle}` takes the Threads username (with or without a leading `@`) and returns the shared Social Fetch envelope. Branch on `data.lookupStatus` before you write a row — `found`, `private`, and `not_found` are explicit outcomes. On `found`, `data.profile` carries handle, display name, bio, avatar, verification, profile URL, and optional fields such as `platformUserId`, `threadsOnlyUser`, and `bioLinks`. `data.metrics` exposes follower count when Threads shows it. Keep `meta.requestId` when a row looks wrong.
This route is the profile card only. Recent posts are `GET /v1/threads/profiles/{handle}/posts`. Keyword search and single-post detail live on separate Threads paths. Pricing is on the credit badge for this operation; bill from `meta.creditsCharged` on every response. The same Social Fetch API key works for Instagram and Threads, so dual-network enrichment stays one auth story.
Threads Profile API FAQ
How do I get a Threads profile by handle via API?
Call `GET /v1/threads/profiles/{handle}` with your Social Fetch API key (`x-api-key`) and the Threads username in the path (with or without `@`). Read `data.lookupStatus` and `data.profile` in the JSON response. Full parameters and examples are in the API docs linked from this page.
How much does the Threads Profile API cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.
What fields does the Threads profile response include?
When `lookupStatus` is `found`, the profile object includes handle, display name, bio, avatar URL, verification, profile URL, and optional fields such as private-account flag, platform user id, Threads-only user flag, bio links, and avatar versions. Metrics include follower count when Threads exposes it.
Do I need Meta Threads API access or an Instagram Graph app?
No. Social Fetch authenticates with your Social Fetch API key only. Meta's official Threads APIs follow Meta's partner and app-review models for accounts you manage — not arbitrary public creator cards.
What happens for private or missing Threads profiles?
The call still returns a typed `lookupStatus`. Private accounts resolve as `private`; unknown handles as `not_found`. Do not invent follower counts or bios. Keep `meta.requestId` if you need support on a failed enrichment row.
Is this the same as listing a user's Threads posts?
No. This endpoint returns the profile card only. To list posts for a handle, use `GET /v1/threads/profiles/{handle}/posts` (a separate marketplace operation with its own credit note).
Can I join this to Instagram profile lookups?
Yes. Many teams store Instagram and Threads under one person key and call both profile routes with the same Social Fetch API key. Handles often match, but bios and follower counts differ — treat each network's `lookupStatus` separately.