Threads Scraper - Posts, Profiles & Search
Pricing
from $2.50 / 1,000 results
Threads Scraper - Posts, Profiles & Search
Search recent Meta Threads posts by keyword, collect public profile posts up to your selected limit, or find profiles by keyword. No login required. Export posts, available public view metrics, media, engagement metrics, and user data.
Pricing
from $2.50 / 1,000 results
Rating
3.7
(15)
Developer
Rush
Maintained by CommunityActor stats
42
Bookmarked
3.3K
Total users
817
Monthly active users
4.8 days
Issues response
a day ago
Last modified
Categories
Share
Search public Meta Threads posts by keyword, collect public profile posts up to your selected limit, or find profiles by keyword. No login required. Export posts, available public view metrics, media, engagement metrics, and public profile data.
Note: Threads can change what it shows publicly. Start with a small sample for a new account or keyword, then scale once the output matches your needs.
What You Can Do With It
- Social Media Monitoring: track brand mentions, topics, and campaigns as they appear
- Brand Mention Monitoring: watch a brand or product term and see fresh public posts
- Competitor Analysis: compare public engagement across competitor accounts and posts
- Influencer Discovery: find creators by keyword or niche, with public follower counts
- Lead Generation: build account and prospect lists from public profile information
- Trend & Content Analysis: collect posts on a topic, hashtag, or campaign for downstream analysis
- Market Research: gather public posts on a product or category to read the conversation
- Date-bounded Research: narrow a search to a recent window for time-sensitive work
Choose Your Workflow
| Goal | Use this mode | What you enter |
|---|---|---|
| Collect posts from one or more accounts | user | Threads usernames or profile URLs |
| Search public posts by topic | search | Keywords or hashtags |
| Discover account matches by keyword | profiles | Keywords, niches, or local phrases |
| Monitor fresh public mentions | search + recent | Brand, topic, or competitor keywords |
| Research a recent time window | search + date filters | Keyword plus start/end date |
Ready-Made Examples
Each one is a pre-configured run you can start in a click and then edit. Browse them all on the Examples tab.
| Example | What you get |
|---|---|
| See which of your Threads posts perform best | Your posts with views, likes, replies and timestamps, ready to sort |
| Find competitors' best-performing Threads posts | Several competitor accounts side by side in one export |
| Turn a Threads account into an AI knowledge base | Clean structured text with timestamps for a RAG pipeline |
| Audit a brand's most relevant Threads mentions | Brand mentions with reach and a real-mention flag |
| Find creators posting about your niche | Accounts with followers, bio and profile links |
| See what people said about a product this week | The last 7 days of posts, newest first |
| Look up Threads accounts matching a keyword | A quick account shortlist with follower counts |
How To Use
Input Configuration
| Parameter | Type | Description | Example |
|---|---|---|---|
mode | string | Scraping mode: user, search, or profiles | "user" |
usernames | array | Target usernames (for user mode, max 20). Accepts bare name, with @, or full Threads URL. | ["zuck", "@nike", "https://threads.com/@meta"] |
keywords | array | Keywords or hashtags (for search & profiles modes, max 20) | ["AI", "tech"] |
search_filter | string | Search mode only. top shows Threads-ranked relevant results. recent shows newest matching public posts first; some older related posts may still appear. | "top" |
start_date | string | Search mode only. Show posts from this date onward (YYYY-MM-DD or "7 days"). Best for recent windows. | "7 days" |
end_date | string | Search mode only. Show posts up to this date (inclusive). | "1 day" |
max_posts | number | Results per user or search keyword. In User Posts, high limits need enough public posts on that account. In Search, this is a cap and available public results may be lower. Find Profiles returns up to 10 account matches per keyword and this setting does not raise that cap. | 50 |
Note: Date options and sort order are only for Search mode. If you use date filters in User Posts or Find Profiles, the run will stop and show a clear reminder.
Mode 1: Scrape User Posts (with Profile Data)
Extract posts and available public profile information from a specific user:
{"mode": "user","usernames": ["zuck"],"max_posts": 50}
Optional: flag a user's posts by keyword
Add keywords in User Posts mode to flag which returned posts are textually relevant to your terms. Posts are not removed; each row gets a keyword_match value you can filter later.
{"mode": "user","usernames": ["zuck"],"keywords": ["AI"],"max_posts": 100}
Batch Scraping Multiple Users
Scrape posts from multiple users in one run (up to 20 usernames):
{"mode": "user","usernames": ["zuck", "instagram", "nike"],"max_posts": 50}
This returns:
- Available public bio and follower count
- Contact information extracted from bio (emails, phones, links)
- Recent public posts with engagement metrics when publicly available (likes, replies, reposts, shares, views)
- Profile verification status
- Media attachments
- Mentions and hashtags
Mode 2: Search Posts by Keyword or Hashtag
Find public posts about a keyword or hashtag. Result volume depends on what Threads shows publicly for that term at run time.
Tip: Include or omit the
#: bothAIand#AIwork. Very specific or cross-language phrases may return fewer public results,.
Understanding Search Filters
| Filter | Best For | What You Get |
|---|---|---|
Top (top) | Discovering notable content | The posts Threads surfaces as most relevant for that term. Row order is not a popularity ranking. |
Recent (recent) | Monitoring new activity | Newest matching public posts first; some older related posts may still appear |
Top Results
{"mode": "search","keywords": ["artificial intelligence", "#startup"],"search_filter": "top","max_posts": 50}
Recent Posts
{"mode": "search","keywords": ["AI"],"search_filter": "recent","max_posts": 50}
Mode 3: Find Profiles (Discover Account Matches by Keyword)
Discover public Threads account matches for a keyword. Each keyword can return up to 10 accounts with public profile fields such as follower count, bio when present, links, and extracted contacts. Some keywords may return fewer than 10. Use related keywords to discover more accounts.
{"mode": "profiles","keywords": ["coffee roaster", "specialty coffee"],"max_posts": 10}
Output rows are account profiles (not posts), with key fields such as username, display_name, bio, followers_count, is_verified, profile_url, external_links, emails, phones, and search_keyword. Empty bio/contact fields can mean the account did not publish that information.
Every row includes record_type: post for User Posts/Search rows and profile for Find Profiles rows.
Local search tip: For local account discovery, include the place name in the keyword (e.g.
ε°ε ι€ε»³rather than onlyι€ε»³).
Periodic Topic Monitoring
If you want to monitor keywords on a schedule (for lead generation, brand-mention tracking, or competitor monitoring), pair mode: "search" with search_filter: "recent" and run the actor automatically:
{"mode": "search","keywords": ["YOUR_KEYWORD_1", "YOUR_KEYWORD_2"],"search_filter": "recent","max_posts": 30}
Suggested workflow
- Schedule the actor: Use Apify Schedules to trigger regular runs.
- Review each run's dataset: every post includes a unique identifier and timestamp.
- Handle your own downstream workflow:
- Deduplicate against your existing records using each post's unique identifier
- Optionally filter by post timestamp to keep entries within your time window
- Trigger your own notifications or follow-up workflow
- Append new entries to your workspace or spreadsheet
Tips
- Each run returns a finite batch of matching public posts. For high-volume keywords, review the returned timestamps and adjust your schedule to match your monitoring needs.
- The actor does not perform cross-run deduplication, which is intentional, so you keep full control over data retention and storage.
Date Filtering (Search Mode Only)
Narrow search results to a recent date window. Because this Actor runs without logging in, it works with the recent public posts Threads currently surfaces for a term and keeps only those inside your date range. It is best for recent windows (for example the last 7 or 30 days) and cannot reach older historical posts that Threads no longer shows publicly without login. Both relative dates ("7 days") and absolute dates (YYYY-MM-DD) are accepted. Date filters apply to Search mode only. Using them in other modes stops the run with a clear reminder.
{"mode": "search","keywords": ["AI"],"search_filter": "recent","start_date": "7 days","max_posts": 50}
Output Format
Viewing Your Data
Use the field-focused dataset views to inspect posts, profiles, engagement fields, or contact fields. Some views are most useful for specific modes. Switch to "All fields" when you need the complete record.
- π§΅ Posts: post content, dates, media, author, and search fields
- π Engagement: likes, replies, reposts, shares, views, and analysis flags
- π₯ Profiles: accounts found in Find Profiles mode
- π Contacts: public profile links and contact fields
Complete Post Record Example
Each post is saved as a separate record. Below is an illustrative example of the fields from user mode. The account, URL, text, dates, and numbers are fictional placeholders.
{"record_type": "post","post_url": "https://www.threads.com/@example_creator/post/EXAMPLE01","post_code": "EXAMPLE01","text_content": "Launching a new research note today...","created_at": "2026-01-12T18:00:30+00:00","created_at_display": "2026-01-12 18:00 UTC","created_at_timestamp": 1768240830,"like_count": 268,"reply_count": 81,"repost_count": 12,"quote_count": 4,"share_count": 22,"view_count": 41651,"view_count_status": "available","has_media": false,"media_type": "text","media_url": "","media_urls": [],"media_width": null,"media_height": null,"has_audio": null,"is_ai_generated": false,"is_gif": false,"is_sticker_post": false,"sticker_count": 0,"sticker_ids": [],"sticker_urls": [],"hashtags": [],"mentions": [],"urls": [],"is_pinned": false,"is_edited": false,"is_paid_partnership": false,"accessibility_caption": "","is_reply": false,"reply_to_username": "","reply_control": "everyone","is_quote_post": false,"quoted_post_url": "","is_repost": false,"reposted_post_url": "","is_spoiler": false,"language": "","topic_tag": "","location_name": "","location_id": "","link_title": "","mentioned_users": ["example_partner"],"mentioned_accounts": [{ "username": "example_partner", "user_id": "10000000002" }],"scraped_at": "2026-04-25T10:00:00+00:00","username": "example_creator","user_id": "10000000001","display_name": "Example Creator","profile_url": "https://www.threads.com/@example_creator","is_verified": true,"followers_count": 54000,"bio": "Research notes and product updates","profile_pic_url": "https://...","profile_pic_hd_url": "https://...","fediverse_enabled": true,"external_links": ["https://example.com"],"emails": [],"phones": [],"bio_links": [],"profile_tags": ["AI", "Tech"],"podcast_name": "","podcast_url": "","podcast_platform": "","search_filter": null,"search_keyword": null,"keyword_match": null}
In User Posts mode,
search_keyword,search_filter, andkeyword_matchare always present so the columns line up with Search mode.search_filterstaysnull(it applies only to Search);search_keywordandkeyword_matcharenullunless you supplykeywordsto tag matching posts.
What To Expect
Result availability
- Result volume depends on how much public content exists for your query, so different modes and queries return different amounts.
- If a run looks lighter than expected, check Run Results, then broaden the query or switch the sort order.
- In a batch run, one username or keyword can fail while others still save results. Run Results lists which entries failed and why, so you know what to retry.
Working without a login
This actor reads only what Threads shows publicly, so niche or uncommon keywords can return very few results β or none β even when you can see those posts while logged in. A genuine no-public-results run finishes as SUCCEEDED with a clear status message; if something goes wrong instead, the run is reported as failed or partial, never as an empty result.
If you need content that is visible only inside your own logged-in account, this is not the right tool.
FAQ
Q: What engagement metrics can I get?
A: The scraper extracts likes, replies, reposts, quotes, shares, and views when publicly available. On some posts, share_count and view_count can be null. view_count_status tells you which of three things happened: available (a number was read, including 0), not_public_yet (the post is too recent for a view count to exist yet), or not_checked (the count was not read on this run β run it again to pick it up). In Run Results, view_counts_missing counts delivered post rows without a view count, and view_counts_not_public_yet reports how many of those are simply too recent.
Q: How does contact information extraction work? A: Contact fields depend on the public bio text and profile links. The actor does not read text inside images or on linked pages.
Q: Is there an identifier I can join on besides the username?
A: Yes. Every post author and every profile record carries user_id next to username. A username is the account's handle; user_id is a separate identifier assigned by the platform and is not derived from it. Across our runs the same account returns the same user_id in User Posts, Search and Find Profiles alike, so it is the field to join on when a handle alone would be ambiguous. When it could not be resolved for a record it is null, never an empty string, so it is always clear which case you are looking at.
Q: How do I see the complete field set?
A: In the Apify console, switch to "All fields". You will see the complete record fields, including fields that may be null for some records.
Q: Does it support batch scraping of multiple users or keywords? A: Yes. You can enter up to 20 usernames or 20 keywords in one run. Results are combined into the same dataset.
Q: Can I tell which posts are sponsored / paid partnerships?
A: Every post includes an is_paid_partnership field. true means a paid-partnership or branded-content signal is publicly shown for that row. false means that signal was not present in the public data returned for that row.
Q: Can I see quote posts and reposts, and the original they reference?
A: Yes, when that relationship is present in the returned public data. is_quote_post + quoted_post_url mark quotes; is_repost + reposted_post_url mark reposts.
Q: Can I distinguish top-level posts from replies?
A: Yes, when reply context is present in the returned public data. is_reply marks replies, reply_to_username shows who is being replied to, and reply_control reflects the reply-audience setting when available.
Q: What about image alt text and media size?
A: When available, accessibility_caption contains an image description; otherwise it is an empty string (""). media_width and media_height contain the available media dimensions in pixels and are null when not available (for example text-only posts).
Q: Can I tell whether a post has a public AI-content label or whether a video has sound?
A: is_ai_generated is true when the post carries an AI-content label, false when the checked public post has no such label, and null when it cannot be determined. has_audio is true/false for checked video posts and null for non-video posts or unavailable detail.
Q: Is there a Fediverse / ActivityPub signal?
A: Yes. fediverse_enabled is true when a Fediverse sharing indicator is publicly shown on the profile; otherwise it is false or null, depending on whether profile details were available for that row.
Q: Do I need to choose between hashtag and full-text search?
A: No. Enter your keyword with or without #, then pick a top or recent sort order. Results depend on what Threads makes publicly available.
Q: How does Find Profiles work, and how many accounts can it return?
A: Find Profiles (mode: "profiles") returns up to 10 public account matches per keyword with profile fields such as follower count, bio when present, links, and contacts. Some keywords may return fewer than 10. To reach more accounts, use several related keywords.
Q: How can I find local accounts?
A: Put the place name directly in the keyword (e.g. ε°ε ι€ε»³) so the search phrase is what the matching is based on. Geo-targeting is not supported.
Q: Why do search results seem unrelated to the keyword?
A: Threads search ranking is not strict keyword-only matching. Results can include broadly related content and sometimes unrelated content. Use keyword_match as a text-relevance aid in downstream filtering; it is not an exact-match guarantee.
Q: Why do I get fewer results than my max_posts limit? A: The result count reflects how much public content actually exists for your query, and that genuinely varies by keyword, account, and date range. Some queries simply have few or even no public posts, so a small or empty result can be the real, complete answer rather than an error. Re-running will not surface posts that are not publicly there. If you consistently expect more, try a broader or more active keyword, or widen the date range.
Q: Why are bio or followers_count sometimes empty in Search mode? A: Some accounts expose limited public profile fields in search results. When a field is not publicly available for that account at run time, it may be empty.
Explore Threads Workflows
- Threads Scraper - Posts, Profiles & Search: collect public posts, search keywords, discover profiles, and export account data.
- Threads Replies Scraper: collect public replies and comments for conversation analysis.
- Threads User Reposts Scraper: collect the posts an account reshared, with the original author and engagement.
- Threads ζ΅·ε·‘ - θ²ΌζγεδΊΊζͺζ‘θιι΅εζε°: the Traditional Chinese edition of this Actor, with a zh-TW interface and output labels.
Disclaimer
This Actor is provided for research and educational purposes. You are solely responsible for how you use it and for ensuring that your use of the Actor and any data it returns complies with all laws and regulations applicable to you. Data availability, completeness, and accuracy may vary over time and between runs. The developers accept no liability for how this tool or the data it returns is used.
Keywords: Threads scraper, Threads search scraper, Threads data scraper, Meta Threads scraper, Threads post extractor, Threads profile scraper, Threads hashtag search, Threads keyword search, Threads search without login, Threads data extraction, export Threads posts, download Threads data, Threads exporter, Threads posts, Threads engagement metrics, follower count scraper, Threads bio email extractor, Threads account finder, influencer discovery, Threads influencer research, social media scraper, social media monitoring, brand monitoring, competitor analysis, competitor intelligence, trend research, content research tool, social listening tool, market research, Instagram Threads, public Threads data, Threads automation, Threads search, OpenClaw, Claude Code, Gemini CLI, Antigravity, Codex, ChatGPT