Threads Profile Scraper - Follower Count, Bio, Links & Posts
Pricing
from $1.20 / 1,000 post scrapeds
Threads Profile Scraper - Follower Count, Bio, Links & Posts
Scrape Threads profiles by handle: follower count, bio, bio links, verification, avatar and recent posts with engagement. Track Threads follower counts over time or build creator lists. No login or Meta API token.
Pricing
from $1.20 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
Mayowa Ogedengbe
Maintained by CommunityActor stats
0
Bookmarked
7
Total users
3
Monthly active users
19 minutes ago
Last modified
Categories
Share
Threads Profile Scraper
Scrape Threads (Meta) profiles by handle. Returns follower count, bio, bio links, verification status, profile pictures and recent posts as structured JSON.
No login. No cookies. No account pool.
Sample output (real run, keyword "anthropic")
| Author | Post | Likes | Replies | Reposts |
|---|---|---|---|---|
| @bodylikeseafoam | In case you need another reason to hate AI, OpenAI just scraped... | 11,305 | 182 | 2,049 |
| @novaramedia | An artificial intelligence researcher has quit Anthropic, accusing... | 287 | 17 | 89 |
| @aditijain.ai | Former OpenAI and Anthropic researcher Jacob Coxon, who publicly... | 10 | 1 | 1 |
Every row also carries the post URL, timestamp, language, media, quoted post and the keyword that found it.
Why this one
| This Actor | Official Threads API | Typical Store alternative | |
|---|---|---|---|
| Keyword searches | Unlimited | About 500 per 7 days | Varies |
| Login or Meta token | None | App review + token | Often none |
| Full reply trees with depth | Yes | Limited | Rarely |
| Price per 1,000 posts | $1.80, no start fee | Free, capped | $2.50 to $20, often plus $0.02 per run |
What it costs: 1,000 posts = $1.80. Monitoring 10 brand keywords at 200 posts each = about $3.60 per run.
What you get
One profile record per handle:
| Field | |
|---|---|
| username, fullName | Handle and display name |
| followerCount | Current follower count |
| biography | Bio text |
| bioLinks | Outbound links in the bio, with titles |
| isVerified | Verification status |
| isPrivate | Whether the Threads account is private |
| profilePicUrl, hdProfilePicUrl | Standard and high-resolution avatars |
| id, url | Stable numeric id and canonical profile URL |
Plus, unless you turn it off, that account's recent posts with full text, media, and engagement counts.
Input
Handles are accepted in any form.
{"profiles": ["zuck", "@mosseri", "https://www.threads.com/@threads"],"includeProfilePosts": true,"maxPostsPerProfile": 50,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Running with no input. If you start a run without setting anything, the Actor returns a small live sample so you can see the output shape immediately. Set your own keywords, profiles or post URLs for a real run.
Set includeProfilePosts to false for profile details only. That is faster and cheaper when you are building an account list rather than analysing content.
Output
{"type": "profile","id": "63055343223","username": "zuck","fullName": "Mark Zuckerberg","biography": "Mostly superintelligence and MMA takes","bioLinks": [{ "title": "site", "url": "https://example.com" }],"followerCount": 5731614,"isVerified": true,"isPrivate": false,"profilePicUrl": "https://...","hdProfilePicUrl": "https://...","url": "https://www.threads.com/@zuck","source": "profile","scrapedAt": "2026-09-10T04:31:00.000Z"}
A run that also returns posts mixes two record shapes in one dataset. Filter on type, which is "profile" or "post". Do not filter on source, because a profile's own posts are tagged source: "profile" too.
Post records carry authorUsername as a flat copy of author.username, because spreadsheet and table views cannot read nested paths.
Tracking follower growth
Schedule the Actor with your list of handles and append each run to the same dataset. Every record carries scrapedAt, so you get a follower-count time series per account without any extra work.
Pricing
Pay per result. Profiles and posts are billed as separate events, so a profile-only run never pays for post scraping.
Limits, stated plainly
Post depth. Threads embeds roughly the first page of an account's posts in the page it serves, about 25. Profile fields themselves are complete.
Follower lists are not available. This returns the follower count, not the list of followers. Threads does not expose follower lists publicly.
Proxies. Threads rate-limits single IP addresses quickly. Residential proxies are strongly recommended beyond a handful of requests.
Public data only. A private Threads account returns its profile shell with isPrivate: true and no posts.
Legal and compliance
This Actor reads only public Threads pages, the same ones any logged-out visitor can open. It does not log in and does not bypass an access control.
Profiles contain personal data. If you are in the EU or UK, GDPR applies to what you collect and what you do with it, and having a lawful basis is your responsibility as the data controller. Do not resell profile-level personal data as a lead list without the regional carve-outs that apply to you.
Related Actors
-
Threads Scraper for posts, reply trees, profiles and search in one Actor
-
Threads Keyword Search Scraper for tracking keywords and brand mentions
FAQ
Do I need a Threads or Instagram account?
No. Nothing here authenticates, and there is nowhere to enter credentials.
Can I get a list of an account's followers?
No. Threads does not publish follower lists, so no scraper can return them. You get the count.
What happens with a handle that does not exist?
The run logs a warning for that handle and continues with the rest. It does not fail the whole run.
Does this work with threads.net links?
Yes. Threads moved from threads.net to threads.com, and both forms are accepted, as are bare handles and bare post shortcodes. You do not need to rewrite old links.
How is this different from the official Threads API?
Meta's Threads API needs an app, an access token, and it caps keyword search at roughly 500 queries per rolling seven days. This Actor needs none of that and has no weekly quota, because it reads the same public pages a logged-out visitor sees.
Can I use it from Make, Zapier, n8n or a script?
Yes. Every Apify Actor is callable over the REST API and through Apify's integrations, and results come back as JSON, CSV or Excel.
Does it break when Meta ships an update?
Less often than most. Scrapers that call the internal GraphQL API depend on persisted query ids that Meta rotates without notice. This one reads what Threads server-renders into the page and recognises records by shape rather than by a fixed path.
Use it as an API
Run it from your own code and get the results back in one call. Replace YOUR_TOKEN with your Apify API token.
curl -X POST "https://api.apify.com/v2/acts/headply~threads-profile-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"profiles": ["@zuck"], "maxPostsPerQuery": 100}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run_input = {'profiles': ['@zuck'], 'maxPostsPerQuery': 100}run = client.actor("headply/threads-profile-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
It also works from Make, Zapier, n8n, Google Sheets and as a tool for AI agents through the Apify MCP server.
More data tools from the same developer
- Threads Scraper & API: posts, reply trees, profiles and keyword search from Threads
- Yelp Scraper & API: every business in a city with phones, websites and all reviews
- TikTok & YouTube Transcript API: video to text, even without captions
- Google Trends Scraper & API: hundreds of keywords on one scale, daily history
- Airbnb & Vrbo Scraper: listings, calendars, occupancy and revenue
- Jumia Scraper & API: prices and sellers across 11 African countries