Threads Posts Scraper avatar

Threads Posts Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Threads Posts Scraper

Threads Posts Scraper

Scrape posts from any public Threads profile. Get full text, media URLs, engagement counts, and author info. No login required.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Andrew

Andrew

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract posts from any public Threads profile. Get full text, media URLs, engagement counts, and author details. No login required.

What you get

One row per post from the user's Threads timeline:

  • postId, code, url — direct link to the post on threads.net
  • text — full post caption
  • publishedAt — ISO timestamp
  • likeCount, replyCount, repostCount, quoteCount, viewsCount — full engagement
  • isQuotePost, hasMedia, mediaUrls, mediaType (image, video, carousel, text)
  • authorUsername, authorDisplayName, authorVerified, authorProfilePic
  • scrapedAt

Plus a separate profile record (in the Key-value store) for the queried account:

  • username, userId, displayName, bio, verified
  • followerCount, profilePicUrl, externalLink, isPrivate

Use cases

  • Content monitoring — track a creator's or brand's Threads activity
  • Competitor analysis — measure posting cadence and engagement
  • Lead generation — pull profile data and external link from public creator accounts
  • LLM / RAG ingestion — clean post text + author metadata for AI pipelines
  • Audience research — see which posts drive the most likes, replies, and reposts

How to use

  1. Enter the Username (with or without @) — for example zuck or @zuck
  2. Set Max Items — default 50, or 0 for unlimited
  3. Run the actor — posts appear in the Dataset tab
  4. Open the Key-value store tab to find the PROFILE record (profile metadata)
  5. To check whether more pages exist, look at NEXT_PAGE_ID in the Key-value store

After the run finishes, open the Key-value store tab → copy the NEXT_PAGE_ID value → paste it into Page ID on your next run. If NEXT_PAGE_ID is null, you've fetched everything.

Output format

Post row:

{
"postId": "3141592653589793238",
"code": "C7abcXYZ",
"url": "https://www.threads.net/@zuck/post/C7abcXYZ",
"text": "Just shipped a new feature on Threads",
"publishedAt": "2026-05-20T14:30:12.000Z",
"likeCount": 12345,
"replyCount": 678,
"repostCount": 200,
"quoteCount": 45,
"viewsCount": 250000,
"isQuotePost": false,
"hasMedia": true,
"mediaUrls": ["https://scontent.cdninstagram.com/..."],
"mediaType": "image",
"authorUsername": "zuck",
"authorDisplayName": "Mark Zuckerberg",
"authorVerified": true,
"authorProfilePic": "https://scontent.cdninstagram.com/...",
"scrapedAt": "2026-05-27T10:00:00.000Z"
}

Profile record (Key-value store PROFILE):

{
"username": "zuck",
"userId": "314216",
"displayName": "Mark Zuckerberg",
"bio": "...",
"verified": true,
"followerCount": 15000000,
"profilePicUrl": "https://scontent.cdninstagram.com/...",
"externalLink": "https://meta.com",
"isPrivate": false
}