Threads Profile & Post Scraper avatar

Threads Profile & Post Scraper

Pricing

from $2.90 / 1,000 results

Go to Apify Store
Threads Profile & Post Scraper

Threads Profile & Post Scraper

Scrape Thread profiles and posts. Get clean JSON with profile stats, media URLs, and more.

Pricing

from $2.90 / 1,000 results

Rating

0.0

(0)

Developer

Headless Agent

Headless Agent

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Share

Scrape Threads (threads.com) user profiles and posts โ€” no API key or login required. Get clean, formatted JSON with only the important fields. Supports usernames and post URLs as input.

๐Ÿค” What can Threads Profile & Post Scraper do?

This Actor lets you extract public data from Threads profiles and posts in one place. Just provide usernames or post URLs and get structured results:

๐Ÿ‘ค Scrape any public Threads profile โ€” bio, followers, verification status, profile tags, and more

๐Ÿ“ Extract post data โ€” text, images, videos, carousels, engagement stats

๐Ÿ“Š Get full statistics โ€” likes, replies, reposts, quotes, reshares

๐Ÿงต Get thread chains โ€” multi-post self-reply threads are grouped together

๐Ÿ”— Get related posts โ€” when scraping a single post, get algorithmically related posts

๐ŸŽ  Get carousel media โ€” all images and videos in carousel posts with direct URLs

๐Ÿ“ฆ Download results in JSON, CSV, XML, or Excel from the Apify Dataset

๐Ÿฆพ Integrate via API, webhooks, SDKs (Python & Node.js), or connect with tools like Zapier, n8n, Make, and more

โœ… What data can I scrape from Threads?

From profiles:

  • ๐Ÿ‘ค Username, full name, biography
  • ๐Ÿ–ผ๏ธ Profile picture URL (highest resolution)
  • ๐Ÿ“Š Follower count
  • โœ… Verification status, private account status
  • ๐Ÿท๏ธ Profile tags (e.g. "AI Threads", "UFC Threads", "MMA")
  • ๐Ÿ”— Bio links
  • ๐Ÿ“ All recent posts (text, image, video, carousel)

From posts:

  • ๐Ÿ†” Post ID, shortcode, URL
  • ๐Ÿ“ Text content
  • ๐ŸŽฌ Media type (text, image, video, carousel)
  • ๐Ÿ“Š Engagement stats โ€” likes, replies, reposts, quotes, reshares
  • ๐Ÿ–ผ๏ธ Image URLs, video URLs (direct CDN links)
  • ๐ŸŽ  Carousel items with individual media
  • ๐Ÿ‘ค Author info
  • ๐Ÿ’ฌ Reply metadata (is_reply, reply_to_author)
  • ๐Ÿ”— Related/recommended posts

๐Ÿ”ง How to scrape data from Threads

  1. Create a free Apify account.
  2. Open Threads Profile & Post Scraper.
  3. Add usernames and/or post URLs โ€” use any combination.
  4. Optionally set a proxy URL to avoid rate limiting.
  5. Click Save & Start and wait for the data to be extracted.
  6. Download your data in JSON, CSV, XML, Excel, or access it via API.

โฌ‡๏ธ Input

All fields are optional, but at least one must be provided. You can use them independently or together in a single run.

