🧵 Threads Search Post Scraper avatar

🧵 Threads Search Post Scraper

Pricing

from $4.99 / 1,000 results

Go to Apify Store
🧵 Threads Search Post Scraper

🧵 Threads Search Post Scraper

Threads Search Post Scraper extracts posts from Threads search results based on keywords, hashtags, or topics. Collect post text, usernames, profile links, timestamps, likes, replies, and other public data in structured output. Great for trend tracking, research, and monitoring conversations.

Pricing

from $4.99 / 1,000 results

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

4

Monthly active users

11 days ago

Last modified

Share

🧵 Threads Search Post Scraper

🧵 Threads Search Post Scraper is a production-ready Threads data scraping tool that extracts flat, structured “post + replies” objects from public Threads search results and post pages. It solves the pain of manual copy-paste by turning keywords, hashtags, or post links into clean JSON you can analyze or export. Built for marketers, developers, data analysts, and researchers, this Meta Threads search scraper runs at scale and returns consistent fields for trend tracking, conversation monitoring, and analytics.

What data / output can you get?

Below are representative fields this Threads posts extractor saves to your Apify dataset. Results are normalized into flat post objects with consistent keys, letting you export as JSON, CSV, or Excel via the Apify platform.

Data typeDescriptionExample value
post_urlCanonical Threads URL composed from username and codehttps://www.threads.com/@zuck/post/AbCdEfGhIjK
pkPost primary key (numeric string)"123456789012345"
codePost code (used in URLs)"AbCdEfGhIjK"
captionPost caption object or string (normalized for preview){"text":"Big launch today…"}
like_countNumber of likes on the post1542
taken_atTimestamp of post creation (epoch or string)1713446400
userAuthor object with stable structure (id, pk, username, etc.){"username":"zuck","is_verified":true,…}
text_post_app_infoText-post metadata including share_info, text_fragments, reply flags{"share_info":{"can_quote_post":true}, …}
image_versions2Image renditions for media posts (if present){"candidates":[…]}
video_versionsVideo renditions for media posts (if present)[{"type":101,"url":"…"}]
media_typeMedia type indicator (image/video/text)1
has_likedWhether the current (logged-out) flow infers a like by viewerfalse
canonical_urlCanonical content URL if provided by API"https://www.threads.net/…"

Bonus: You’ll also get structured metadata such as accessibility_caption, usertags, sharing_friction_info, gen_ai_detection_method, and more — ideal for analytics and downstream pipelines.

Key features

  • 🔎 Public search + post resolution
    Resolves targets from Threads search phrases, hashtags, numeric post IDs, or direct post URLs, then fetches the replies connection for that root post. Perfect for a Threads search results scraper or Threads hashtag scraper workflow.

  • 🧱 Flat, normalized post objects
    Outputs the same flattened shape as the dedicated extractor module, making this a reliable Threads post scraper and Threads data extractor for analytics-ready pipelines.

  • 🌐 Tiered proxy escalation (built-in)
    Starts with no proxy, escalates to SHADER (datacenter), then RESIDENTIAL if needed, and retries up to 3 times on residential. Great for robust Threads API scraping without manual tweaks.

  • 🗂️ Batch input for scale
    Feed multiple targets at once (links, IDs, or phrases). This makes it a practical Threads keyword search scraper for large monitoring jobs.

  • 🔒 No login required
    Discovers GraphQL credentials from the public Threads search page and uses a logged-out request flow. No cookies or session management required.

  • 🧰 Developer-friendly
    Access results via Apify Dataset API and export to CSV, JSON, or Excel. Integrate with your existing Threads scraping Python or Node.js workflows through the Apify API.

  • 🧪 Sensible defaults
    Uses serp_type=default, sort_order=TOP for replies, and feed_index=0 internally — consistent, predictable behavior for repeat runs.

  • 🧱 Production-ready on Apify
    Built on Apify infrastructure with clear logging and incremental row saves, so your Instagram Threads scraper workflows stay reliable at scale.

How to use 🧵 Threads Search Post Scraper - step by step

  1. Create or log in to your Apify account.
  2. Open the actor and locate the “Input” section.
  3. Add your targets to urls:
    • Full post URLs on threads.com or threads.net
    • Numeric post IDs (10+ digits)
    • Search phrases (e.g., “Mark Zuckerberg”) — the first thread from that search’s HTML is used to fetch replies.
  4. (Optional) Configure proxyConfiguration if you want Apify Proxy. The run automatically escalates: no proxy → SHADER → RESIDENTIAL (with up to 3 retries on residential).
  5. Click Start. Watch logs for steps like “Locating thread…”, “Downloading replies…”, and “Parsed X item(s)”.
  6. When finished, open the dataset to preview posts at a glance (post_url, pk, code, caption, like_count, taken_at, user).
  7. Export your data as JSON, CSV, or Excel, or fetch it via the Apify Dataset API.

