Threads Profile & Posts Scraper
Pricing
from $0.10 / 1,000 result extracteds
Threads Profile & Posts Scraper
Export public Threads profile metadata, bios, follower counts, avatars, and visible post previews from usernames or profile URLs.
Pricing
from $0.10 / 1,000 result extracteds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
a day ago
Last modified
Share
Scrape public Threads profile metadata and public post previews from Threads profile URLs or usernames.
What does Threads Profile & Posts Scraper do?
Threads Profile & Posts Scraper helps you collect structured data from public Threads profiles. Provide one or more usernames or profile URLs and the actor returns clean rows with profile metadata such as display name, bio, follower count, thread count, avatar URL, profile URL, and scrape timestamp. When Threads exposes public post previews in logged-out HTML, the actor also saves post rows with post URL, post ID, text preview, media URL array, and engagement fields when visible.
Who is it for?
- 🧵 Social media analysts tracking public Threads presence
- 📣 Brand teams monitoring official accounts and creator profiles
- 📰 Journalists researching public profiles and public conversations
- 📊 Growth teams comparing follower counts and profile positioning
- 🤖 Automation builders who need Threads profile data in a dataset, API, or workflow
Why use this actor?
Threads pages are optimized for browsing, not exporting. This actor turns public profile pages into structured data you can download as JSON, CSV, Excel, or access through the Apify API. It accepts simple usernames, supports multiple profiles per run, and includes proxy configuration for reliable production use.
What data can you extract?
| Field | Description |
|---|---|
itemType | profile or post |
profileUrl | Canonical Threads profile URL |
username | Threads username without @ |
displayName | Public profile display name |
bio | Public profile bio text when available |
followerCount | Parsed numeric follower count |
threadCount | Parsed numeric thread count |
avatarUrl | Public avatar image URL |
postId | Post identifier when a post preview is visible |
postUrl | Public post URL when a post preview is visible |
text | Visible post preview text when available |
timestamp | Visible post timestamp when available |
mediaUrls | Visible media URLs when available |
replyCount | Visible reply count when available |
repostCount | Visible repost count when available |
likeCount | Visible like count when available |
isReply | Whether the row appears to be a reply |
isRepost | Whether the row appears to be a repost |
sourceUrl | Final fetched URL |
scrapedAt | ISO timestamp for the scrape |
How much does it cost to scrape Threads profiles?
The actor uses pay-per-event pricing. A small $0.005 start event is charged once per run, and the result event is charged for each saved profile or post row. Formula-validated result pricing starts at $0.00016209 per result for BRONZE users, with lower prices on higher tiers. Keep first runs small by using the prefilled input and a low post limit.
How to use
- Open the actor on Apify.
- Add Threads usernames or profile URLs.
- Choose the maximum number of visible post previews per profile.
- Keep the direct-connection default unless you have a specific proxy requirement.
- Start the run.
- Download the dataset in JSON, CSV, Excel, XML, or HTML.
Input example
{"profileUrlsOrUsernames": ["zuck", "https://www.threads.com/@instagram"],"maxPostsPerProfile": 5,"proxyConfiguration": {"useApifyProxy": false}}
Output example
{"itemType": "profile","profileUrl": "https://www.threads.com/@zuck","username": "zuck","displayName": "Mark Zuckerberg","bio": "Mostly superintelligence and MMA takes.","followerCount": 5600000,"followerCountText": "5.6M Followers","threadCount": 150,"threadCountText": "150 Threads","avatarUrl": "https://...","sourceUrl": "https://www.threads.com/@zuck","scrapedAt": "2026-06-27T21:53:47.678Z"}
Supported profile formats
zuck@zuckhttps://www.threads.com/@zuckhttps://www.threads.net/@zuck
Tips for best results
- Use public profiles only.
- Start with 1-5 profiles while testing your workflow.
- Set
maxPostsPerProfileto0if you only need profile metadata. - Use stable profile URLs for recurring monitoring.
- Expect Threads to expose different fields for different public pages.
Limits and caveats
Threads controls what is visible to logged-out visitors. Some pages expose only profile metadata, while others may expose post previews. Private, missing, age-restricted, login-gated, or temporarily blocked profiles may return no rows. Engagement counts and timestamps are saved only when visible in public page data.
Integrations
Use the actor with:
- Google Sheets exports for profile tracking
- Make or Zapier automations through Apify webhooks
- BI dashboards that ingest Apify datasets
- CRM enrichment workflows for public creator lists
- Scheduled Apify tasks for recurring monitoring
API usage with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/threads-profile-posts-scraper').call({profileUrlsOrUsernames: ['zuck'],maxPostsPerProfile: 5,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/threads-profile-posts-scraper').call(run_input={'profileUrlsOrUsernames': ['zuck'],'maxPostsPerProfile': 5,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API usage with cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~threads-profile-posts-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"profileUrlsOrUsernames":["zuck"],"maxPostsPerProfile":5}'
MCP usage
Connect Apify MCP to tools that support Model Context Protocol and enable this actor with:
https://mcp.apify.com/?tools=fetch_cat/threads-profile-posts-scraper
Claude Code setup:
$claude mcp add apify "https://mcp.apify.com/?tools=fetch_cat/threads-profile-posts-scraper"
MCP server JSON configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com/?tools=fetch_cat/threads-profile-posts-scraper"}}}
Example prompts:
- "Scrape the public Threads profile for @zuck and summarize the bio and follower count."
- "Compare these Threads public profiles and return a table of follower counts."
- "Run the Threads Profile & Posts Scraper weekly and flag large follower changes."
Scheduling
Create an Apify task with your target usernames and schedule it daily, weekly, or monthly. Scheduled runs are useful for monitoring profile changes over time.
Proxy configuration
The default input uses direct requests to avoid unnecessary proxy cost. If you experience blocks on larger jobs, enable Apify Proxy in the proxy editor and choose a proxy group available in your account.
Data quality
The actor normalizes usernames, canonicalizes Threads URLs to threads.com, parses abbreviated counts such as 5.6M, and adds scrapedAt timestamps so you can track when the data was collected.
FAQ
Why did a profile produce no rows?
The profile may be private, missing, renamed, temporarily unavailable, or redirected to login. Check the profile in a logged-out browser and verify that it is public.
Why are post fields empty?
Threads may not expose post timelines to logged-out visitors for that profile. The actor saves post fields only when public post previews are visible.
Why do counts differ from the app?
Threads may round counts in public metadata and may update app counters faster than public web metadata.
Legality
Only scrape public data you are allowed to access. Respect Threads terms, privacy rights, applicable laws, and reasonable rate limits. Do not use scraped data for spam, harassment, discrimination, or sensitive profiling.
Related scrapers
Explore related actors and scrapers by fetch_cat:
- TikTok Video Scraper — collect public TikTok video metadata for social content monitoring.
- TikTok Comments Scraper — export public TikTok comment threads for engagement analysis.
- TikTok Ads Library Scraper — research public TikTok ad creatives and advertiser activity.
- Reddit Scraper — monitor public Reddit posts and discussions by community or query.
- Instagram Stories & Highlights Scraper — collect public Instagram story/highlight data when available.
Changelog
-
2026-07-08 (APIA-1458, change) — Updated the default Threads profile input to use Residential proxy so profile examples return results reliably.
-
Initial version: public profile metadata, visible post preview extraction, username and URL inputs, proxy support.
Support
If you need a field that is publicly visible but not returned, open an issue with a sample public profile URL and the field you expected.