FieldTypeDescription
usernamesstring[]Threads usernames or profile URLs (e.g. zuck, @zuck, or https://www.threads.com/@zuck)
postUrlsstring[]Threads post URLs (e.g. https://www.threads.com/@zuck/post/DQEmdfkkSNE)
proxystringOptional proxy URL (http:// or socks5:// format)

Example input

{
"usernames": ["zuck"],
"postUrls": [
"https://www.threads.com/@zuck/post/DQEmdfkkSNE"
],
"proxy": "http://user:pass@host:port"
}

โฌ†๏ธ Output

Results are pushed to the Apify Dataset. Each item has a type field ("profile" or "post") so you can easily filter and process them. You can export data in JSON, CSV, XML, Excel, or access it programmatically via the Apify API.

  • Profile results: 1 dataset item per username, containing the profile info and all scraped posts.
  • Post results: 1 dataset item per post URL, containing the post and related/recommended posts.

๐Ÿ‘ค Profile data sample

{
"type": "profile",
"profile": {
"id": "63055343223",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"biography": "Mostly superintelligence and MMA takes",
"profile_pic_url": "https://instagram.f...n.fbcdn.net/v/t51.82787-19/..._n.jpg?...",
"is_verified": true,
"is_private": false,
"follower_count": 5454312,
"profile_tags": [
{
"name": "aithreads",
"display_name": "AI Threads",
"is_community": false
},
{
"name": "ufcthreads",
"display_name": "UFC Threads",
"is_community": false
}
]
},
"posts": [
{
"id": "3870872187813562164",
"code": "DW4Gb79kQc0",
"url": "https://www.threads.com/@zuck/post/DW4Gb79kQc0",
"user": {
"id": "63055343223",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"profile_pic_url": "https://instagram.f...n.fbcdn.net/...",
"is_verified": true,
"is_private": false
},
"text": "Today we're sharing our new model family, Muse, and releasing our first model, Spark. You can try them in Meta AI.",
"media_type": "text",
"created_at": "2026-04-08T15:59:05+00:00",
"taken_at": 1775663945,
"like_count": 2632,
"reply_count": 481,
"repost_count": 190,
"quote_count": 55,
"reshare_count": 338,
"original_width": 612,
"original_height": 612,
"is_reply": false,
"reply_control": "everyone",
"self_thread_count": 0,
"is_pinned": false,
"caption_is_edited": false,
"like_and_view_counts_disabled": false
},
{
"id": "3849384441660167347",
"code": "DVrwsE5EdSz",
"url": "https://www.threads.com/@zuck/post/DVrwsE5EdSz",
"user": {
"id": "63055343223",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"profile_pic_url": "https://instagram.f...n.fbcdn.net/...",
"is_verified": true,
"is_private": false
},
"text": "Meanwhile at Meta HQ",
"media_type": "image",
"created_at": "2026-03-10T00:26:46+00:00",
"taken_at": 1773102406,
"like_count": 7137,
"reply_count": 1057,
"repost_count": 209,
"quote_count": 53,
"reshare_count": 509,
"image_url": "https://instagram.f...n.fbcdn.net/v/t51.82787-15/..._n.webp?...",
"original_width": 1200,
"original_height": 1600,
"alt_text": "May be a selfie of text that says \"BOA\"",
"is_reply": false,
"reply_control": "everyone",
"self_thread_count": 0,
"is_pinned": false,
"caption_is_edited": false,
"like_and_view_counts_disabled": false
},
{
"thread_chain": [
{
"id": "3808602590024938729",
"code": "DTa3-B1EbTp",
"url": "https://www.threads.com/@zuck/post/DTa3-B1EbTp",
"text": "Today we're establishing a new top-level initiative called Meta Compute...",
"media_type": "text",
"is_reply": false,
"like_count": 2835,
"...": "..."
},
{
"id": "3808602587877435385",
"code": "DTa39_1EWf5",
"url": "https://www.threads.com/@zuck/post/DTa39_1EWf5",
"text": "Santosh will continue to lead our technical architecture...",
"media_type": "text",
"is_reply": true,
"reply_to_author": {
"username": "zuck",
"id": "63055343223"
},
"like_count": 943,
"...": "..."
}
]
}
]
}

๐Ÿ“ Post data sample

{
"type": "post",
"post": {
"id": "3748289942410830660",
"code": "DQEmdfkkSNE",
"url": "https://www.threads.com/@zuck/post/DQEmdfkkSNE",
"user": {
"id": "63055343223",
"username": "zuck",
"full_name": "Mark Zuckerberg",
"profile_pic_url": "https://instagram.f...n.fbcdn.net/...",
"is_verified": true,
"is_private": false
},
"text": "Oakley Meta Vanguard glasses just landed. Available now -- let's go! \ud83d\udd25",
"media_type": "carousel",
"created_at": "2025-10-21T12:50:02+00:00",
"taken_at": 1761051002,
"like_count": 9149,
"reply_count": 1328,
"repost_count": 281,
"quote_count": 56,
"reshare_count": 401,
"image_url": "https://instagram.f...n.fbcdn.net/v/t51.82787-15/..._n.webp?...",
"original_width": 1365,
"original_height": 2048,
"alt_text": "No photo description available.",
"carousel": [
{
"media_type": "image",
"image_url": "https://instagram.f...n.fbcdn.net/..._n.webp?...",
"original_width": 1365,
"original_height": 2048,
"alt_text": "No photo description available."
},
{
"media_type": "image",
"image_url": "https://instagram.f...n.fbcdn.net/..._n.webp?...",
"original_width": 1561,
"original_height": 1249,
"alt_text": "No photo description available."
},
{
"media_type": "video",
"image_url": "https://instagram.f...n.fbcdn.net/..._n.jpg?...",
"original_width": 1076,
"original_height": 1348,
"video_url": "https://instagram.f...n.fbcdn.net/o1/v/t16/f2/m69/...mp4?...",
"has_audio": true
}
],
"is_reply": false,
"reply_control": "everyone",
"self_thread_count": 0,
"is_pinned": false,
"caption_is_edited": false,
"like_and_view_counts_disabled": false
},
"related_posts": [
{
"id": "3865049044132824548",
"code": "DWjaaCzAAXk",
"url": "https://www.threads.com/@oakleymeta/post/DWjaaCzAAXk",
"user": {
"username": "oakleymeta",
"full_name": "Oakley | Meta",
"is_verified": true
},
"text": "JUST ANNOUNCED: New Oakley Meta HSTN and Vanguard colorways and lenses...",
"media_type": "carousel",
"like_count": 101,
"reply_count": 10,
"...": "..."
},
{
"id": "3860522526116939146",
"code": "DWTVMiYmAWK",
"url": "https://www.threads.com/@thetriworld/post/DWTVMiYmAWK",
"user": {
"username": "thetriworld",
"full_name": "TriWorld Sports",
"is_verified": false
},
"text": "Oakley Neoforma - Matte Carbon with Prizm 24K Polarized Lens...",
"media_type": "video",
"like_count": 0,
"...": "..."
}
]
}

๐Ÿ“‹ Output fields explained

Profile fields:

FieldDescription
profile.usernameThreads username
profile.full_nameDisplay name
profile.biographyBio text
profile.profile_pic_urlHighest resolution profile picture URL
profile.is_verifiedWhether the account has a verification badge
profile.is_privateWhether the account is private
profile.follower_countNumber of followers
profile.profile_tagsTags shown on the profile (e.g. "AI Threads", "MMA")
postsArray of posts โ€” single posts are flat objects, self-reply threads are { "thread_chain": [...] }

Post fields:

FieldDescription
idInternal post ID
codePost shortcode (used in URL)
urlDirect link to the post
userAuthor info (username, full_name, profile_pic_url, is_verified, is_private)
textPost text content
media_typeOne of: text, image, video, carousel
created_atISO 8601 timestamp
taken_atUnix timestamp
like_countNumber of likes
reply_countNumber of replies
repost_countNumber of reposts
quote_countNumber of quote posts
reshare_countNumber of reshares
image_urlDirect image CDN URL (for image/carousel posts)
video_urlDirect video CDN URL (for video posts)
carouselArray of carousel items, each with media_type, image_url, video_url
is_replyWhether this post is a reply
reply_to_authorAuthor of the post being replied to (if is_reply is true)

๐Ÿ”— Integrations

You can connect Threads Profile & Post Scraper with almost any cloud service or web app through Apify integrations. Connect with Zapier, n8n, Make, Slack, Google Sheets, Google Drive, Airbyte, GitHub, and many more.

You can also use webhooks to trigger actions whenever a run finishes โ€” for example, getting a notification or automatically processing the scraped data.

๐Ÿฆพ Using the Apify API

The Apify API gives you programmatic access to Threads Profile & Post Scraper. You can start runs, fetch datasets, monitor execution, and integrate the scraper into your own workflows.

โ“ FAQ

Can I scrape multiple profiles and posts in one run?

Yes. Both input fields (usernames, postUrls) accept arrays. You can provide multiple items in each field, and even use both fields together in a single run. Each result will have a type field so you can tell them apart.

What are thread chains?

When a user replies to their own post (a self-reply thread), the scraper groups these posts together as a thread_chain array within the posts output. Single posts that aren't part of a thread are returned as flat objects.

What format is the created_at timestamp?

created_at is an ISO 8601 formatted string (e.g. "2026-04-08T15:59:05+00:00"). The taken_at field contains the same timestamp as a Unix timestamp (seconds since epoch).

What media types are supported?

The scraper detects four media types based on actual post content:

  • text โ€” text-only posts (no media)
  • image โ€” posts with a single image
  • video โ€” posts with a video
  • carousel โ€” posts with multiple images/videos

Does the scraper work with private accounts?

No. The scraper can only extract data from public Threads accounts. Private profiles will not return profile data, and posts from private accounts are not accessible.

Can I use a proxy?

Yes. The optional proxy input field accepts HTTP and SOCKS5 proxy URLs. This is useful to avoid rate limiting or IP blocks when scraping at higher volumes.

What username formats are accepted?

All of the following formats work:

  • zuck
  • @zuck
  • https://www.threads.com/@zuck

This scraper only extracts publicly available data. It does not access private accounts, login credentials, or any data behind authentication. However, scraped results could contain personal data protected by GDPR and other regulations. Ensure you have a legitimate reason for scraping and consult legal counsel if unsure. See also Apify's blog post on the legality of web scraping.