Threads Profile Scraper - Follower Count Tracker & Bio Emails
Pricing
from $1.20 / 1,000 post scrapeds
Threads Profile Scraper - Follower Count Tracker & Bio Emails
Scrape Threads profiles in bulk: follower count, bio, bio links, emails and @mentions in the bio, verification and posts. Schedule it to track follower growth and get only new posts. No login.
Pricing
from $1.20 / 1,000 post scrapeds
Rating
0.0
(0)
Developer
Mayowa Ogedengbe
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Threads Profile Scraper and API: Follower Count Tracker, Bio, Emails and Posts
Scrape Threads (Meta) profiles in bulk by handle. This Threads profile scraper returns follower count, bio, bio links, emails and @mentions found in the bio, verification status, profile pictures, and the account's posts as structured JSON, CSV or Excel.
Put it on a schedule and it becomes a Threads follower tracker: every run reports each account's follower change since the last run and returns only the posts that are new.
No login. No cookies. No account pool.
New: follower change and only new posts since the last run. Turn on monitoring mode and every scheduled run reports each account's follower gain or loss, and returns and bills only posts you have not received before. How it works
Sample output (real run)
| Handle | Display name | Followers | Verified | Bio |
|---|---|---|---|---|
| @zuck | Mark Zuckerberg | 5,731,614 | Yes | Mostly superintelligence and MMA takes |
Each profile record also carries bio links with titles, privacy status, standard and high-resolution profile pictures, the stable numeric id, and the canonical profile URL. Turn on posts to get that account's content with full text, media, and engagement counts.
Why choose this Threads profile scraper
| Feature | This Actor | Official Threads API | Typical Store alternative |
|---|---|---|---|
| Login or Meta token | None | App review plus token | Often none |
| Follower count and full bio | Yes | Yes | Varies |
| Profile posts beyond the first page | Yes | Limited | Rarely |
| Follower change since the last run | Yes, built in | No | Rarely |
| Emails and @mentions pulled from the bio | Yes | No | Rarely |
| Only new posts on scheduled runs | Yes | No | Rarely |
| Thousands of handles in one run | Yes | One at a time | Varies |
| Price per profile | $0.002 | Free, capped | Varies |
| Price per 1,000 posts | $1.80, no start fee | Free, capped | $2.50 to $20 |
What it costs: building a 1,000-account list with details only is about $2. Pulling posts adds $1.80 per 1,000 posts.
What you get
One profile record per handle:
| Field | Description |
|---|---|
username, fullName | Handle and display name |
followerCount | Current follower count |
biography | Bio text |
bioLinks | Outbound links in the bio, with titles |
bioEmails | Email addresses written in the bio or linked with mailto: |
bioMentions | Other accounts the bio tags as @handle: brands, agencies, alt accounts |
previousFollowerCount, followerChange, previousScrapedAt | Monitoring mode: follower count at the last run, the change since, and when that was (null otherwise) |
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 posts with full text, media, and engagement counts, paginated well beyond the first page up to your limit.
Input
Handles are accepted in any form.
{"profiles": ["zuck", "@mosseri", "https://www.threads.com/@threads"],"includeProfilePosts": true,"maxPostsPerProfile": 200,"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 handles 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. Set maxPostsPerProfile to how many posts you want per handle, and the Actor pages through the feed to reach it.
Output
{"type": "profile","id": "63055343223","username": "zuck","fullName": "Mark Zuckerberg","biography": "Mostly superintelligence and MMA takes","bioLinks": [{ "title": "site", "url": "https://example.com" }],"bioEmails": [],"bioMentions": [],"followerCount": 5746614,"previousFollowerCount": 5746613,"followerChange": 1,"previousScrapedAt": "2026-10-02T22:02:56.843Z","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.
Who uses it
- Influencer and creator agencies building Threads creator lists with follower counts and contact emails from bios.
- Brand and social teams tracking competitors' follower growth and new posts week by week.
- Researchers following a fixed panel of accounts over time.
Monitoring mode: only new posts since the last run
Turn on Only new since last run (onlyNewSinceLastRun) and put the Actor on a schedule, hourly or daily. The first run returns everything it finds and remembers it. Every run after that returns only the posts it has not delivered before, so you pay only for what is new and your sheet, Slack channel or pipeline receives only fresh items.
- Follower growth comes free. Each profile record gets
previousFollowerCountandfollowerChangeagainst the previous run, so a daily schedule is a Threads follower tracker with no spreadsheet maths. - Memory is kept per profile, in a key-value store named
threads-monitor-…in your own Apify account. Nobody else can see it. - Running several schedules? Give each one its own Monitor name (
monitorName), one per client or campaign for example, and they keep separate memory. - Every run writes a
SUMMARYrecord to its key-value store with the number of new and skipped items, which suits integrations and AI agents. - To start over, change the monitor name.
{"profiles": ["@zuck", "@mosseri"],"onlyNewSinceLastRun": true,"monitorName": "creator-watchlist"}
Pricing
Pay per result. Profiles and posts are billed as separate events, so a profile-only run never pays for post scraping.
Free Apify plan: runs started on Apify's free plan return up to 10 results per run (profiles and posts together). Any paid Apify plan removes this limit.
Limits, stated plainly
Profile posts. The Actor pages through a profile's posts up to maxPostsPerProfile, well beyond the first page Threads shows. Profile fields themselves are always complete.
Follower lists are not available. This returns the follower count, not the list of followers. Threads does not expose follower lists publicly, so no scraper can return them.
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 more than 25 posts from a profile?
Yes. The Actor follows the profile's post feed page by page up to maxPostsPerProfile, so you can pull hundreds of posts from a single handle. On Apify's free plan a run returns up to 10 results; any paid Apify plan removes this limit.
How do I track a Threads account's follower count over time?
Turn on monitoring mode and schedule the Actor. Each run adds followerChange against the previous run, and every record carries scrapedAt, so appending runs to one dataset gives you a follower-count time series per account.
Is this an official Threads API? No. It is an independent Threads API alternative that reads the public profile pages a logged-out visitor sees, so it needs no Meta app review and no access token.
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. Meta changes Threads often, and many scrapers break with each change. This Actor is engineered to keep working through those changes, so your runs and integrations stay stable.
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"], "maxPostsPerProfile": 100}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run_input = {'profiles': ['@zuck'], 'maxPostsPerProfile': 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 and API: posts, reply trees, profiles, and keyword search from Threads
- TikTok and YouTube Transcript API: video to text, even without captions
- Google Trends Scraper and API: hundreds of keywords on one scale, daily history
- Reddit RSS Feed Replacement: new posts and comments from subreddits, users, and searches since your last run
- Reddit Comments Scraper: full comment threads with replies, depth, and parent IDs
- Reddit Search Scraper: posts by keyword across Reddit or inside subreddits, no API key
- Instagram Highlights Scraper: archive and download story highlights, no login