Pro tip: Chain this Threads data scraping tool with your analytics pipeline. Pull JSON via API into your data warehouse, or wire it into dashboards for real-time trend tracking.

Use cases

Use case nameDescription
Social listening & trend analysisMonitor keywords or hashtags to quantify engagement and surface top replies for research and reporting.
Brand & campaign trackingTrack conversation threads around brand terms to measure sentiment and community reactions over time.
Competitor watchCapture replies on competitor announcements to analyze audience response and benchmark content performance.
Academic & media researchCollect structured, public replies for qualitative and quantitative studies on platform discourse.
Product feedback miningExtract replies to product posts to categorize feedback, ideas, and common pain points.
API pipeline for analyticsFeed normalized JSON into your ETL/ELT stack using the Apify API for downstream BI and ML workflows.

Why choose 🧵 Threads Search Post Scraper?

This focused Threads posts extractor is built for precision, automation, and reliability on public data.

  • ✅ Accurate normalization: Consistent, flat post objects ready for analysis.
  • 🔄 Robust connectivity: Automatic tiered proxy escalation with up to 3 residential retries.
  • 🧪 No login required: Uses public Threads search for credential discovery.
  • 📦 Batch-friendly: Handle multiple URLs, IDs, or search phrases in a single run.
  • 🔗 Easy exports & API: Download CSV/JSON/Excel or fetch via the Apify Dataset API.
  • 🧑‍💻 Developer-ready: Fits seamlessly into Threads scraping Python scripts or Node.js pipelines via API.
  • 🧱 Better than ad-hoc tools: Avoid brittle browser extensions and one-off scripts with a production-ready solution.

Bottom line: if you need a reliable Meta Threads search scraper and Threads post scraper, this actor delivers clean, structured results at scale.

Is it legal / ethical to use 🧵 Threads Search Post Scraper?

Yes — when used responsibly. This actor accesses publicly available Threads pages and does not authenticate or access private profiles. Always:

  • Scrape only public data you’re permitted to access.
  • Respect platform terms and applicable regulations (e.g., GDPR, CCPA).
  • Avoid collecting or distributing sensitive personal information.
  • Consult your legal team for edge cases and jurisdiction-specific requirements.

Input parameters & output format

Example JSON input

{
"urls": [
"Mark Zuckerberg",
"https://www.threads.com/@zuck/post/AbCdEfGhIjK",
"123456789012345"
],
"proxyConfiguration": {
"useApifyProxy": false
}
}

Parameters

  • urls (array)

    • Description: Each line: a full post URL (threads.com or threads.net), a numeric post ID (10+ digits), or a search phrase. Phrases behave like the standalone script’s search query: the first thread from that search’s HTML is used to fetch replies. Example URL: https://www.threads.com/@zuck/post/AbCdEfGhIjK — example phrase: Mark Zuckerberg
    • Required: Yes
    • Default: none (UI prefill shows ["Mark Zuckerberg"])
  • proxyConfiguration (object)

    • Description: Leave off for a simple run. Turn on Apify Proxy here when you want Apify to route requests through its network — useful on busy or sensitive targets.
    • Required: No
    • Default: {"useApifyProxy": false}

Example JSON output

