Threads User Posts Scraper - Full Post History avatar

Threads User Posts Scraper - Full Post History

Pricing

from $1.70 / 1,000 posts

Go to Apify Store
Threads User Posts Scraper - Full Post History

Threads User Posts Scraper - Full Post History

Export every public post of any Meta Threads account without login: text, date, likes, replies, reposts, quotes, media and links. Also reads the accounts' replies and reposts.

Pricing

from $1.70 / 1,000 posts

Rating

0.0

(0)

Developer

Ben

Ben

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

📜 Threads User Posts Scraper - Full Post History

Export everything a Threads account has published, back to its first post: full text, publication time, likes, replies, reposts, quotes, shares, links, mentions, pictures and videos. The same Actor also reads the replies an account wrote and the posts it reposted. No login, cookies or API key. Export to JSON/CSV/Excel, run on a schedule, call via API, or connect to Make, Zapier or n8n.

🔎 What is the Threads User Posts Scraper?

It is an Apify Actor that reads public Threads accounts the way a logged-out visitor's browser does, and keeps going page after page instead of stopping where the profile page asks visitors to log in.

On a test run it saved National Geographic's whole public history, 1,819 posts from July 2023 to the day of the run, in 128 seconds. Smaller accounts take a few seconds.

Choose what to collect:

  • Posts: what the accounts published, newest first. Thread continuations by the same author are included.
  • Replies the accounts wrote: each reply comes with the link and text of the post it answers.
  • Reposts: the original posts the accounts reposted, with the time of the repost.

A date window (postedAfter, postedBefore) limits the export to a period, and reading stops as soon as older posts are reached, so a daily run with yesterday's date is quick and cheap.

What data does it extract?

  • Post: id, code, url, text, posted_at, is_pinned, is_edited, is_reply, reply_to_author
  • Engagement: likes, replies, reposts, quotes, shares
  • Author: username, full_name, author_id, is_verified
  • Content: mentions[], links[] (real destinations, not Threads redirect links), link_title, quoted_post_url, image_urls[], video_urls[]
  • Replies job: reply_to_url, reply_to_text
  • Reposts job: reposted_by, reposted_at

⬇️ Input

FieldTypeWhat it does
modestringposts, replies or reposts
usernamesarrayUsernames, @handles or profile links
maxResultsintegerRows per account, newest first. 20 by default, up to 100,000
postedAfterstringOnly rows from this UTC date on (YYYY-MM-DD)
postedBeforestringOnly rows up to this UTC date

Example input

Every post of two accounts in September 2026:

{
"mode": "posts",
"usernames": ["natgeo", "nasa"],
"maxResults": 1000,
"postedAfter": "2026-09-01",
"postedBefore": "2026-09-30"
}

⬆️ Output

A real post row (media link shortened):

{
"record_type": "post",
"id": "3867248781788782365",
"code": "DWrOkcIlR8d",
"url": "https://www.threads.com/@natgeo/post/DWrOkcIlR8d",
"username": "natgeo",
"author_id": "63269174602",
"full_name": "National Geographic",
"is_verified": true,
"text": "Apollo 8 astronauts captured the iconic Earthrise image, which inspired the global environmental movement. Artemis II astronauts may have the chance to recreate it more than 50 years later. Here's how they might do it: https://on.natgeo.com/eOreaO",
"posted_at": "2026-04-03T16:00:23+00:00",
"likes": 867,
"replies": 8,
"reposts": 54,
"quotes": 2,
"shares": 5,
"is_reply": false,
"reply_to_author": null,
"is_pinned": false,
"is_edited": false,
"mentions": [],
"links": [
"https://on.natgeo.com/eOreaO"
],
"link_title": null,
"quoted_post_url": null,
"image_urls": [
"https://scontent-iad6-1.cdninstagram.com/v/t51.82787-15/659913135_1795..."
],
"video_urls": [],
"scraped_at": "2026-10-02T20:45:48.418624+00:00"
}

A row from the replies job carries the post it answers:

{
"record_type": "reply",
"id": "3999285079710053730",
"code": "DeAUJdDozVi",
"url": "https://www.threads.com/@mosseri/post/DeAUJdDozVi",
"username": "mosseri",
"author_id": "63482099442",
"full_name": "Adam Mosseri",
"is_verified": true,
"text": "Because on Instagram we show the profile pic instead of the profile icon when a user has multiple accounts, and native Liquid Glass doesn’t support images, so we needed to recreate the effect without access to the same APIs.",
"posted_at": "2026-10-02T20:12:34+00:00",
"likes": 105,
"replies": 12,
"reposts": 2,
"quotes": 0,
"shares": 2,
"is_reply": true,
"reply_to_author": "admirer_7124",
"is_pinned": false,
"is_edited": false,
"mentions": [],
"links": [],
"link_title": null,
"quoted_post_url": null,
"image_urls": [],
"video_urls": [],
"reply_to_url": "https://www.threads.com/@admirer_7124/post/DeAPAhmCnSC",
"reply_to_text": "Why does Liquid Glass look so different between Instagram and Threads when they’re both owned by Meta?\nThe design still feels incomplete and barely refined, as if the developers stopped halfway and called it finished. I really hope they keep improving it.",
"scraped_at": "2026-10-02T20:40:25.373184+00:00"
}

💰 How much does it cost?

You pay per saved post, plus a tiny start fee per run.

Apify planPrice per 1,000 posts
Free$2.00
Starter$1.90
Scale$1.80
Business and above$1.70

The 1,819-post history above costs $3.64 on the Free plan. Set Maximum cost per run in the run options and the Actor stops saving at that amount and says so in the status message.

💡 Use cases

  • 📊 Competitor and brand monitoring: a daily run with postedAfter set to yesterday collects only the new posts of every account you follow.
  • 🧪 Content analysis: find which formats, topics and posting times get the most likes, replies and reposts.
  • 🧠 Datasets for AI and research: complete, dated post histories for fine-tuning, RAG pipelines or academic studies.
  • 🗂️ Archiving: keep a copy of an account's public posts with their links and media URLs.

❓ FAQ

Do I need a Threads or Instagram account? No. The Actor never logs in and needs no cookies.

How far back does it go? To the account's first public post. Threads opened in July 2023.

How fast is it? About 15 posts per request, roughly 14 posts per second on a long timeline.

Does maxResults count per account or per run? Per account. Three usernames with maxResults: 100 can save up to 300 rows. To cap the whole run, set Maximum cost per run.

What about pinned posts? A pinned post comes first with is_pinned: true, whatever its age. The date window still applies to it.

What happens with private or misspelled accounts? They are skipped and listed in the status message and the SUMMARY record. The run still succeeds with everything else.

Why do some posts have no text? Posts that are only a picture, a video or a link have an empty text. Their media and links are still in the row.

What if Threads slows the Actor down? The Actor continues from the same page through a new residential address, so a long export does not start over.

Is it legal to scrape Threads posts? The Actor reads only what Threads shows publicly to any visitor and does not log in. Posts contain personal data, so GDPR, CCPA and similar rules apply to how you store and use them, and Meta's terms apply to you as well. If in doubt, ask a lawyer.

Something is missing or broken? Open an issue on the Actor's Issues tab with the run ID. Issues are answered within one business day.

🔗 You might also like

Keywords: threads posts scraper, threads user posts, threads post history, scrape threads posts, meta threads scraper, threads.net scraper, threads timeline export, threads posts to csv, threads api alternative, threads without login, threads replies by user, threads reposts, threads engagement data, threads content analysis, threads monitoring, social media dataset