Social & video
Threads Scraper
threads.com
Threads is served through a dedicated plugin endpoint rather than the generic page fetch. Give it a handle - a bare username, an @handle or a full profile URL - and it returns the public profile already parsed: the display name and bio, the follower and thread counts, the avatar, and the profile's recent posts each with its engagement counts. It renders the profile on our own anti-bot fleet and reads only public data, so there is no Meta account, login or cookies involved, and no GraphQL to reverse-engineer yourself.
What you can extract
- Display name, bio and canonical profile URL
- Follower count and total thread count, parsed to numbers
- Profile avatar image URL
- Recent posts with text, post age and a clean URL
- Per-post engagement: likes, comments, reposts and shares
- postsCollected count, bounded by your max_posts
Dedicated endpoints
/social/threads-profile A public Threads profile
A public Threads profile with its recent posts: fullName, bio, followers, threadsCount, avatar and a posts array with likes, comments, reposts and shares. Accepts a handle, an @handle or a profile URL; bound the posts with max_posts.
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/social/threads-profile?username=zuck&max_posts=25"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/social/threads-profile",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"username": "zuck", "max_posts": "25"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const profile = await su.threadsProfile('zuck', {
maxPosts: 25,
});
console.log(profile); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Frequently asked questions
Is it legal to scrape Threads?
Collecting publicly available Threads data such as profile bios, follower counts and post text is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. Some of it can be personal data, so follow the privacy rules that apply to you. ScrapeUnblocker returns the public page; what you collect and how you use it is your responsibility.
How do I scrape Threads without getting blocked?
Threads is protected by in-house anti-bot systems. ScrapeUnblocker renders the profile in a real browser, rotates residential and ISP exits and handles challenges, and the Threads plugin returns it as parsed JSON. In ScrapeUnblocker's benchmark it returned real content on 100% of 1,000 calls, about 2.3s per call.
What Threads data can I get?
The display name, bio and canonical profile URL, follower count and total thread count parsed to numbers, the avatar URL, and the profile's recent posts with text, post age and a clean URL. Each post carries its likes, comments, reposts and shares, and postsCollected tells you how many posts came back, bounded by max_posts.
Do I need a Threads API or a Meta account?
No. The Threads plugin returns public profiles as JSON without a Threads API account, Meta login or cookies. Pass a bare username, an @handle or a full profile URL such as https://www.threads.com/@zuck. Public profiles are read; anything that needs a login is out of scope.
Can I monitor Threads profiles at scale?
Yes. One call returns one profile with its recent posts (max_posts 1 to 100; the profile page carries roughly the newest 10 to 25), and calls run in parallel up to your plan's concurrency limit: 20 to 100 concurrent requests on Pay as you go, Starter and Pro, and 200 to 400 on Business, Scale and Ultimate.
How much does it cost to scrape Threads?
Pricing is per request: 1 request = 1 credit, from EUR 1.00 per 1,000 on pay as you go to about EUR 0.55 per 1,000 on the Ultimate plan. Plugin calls use the same plan quota as any other request. One call returns one profile with its recent posts. Blocks, timeouts and errors on ScrapeUnblocker's side are not billed, and the free trial includes 500 requests with no card.
Related scrapers
Start scraping this site today
Free tier included. No credit card required to test it.