Threads Profile & Posts Scraper
Pricing
from $2.50 / 1,000 results
Threads Profile & Posts Scraper
Collect public Threads profiles and their latest posts. Paste usernames or profile links to get name, bio, links, exact followers, verified badge and photo, plus each recent post's text, time, likes, replies, reposts and media. Failures are not charged.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Philip Kirkbride
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Turn any public Threads account into clean, structured rows. Paste usernames or profile links and get each profile's name, bio, bio links, exact follower count, verified badge and profile picture, followed by the latest posts shown on the profile: text, post time, likes, replies, reposts, quotes, images and videos. Individual post links work too.
No Threads account is needed. Profiles and posts that cannot be read are listed in the run summary and are not charged.
Use cases
- Influencer research: exact follower counts, bios and links for a list of creators.
- Brand monitoring: what a brand or competitor posted recently and how each post performed.
- Engagement tracking: likes, replies, reposts and quotes per post, re-run on a schedule to watch them grow.
- Lead lists: names, bio links and verified badges for a set of accounts.
- Content research: the latest posts, images and videos from accounts in a niche.
Quick Start
{"profiles": ["zuck", "nasa", "https://www.threads.com/@natgeo"],"postUrls": ["https://www.threads.com/@mosseri/post/DeZvGAMmu4D"],"maxPostsPerProfile": 25,"maxItems": 1000}
Each profile becomes one profile row, followed by one row per recent post. Each post link becomes one post row.
Input
| Input | Type | Default | Meaning |
|---|---|---|---|
profiles | array | none | Threads usernames (zuck or @zuck) or profile links (https://www.threads.com/@zuck, threads.net links work too). Repeated profiles are read once. |
postUrls | array | [] | Individual post links (https://www.threads.com/@user/post/<code>). A post already returned from its profile is not repeated. |
includePosts | boolean | true | Add the latest posts shown on each profile. Turn off for profile rows only. |
maxPostsPerProfile | integer | 25 | Cap on post rows per profile, 1 to 50. |
maxItems | integer | 1000 | Total cap on rows (profiles plus posts) for the whole run, up to 100,000. |
Give at least one profile or post link.
Example queries
{"profiles": ["netflix", "nba", "espn"]}: three brand accounts and their latest posts.{"profiles": ["mosseri", "zuck"], "includePosts": false}: profile rows only.{"postUrls": ["https://www.threads.com/@zuck/post/DeZtp-TkQHh"]}: one post with its current counts.{"profiles": ["natgeo"], "maxPostsPerProfile": 5}: one profile and at most five posts.
What it returns
Every row has a kind: profile or post. All rows share the same columns, so profiles and posts export into one sheet; columns that do not apply to a row are null (or an empty list).
Profile rows:
| Field | Meaning |
|---|---|
username, url | The username and the profile link. |
fullName | The display name. |
biography | The bio text. |
bioLinks | Links listed on the profile. |
followerCount | Exact follower count (not rounded). |
isVerified | Whether the account has the verified badge. |
isPrivate | Whether the profile is marked private. |
profilePicUrl | The largest available profile picture. |
userId | The account's numeric ID. |
postsReturned | How many post rows follow for this profile. |
Post rows:
| Field | Meaning |
|---|---|
url, code, postId | The post link, its short code and its numeric ID. |
username, fullName, isVerified, userId | The post's author. |
text | The post text. |
createdAt | When it was posted (UTC, ISO 8601). |
likeCount, replyCount, repostCount, quoteCount | Engagement counts. likeCount is null when the author hides it. |
mediaType | text, image, video or carousel. |
images, videos | Image and video links, one per slide for carousels. Videos also carry their cover image. |
linkUrl | The web link a post previews, if any. |
quotedPostUrl | The post this post quotes, if any. |
isPinned | Pinned to the top of the profile. |
isReply | Part of a thread the author continued, or a reply. |
isRepost | Shown on the profile but written by another account. |
profileUsername | The profile the post was found on (null for rows from post links). |
Every row also carries source (profile or post), input (the value you entered), scrapedAt and error (always null in the dataset).
Output example
{"kind": "profile", "username": "nasa", "url": "https://www.threads.com/@nasa", "isVerified": true, "userId": "28829152388", "fullName": "NASA", "biography": "Making the seemingly impossible, possible. ✨", "bioLinks": [], "followerCount": 12785923, "isPrivate": false, "profilePicUrl": "https://scontent-hel3-1.cdninstagram.com/v/t51.82787-19/669747085_18089786557960389_922072622069351626_n.jpg", "postsReturned": 5, "postId": null, "code": null, "text": null, "createdAt": null, "likeCount": null, "replyCount": null, "repostCount": null, "quoteCount": null, "mediaType": null, "images": [], "videos": [], "linkUrl": null, "quotedPostUrl": null, "isReply": null, "isPinned": null, "isRepost": null, "profileUsername": "nasa", "source": "profile", "input": "nasa", "scrapedAt": "2026-10-20T01:10:00Z", "error": null}{"kind": "post", "username": "nasa", "url": "https://www.threads.com/@nasa/post/Decc755lYhC", "isVerified": true, "userId": "28829152388", "fullName": "NASA", "biography": null, "bioLinks": [], "followerCount": null, "isPrivate": null, "profilePicUrl": null, "postsReturned": null, "postId": "4007205030373722178", "code": "Decc755lYhC", "text": "Spotted: views of a \"space jellyfish\" following today's launch of NASA’s SpaceX 35th commercial resupply mission to the International Space Station.", "createdAt": "2026-10-13T18:28:06Z", "likeCount": 41103, "replyCount": 592, "repostCount": 4378, "quoteCount": 282, "mediaType": "carousel", "images": ["https://scontent-hel3-1.cdninstagram.com/v/t51.82787-15/847998870_18123835888960389_7278135639222434691_n.jpg", "https://scontent-hel3-1.cdninstagram.com/v/t51.82787-15/846964916_18123835993960389_2780682481226156847_n.jpg", "https://scontent-hel3-1.cdninstagram.com/v/t51.82787-15/849508659_18123836011960389_1894048710237085880_n.jpg", "https://scontent-hel3-1.cdninstagram.com/v/t51.82787-15/845941405_18123836032960389_8401705155110598071_n.jpg"], "videos": [], "linkUrl": null, "quotedPostUrl": null, "isReply": false, "isPinned": false, "isRepost": false, "profileUsername": "nasa", "source": "profile", "input": "nasa", "scrapedAt": "2026-10-20T01:10:00Z", "error": null}
Image links are shortened here; real rows carry the full links.
Failed profiles and posts
A profile that does not exist, is not publicly visible, or cannot be read after several tries is listed in the run summary (OUTPUT.sourceErrors) with a short code such as NOT_FOUND, RATE_LIMITED or LOGIN_WALL, and the run goes on with the rest. These entries are not dataset rows and are not charged. A run in which nothing at all could be read fails with a clear message.
Limits and caveats
- Threads shows visitors only the first page of a profile, usually 4 to 10 recent posts; older history, replies tabs, follower lists and search are not included.
- Counts are read at run time and change quickly on popular posts.
- Some well-known handles have no public Threads profile under that name (for example
vogueorbbcnews); they are reported asNOT_FOUND. Private or restricted profiles may likewise show no posts or be reported asNOT_FOUND. - Media links are the ones Threads serves and expire after some days; download what you need soon after the run.
- Automated access is subject to Threads' terms; use this actor only where you have the necessary permissions and a lawful basis.
FAQ
Do I need a Threads or Instagram account? No. Only public information is collected.
Can I mix usernames, profile links and post links? Yes. Put usernames and profile links in profiles, post links in postUrls. Duplicates are returned once.
How many posts will I get per profile? The posts on the first page of the profile, usually 4 to 10, capped by maxPostsPerProfile. Setting the cap above about 10 rarely adds more.
Is the follower count exact? Yes, followerCount is the exact number, not a rounded label like "5.7M".
Price
$0.0025 per result (each profile row and each post row), plus $0.005 per run start. The run-start event is charged per GB of memory; the default 512 MB run is one start event. The start is charged even if the run saves no results. Profiles and posts that fail are not charged. Platform usage is included in these prices.