Threads Scraper - Threads, Post & Profile avatar

Threads Scraper - Threads, Post & Profile

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Threads Scraper - Threads, Post & Profile

Threads Scraper - Threads, Post & Profile

Paste Threads profile and post links together and export both: an account's posts with the account attached to every row, and any post from its own link with the replies under it. No Threads login or account needed.

Pricing

from $2.50 / 1,000 results

Rating

4.5

(5)

Developer

The Netaji

The Netaji

Maintained by Community

Actor stats

15

Bookmarked

452

Total users

62

Monthly active users

6 hours ago

Last modified

Share

Threads Scraper

The Actor takes a list of Threads links — profiles, posts, or both mixed together — and exports what sits behind each one: an account's posts with the account attached to every row, and any post read from its own link together with the public replies under it.

Accepted input

FieldTypeDefaultDescription
inputarrayrequiredThreads URLs. A link with /post/ in it is read as a single post; anything else is read as a profile. An entry may also be { "requestsFromUrl": "..." } pointing at a text file with one URL per line.
maxThreadsinteger0How many posts to collect from each profile URL. 0 takes the first 25, which is what a profile hands over without paging.
{
"input": [
{ "url": "https://www.threads.net/@natgeo" },
{ "url": "https://www.threads.com/@natgeo/post/DMxfVjqtcKL" }
],
"maxThreads": 25
}

Both threads.com and threads.net links work, with or without www.

Response fields

Rows come in three shapes, told apart by type.

FieldContents
typethread, profile, or post — which of the three shapes this row uses
threadThe post itself as Threads publishes it. An object on a thread row; on a post row, an array holding the one post the link pointed at
threadIndexWhere the post sits in the profile's timeline for this run, counting from 1. thread rows only
sourceUrlThe input URL that produced the row. thread and profile rows only
profileThe account: its ID, username, display name and verification mark on a thread row, the whole account record on a profile row
repliesThe public replies under the post, each a whole Threads post record. post rows only, empty when nobody has replied
threadCountAlways 0, on the profile row a profile with no posts produces
{
"type": "thread",
"threadIndex": 1,
"sourceUrl": "https://www.threads.net/@natgeo",
"profile": {
"pk": "63269174602",
"username": "natgeo",
"full_name": "National Geographic",
"is_verified": true
},
"thread": {
"pk": "3983333692555664108",
"code": "DdHqBt0jKlM",
"like_count": 292,
"taken_at": 1789121050
}
}

A profile URL produces one thread row per post. A profile that returns no posts produces a single profile row instead, so a run never answers a URL with silence.

Replies

A post URL returns the replies under it in replies, not the recommendation feed Threads shows beside the post. The two look alike in the page — strangers answering nothing — and only the conversation itself is published here.

A deleted post, or a handle nobody has taken, produces an empty row for that URL and the run carries on with the rest of the list. One bad link in a list of fifty does not fail the other forty-nine.

Frequently asked questions

Can I mix profile and post links in one run? Yes — that is what this Actor is for. Each URL is classified on its own, so a list can hold any mixture of the two in any order.

How many posts do I get from a profile? 25 by default. Set maxThreads to collect more; the Actor pages the timeline until it has that many or the account runs out of posts.

Do I need a Threads login, cookies, or a token? No. Only public data is read, and nothing about an account you own is needed.