sfoln/threads-profile-lookup · Social media, Lead generation, Automation On request
Scrape public Threads profiles by handle or URL with no login: user ID, full name, bio, follower count, verified and private flags, profile picture and bio links, one JSON record per profile. $4 per 1,000 profiles; unknown handles are free unless the provider billed the lookup.
Threads Profile Scraper looks up public Threads profiles in bulk and returns one normalized record per profile: handle, user ID, profile URL, full name, bio, follower count, verified / private / Threads-only flags, HD profile picture and bio links. It's built for influencer discovery, social listening, lead enrichment and AI agents.
Price
Price per delivered record
Event
Price
Per 1,000
Charged for
Threads profile threads-profile-looked-up
$0.004
$4 / 1,000
Charged once per Threads profile whose data was returned. Profiles that do not exist and failed requests are not charged, unless the provider billed the lookup.
Apify free plan: up to 10 items per run. Paid plans have no per-run cap; set maxTotalChargeUsd to cap spend.
Run
Call it from code, an agent or the Console
This API is private on Apify for now. Email us and we will publish it for you, usually within two working days. The calls below work once it is public. contact@sfoln.com
POST https://api.apify.com/v2/actors/sfoln~threads-profile-lookup/runs?maxTotalChargeUsd=1
GET https://api.apify.com/v2/actor-runs/{runId} # until status is SUCCEEDED
GET https://api.apify.com/v2/datasets/{defaultDatasetId}/items?format=json
Authenticate with an Apify API token. MCP clients can instead sign in with OAuth when prompted. Example prompt for an agent: Look up the Threads profiles of zuck and mosseri and compare their follower counts, bios and bio links.
Input
Input fields
Paste Threads handles or profile URLs, one per line. Each profile produces one dataset record.
Field
Type
Default
Meaning
handles *
array
required
Threads profiles Handles (with or without @) or profile URLs such as https://www.threads.com/@zuck. Duplicates are removed. Accounts on the Apify free plan can process up to 10 profiles per run.
cacheMaxAge
string
"off"
Accept cached results Allow results the data source fetched within this window instead of a live fetch. Faster; follower counts may be up to N days old when enabled. Price is the same. Default: off (always live). One of "off", "1d", "7d", "30d".
maxProfiles
integer
1000
Max profiles Safety cap on the number of profiles processed in this run. Range 1–10000.
concurrency
integer
4
Concurrency How many profiles are fetched in parallel (1–8). Range 1–8.
includeRaw
boolean
false
Include raw upstream response Attach the unmodified provider payload to each record.
Example input
{
"handles": [
"zuck"
]
}
Output
One record per input item
Records land in the run's dataset; a synchronous call returns them directly. Each has a status (ok is charged; everything else is free) and a charged flag. The run's OUTPUT record totals items and charges.
Field
Type
Meaning
input
string | object
Input The handle or profile URL as provided.
handle
string | null
Handle
userId
string | null
User ID
profileUrl
string | null
Profile URL
fullName
string | null
Full name
bio
string | null
Bio
followers
number | null
Followers
isVerified
boolean | null
Verified
isPrivate
boolean | null
Private
isThreadsOnlyUser
boolean | null
Threads-only user
profilePicUrl
string | null
Profile picture
links
array
Bio links
cached
boolean
Cached
status
string
Status ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan e.g. "ok"