{
"post_url": "https://www.threads.com/@zuck/post/AbCdEfGhIjK",
"pk": "123456789012345",
"user": {
"friendship_status": {
"muting": false,
"following": false,
"followed_by": false,
"outgoing_request": null,
"blocking": null
},
"id": "987654321",
"pk": "987654321",
"text_app_last_visited_time": 0,
"profile_pic_url": "https://example.com/pic.jpg",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"transparency_label": null,
"transparency_product": null,
"transparency_product_enabled": null,
"is_verified": true,
"text_post_app_is_private": null,
"has_onboarded_to_text_post_app": null
},
"text_post_app_info": {
"is_post_unavailable": null,
"pinned_post_info": null,
"id": "123456789012345",
"share_info": {
"reposted_post": null,
"is_reposted_by_viewer": false,
"can_quote_post": true,
"quoted_attachment_author_attribution_allowed": true,
"quoted_attachment_post_unavailable": false,
"quoted_attachment_post": null,
"quoted_post": null
},
"show_header_follow": null,
"self_thread_info": null,
"is_spoiler_media": null,
"is_markup": null,
"special_effects_enabled_str": null,
"reply_control": null,
"can_reply": null,
"can_private_reply": null,
"is_ghost_post": null,
"tag_header": null,
"direct_reply_count": null,
"ghost_post_exp_time_ms": null,
"ghost_post_approximate_like_count_str": null,
"ghost_post_approximate_reply_count_str": null,
"ghost_post_reply_type": null,
"repost_count": null,
"quote_count": null,
"reshare_count": null,
"text_fragments": {
"fragments": [
{
"fragment_type": "PLAIN",
"link_fragment": null,
"mention_fragment": null,
"plaintext": "Big launch today…",
"linkified_web_url": null,
"linkified_in_app_url": null,
"styling_info": null
}
]
},
"custom_feed_preview_info": null,
"platform_podcast_episode_info": null,
"platform_podcast_info": null,
"link_preview_attachment": null,
"link_preview_response": null,
"linked_inline_media": null,
"snippet_attachment_info": null,
"algo_tweaks_info": null,
"is_reply": null,
"reply_to_author": null,
"reply_approval_info": null,
"hush_info": null,
"system_status_message": null,
"private_reply_partner": null,
"fediverse_info": {
"is_federated": false,
"enqueued_for_federation": null,
"federated_like_count": null
},
"self_thread_count": null,
"root_post_author": null,
"is_liked_by_root_author": null,
"related_trends_info": null,
"post_unavailable_reason": null,
"post_tombstone_info": null
},
"id": "123456789012345",
"logging_info_token": null,
"is_paid_partnership": null,
"audio": null,
"caption": {
"text": "Big launch today…"
},
"caption_is_edited": null,
"transcription_data": null,
"carousel_media": null,
"code": "AbCdEfGhIjK",
"image_versions2": null,
"original_height": null,
"original_width": null,
"accessibility_caption": null,
"usertags": null,
"video_versions": null,
"has_audio": null,
"media_type": 1,
"caption_add_on": null,
"has_liked": false,
"like_count": 1542,
"taken_at": 1713446400,
"media_overlay_info": null,
"sharing_friction_info": {
"should_have_sharing_friction": false,
"sharing_friction_payload": null
},
"canonical_url": "https://www.threads.com/@zuck/post/AbCdEfGhIjK",
"giphy_media_info": null,
"metaPlace": null,
"meta_place": null,
"gen_ai_detection_method": {
"detection_method": "NONE"
},
"organic_tracking_token": null,
"__token": null,
"like_and_view_counts_disabled": null
}

Notes:

  • The actor pushes one dataset item per post/reply in the thread.
  • Field presence may vary by post type and availability in the public API.

FAQ

Do I need to log in or provide cookies to scrape Threads posts?

No. The actor discovers required GraphQL credentials from the public Threads search page and performs logged-out requests. You only need to provide URLs, numeric IDs, or search phrases.

What inputs are supported — URLs, IDs, or keywords?

All three. You can input full post URLs on threads.com or threads.net, numeric post IDs (10+ digits), or search phrases (including topics/hashtags). Search phrases resolve the first thread from that search’s HTML.

Does this collect replies or just the root post?

It fetches the replies connection for the specified post ID and saves each post as a flat, normalized object. This makes it a practical Threads comments scraper for reply analysis.

How reliable is the connection? What if requests fail?

The run escalates connectivity automatically: it tries no proxy first, then SHADER (datacenter), then RESIDENTIAL, and retries up to 3 times on residential with new session IDs. This design improves resilience for Threads API scraping.

What sorting is used for replies?

By default, the actor uses sort_order=TOP when building the replies GraphQL variables, mirroring the internal helper behavior.

Can I use this with Python or Node.js?

Yes. While the actor itself is implemented in Python, you can consume results from any stack using the Apify Dataset API. This makes it easy to integrate with Threads scraping Python scripts or Node.js pipelines.

What formats can I export to?

You can export results from the Apify dataset to JSON, CSV, or Excel, or pull them programmatically via the API.

Which fields are included in the output?

Top-level fields include post_url, pk, code, caption, like_count, taken_at, user, text_post_app_info, media_type, has_liked, canonical_url, gen_ai_detection_method, and others. See the example output above for the full structure.

Is this suitable for hashtags and keyword monitoring?

Yes. Provide a search phrase (e.g., a hashtag or topic) and the actor will resolve the first thread from that public search’s HTML and fetch its replies — ideal for a Threads search scraper or Threads posts extractor workflow.

Is it safe and compliant to use?

Yes, when used responsibly with public data only. Always respect platform terms and applicable data protection laws, and consult your legal team for your specific use case.

Closing thoughts

🧵 Threads Search Post Scraper is built to turn Threads search phrases, post URLs, and IDs into flat, analytics-ready post objects at scale. With robust proxy escalation, no-login operation, and clean JSON output, it’s ideal for marketers, researchers, and developers. Export to CSV/JSON/Excel or connect via the Apify API to power dashboards and data pipelines. Start extracting smarter insights from Threads conversations today.