ParseForge Scrapers

Threads Profile Scraper - Followers, Bio & Engagement

parseforge/threads-profile-scraper

Social mediaLead generationAutomation

Scrape Threads profiles by username: followers, bio, links, topics, thread count, latest 15 threads and engagement rate. Export CSV, Excel, JSON or XML.

Run this scraper See the API call
Total runs
5
Bookmarked
0
Last modified
2 days ago

This scraper was last updated on .

What does the Threads Profile Scraper - Followers, Bio & Engagement return?

ParseForge Banner

🧡 Threads Profile Scraper

πŸš€ Export Threads profiles in seconds. Paste usernames and get back 21 columns per profile: exact follower count, bio, bio links, topics, total thread count, the latest 15 threads with 16 fields each, and an engagement rate computed from them. No login, no cookies, no Threads account.

This Actor reads the public profile pages of Threads, the text app from Meta, the same pages any logged-out visitor can open at threads.com. It collects the profile card (name, verification, privacy, followers, bio, links and the topic tags a creator picked) and the latest threads on the profile, then turns those threads into averages you can compare across accounts: likes, replies and reposts per thread, and an engagement rate against the follower count.

In a cloud test run, 5 profiles (NASA, National Geographic, Mark Zuckerberg, Nike, Netflix US) came back in 9 seconds on 512 MB without a proxy, each with 15 threads. Usernames, @handles and threads.com or threads.net profile URLs are all accepted and deduplicated.

🎯 Target Audience πŸ’‘ Primary Use Cases
Influencer marketing teams Vet creators by real engagement rate, not just follower count
Social media managers Benchmark your brand's Threads account against competitors
Agencies Build monthly Threads reports for many clients in one run
Sales and lead generation Enrich lead lists with Threads audience size and bio links
Researchers and journalists Track public figures' posting activity and audience growth
AI agents and automation builders Feed clean profile data into LLM pipelines, n8n or Make

πŸ“‹ What the Threads Profile Scraper does

  1. Takes your list of usernames or profile URLs and normalises them (@nasa, nasa and https://www.threads.net/@nasa are the same profile).
  2. Opens each public Threads profile page and reads the profile card: user ID, name, username, verified badge, private flag, exact follower count, bio, bio links and profile topics.
  3. Reads the total number of threads the profile has posted.
  4. Collects the latest threads shown on the profile (up to 15), each with text, date, media type, image and video links, and like, reply, repost, quote and share counts, plus pinned and reply flags.
  5. Computes average likes, replies and reposts per thread, the engagement rate as a percentage of followers, and the date of the newest thread.
  6. Emits one row per profile. Accounts that do not exist, or that Threads does not show to logged-out visitors, come back as free rows with the reason.

πŸ’‘ Why it matters: follower counts alone hide whether an audience is alive. Two accounts with 5 million followers can differ tenfold in how many people actually react to each thread. This Actor puts audience size and real engagement on the same row, so a creator shortlist sorts itself.

🎬 Full Demo (🚧 Coming soon)

πŸ“Š Output

Each dataset row is one Threads profile. 21 columns per row, plus 16 fields for every thread in latestPosts.

Field Type Description
πŸ–Ό imageUrl string Profile picture in the highest resolution Threads serves (up to 640 px)
πŸ‘€ username string Threads username
πŸ“› fullName string Display name
πŸ”— url string Profile URL
πŸ†” id string Numeric Threads user ID
βœ”οΈ isVerified string Yes when the profile has the verified badge
πŸ”’ isPrivate string Yes when the Threads profile is private
πŸ‘₯ followerCount number Exact follower count
🧡 threadsCount number Total threads posted (Threads rounds this above 1,000, for example 1,600)
πŸ“ biography string Bio text
🌐 bioLinks array Links in the bio
🏷 profileTags array Topics the creator added to the profile
πŸ•“ latestPostAt string Date of the newest thread on the profile
πŸ”’ latestPostsCount number Threads used for the averages (up to 15)
❀️ avgLikes number Average likes per thread
πŸ’¬ avgReplies number Average replies per thread
πŸ” avgReposts number Average reposts per thread
πŸ“ˆ engagementRatePct number Average likes, replies, reposts and quotes per thread, as a % of followers
πŸ—‚ latestPosts array The latest threads: imageUrl, id, code, url, text, postedAt, mediaType, likeCount, replyCount, repostCount, quoteCount, shareCount, isPinned, isReply, videoUrl, carouselCount
πŸ•’ scrapedAt string When the row was collected
❌ error string Populated only on rows without data
Real sample records

From the cloud test run. Image links are shortened and latestPosts is trimmed to the first of its 15 threads here.

{
  "imageUrl": "https://scontent-iad3-2.cdninstagram.com/v/t51.82787-19/...",
  "username": "nasa",
  "fullName": "NASA",
  "url": "https://www.threads.com/@nasa",
  "id": "28829152388",
  "isVerified": "Yes",
  "isPrivate": "No",
  "followerCount": 12740434,
  "threadsCount": 136,
  "biography": "Making the seemingly impossible, possible. ✨",
  "bioLinks": [],
  "profileTags": ["NASA", "Space Threads", "Science Threads"],
  "latestPostAt": "2026-09-22T17:57:59.000Z",
  "latestPostsCount": 15,
  "avgLikes": 14284,
  "avgReplies": 120,
  "avgReposts": 972,
  "engagementRatePct": 0.121,
  "latestPosts": [
    {
      "imageUrl": "https://scontent-iad3-2.cdninstagram.com/v/t51.82787-15/...",
      "id": "3991969585838706926",
      "code": "DdmUzAeFFDu",
      "url": "https://www.threads.com/@nasa/post/DdmUzAeFFDu",
      "text": "Happy equinox, Earthlings! πŸ‚\n\nSept. 22 marks the the first day of fall in the Northern Hemisphere. From now until the beginning of spring, nighttime hours will last longer than daylight as the Sun travels a shorter arc across the sky each day.",
      "postedAt": "2026-09-22T17:57:59.000Z",
      "mediaType": "Image",
      "likeCount": 2451,
      "replyCount": 49,
      "repostCount": 156,
      "quoteCount": 15,
      "shareCount": 20,
      "isPinned": "No",
      "isReply": "No",
      "videoUrl": "N/A",
      "carouselCount": 0
    }
  ],
  "scrapedAt": "2026-09-24T19:13:35.851Z",
  "error": null
}
{
  "imageUrl": "https://scontent-iad3-2.cdninstagram.com/v/t51.82787-19/...",
  "username": "zuck",
  "fullName": "Mark Zuckerberg",
  "url": "https://www.threads.com/@zuck",
  "id": "63055343223",
  "isVerified": "Yes",
  "isPrivate": "No",
  "followerCount": 5743681,
  "threadsCount": 166,
  "biography": "Mostly superintelligence and MMA takes",
  "bioLinks": [],
  "profileTags": ["AI Threads", "UFC Threads", "AI", "MMA", "memes"],
  "latestPostAt": "2026-09-24T00:07:31.000Z",
  "latestPostsCount": 15,
  "avgLikes": 2077,
  "avgReplies": 580,
  "avgReposts": 155,
  "engagementRatePct": 0.05,
  "latestPosts": [
    {
      "imageUrl": "N/A",
      "id": "3992880350758034895",
      "code": "Ddpj4YZkd3P",
      "url": "https://www.threads.com/@zuck/post/Ddpj4YZkd3P",
      "text": "Here's everything I announced at Meta Connect today πŸ‘‡",
      "postedAt": "2026-09-24T00:07:31.000Z",
      "mediaType": "Text",
      "likeCount": 1891,
      "replyCount": 451,
      "repostCount": 131,
      "quoteCount": 33,
      "shareCount": 125,
      "isPinned": "No",
      "isReply": "No",
      "videoUrl": "N/A",
      "carouselCount": 0
    }
  ],
  "scrapedAt": "2026-09-24T19:13:36.346Z",
  "error": null
}
{
  "imageUrl": "https://scontent-iad3-2.cdninstagram.com/v/t51.82787-19/...",
  "username": "netflix",
  "fullName": "Netflix US",
  "url": "https://www.threads.com/@netflix",
  "id": "63441666146",
  "isVerified": "Yes",
  "isPrivate": "No",
  "followerCount": 8546476,
  "threadsCount": 3400,
  "biography": "πŸ“Hillman College",
  "bioLinks": [],
  "profileTags": ["tvthreads", "FilmThreads", "Book Threads"],
  "latestPostAt": "2026-09-24T19:00:24.000Z",
  "latestPostsCount": 15,
  "avgLikes": 975,
  "avgReplies": 33,
  "avgReposts": 58,
  "engagementRatePct": 0.013,
  "latestPosts": [
    {
      "imageUrl": "https://scontent-iad3-2.cdninstagram.com/v/t51.71878-15/...",
      "id": "3993271916433470712",
      "code": "Ddq86aWj3T4",
      "url": "https://www.threads.com/@netflix/post/Ddq86aWj3T4",
      "text": "Welcome to Hillman \n\nA DIFFERENT WORLD IS NOW ON NETFLIX",
      "postedAt": "2026-09-24T13:07:10.000Z",
      "mediaType": "Video",
      "likeCount": 3546,
      "replyCount": 123,
      "repostCount": 303,
      "quoteCount": 66,
      "shareCount": 268,
      "isPinned": "Yes",
      "isReply": "No",
      "videoUrl": "https://scontent-iad3-1.cdninstagram.com/o1/v/t16/...",
      "carouselCount": 0
    }
  ],
  "scrapedAt": "2026-09-24T19:13:40.957Z",
  "error": null
}

✨ Why choose this Actor

  • πŸ“ˆ Engagement rate built in. Average likes, replies and reposts per thread and an engagement rate against followers, computed on every row. No spreadsheet formulas.
  • 🧡 Total thread count. How much a profile has posted in total, next to how recently it posted.
  • 🏷 Profile topics. The topic tags creators pin to their profile, a quick read on what an account is about.
  • πŸ—‚ 15 latest threads per profile, each with text, date, media type, media links and five engagement counters, on the same row.
  • πŸ”“ No login and no cookies. Only public data a logged-out visitor sees. Nothing to rotate, nothing to get banned.
  • ⚑ Fast and light. Plain HTTP, no browser, about 2 seconds per profile, 512 MB is plenty.
  • 🧹 Clean values. Yes/No flags, ISO dates, numbers as numbers, no null in data rows.

πŸ“ˆ How it compares to alternatives

This Actor Typical Threads profile scrapers
Profile card (name, bio, followers, verified, picture) βœ… βœ…
Bio links βœ… βœ…
Profile topic tags βœ… ❌ usually missing
Total thread count βœ… (rounded by Threads above 1,000) ❌ usually missing
Latest threads with engagement counters βœ… up to 15 Sometimes, often as raw nested JSON
Average likes, replies, reposts and engagement rate βœ… computed ❌
Flat, spreadsheet ready columns βœ… Raw API field names
Login or cookies required ❌ Varies
Profiles Threads hides from logged-out visitors Free error row with the reason Varies

Honest limits: Threads shows logged-out visitors the latest 15 threads of a profile, so the averages are computed over those 15. Some accounts are not shown to logged-out visitors at all (in a test on 40 celebrity and brand accounts, 8 redirected to the login page); those come back as free error rows, so you always know your coverage.

πŸš€ How to use

  1. Create a free Apify account with $5 of monthly credit: sign up here.
  2. Open the Threads Profile Scraper and paste usernames or profile URLs, one per line.
  3. Set Max Items to the number of profiles you want.
  4. Leave Include latest threads on to get the 15 threads per profile, or switch it off for lighter rows (the averages are still computed).
  5. Click Start. Each profile takes about 2 seconds.
  6. Download the results as CSV, Excel, JSON or XML, or pull them from the API.

Example input:

{
  "usernames": ["zuck", "@nasa", "https://www.threads.com/@natgeo"],
  "maxItems": 10,
  "includeLatestPosts": true
}

πŸ’Ό Business use cases

🀝 Influencer vetting

An agency shortlists 200 creators for a sports campaign. One run returns followers, engagement rate and the last posting date for all of them, so dormant accounts and inflated audiences drop out before anyone sends a brief.

πŸ“Š Competitor benchmarking

A streaming brand tracks its own Threads account next to five rivals every week. Average likes, replies and reposts per thread show whose content is landing, and the latest threads show what they posted.

🧲 Lead enrichment

A B2B team has a list of founders and companies. Adding Threads follower counts, bios and bio links gives sales a quick signal of reach and a route to each prospect's website or link page.

πŸ“° Media monitoring

A newsroom follows public officials and institutions. Scheduled runs capture every profile's latest threads with timestamps and engagement, building an archive of what was said and how people reacted.

πŸ”Œ Automating Threads Profile Scraper

  • Make and Zapier: run the Actor on a schedule and send new rows to Google Sheets, Airtable or a CRM.
  • Slack: post a weekly engagement leaderboard of the accounts you track.
  • Airbyte: load the dataset into your warehouse next to other social data.
  • GitHub Actions: trigger runs from a workflow and version the results.
  • Google Drive: export each run as a spreadsheet automatically.

🌟 Beyond business use cases

  • Research: study how audiences engage with public figures, institutions or topics on Threads.
  • Personal: keep an eye on the creators you follow and how often they post.
  • Non-profit: measure how advocacy accounts in your field reach people compared with peers.
  • Experimentation: build a dataset for a dashboard, a ranking or a model of engagement.

πŸ€– Ask an AI assistant about this scraper

Paste this page into ChatGPT, Claude or Perplexity and ask things like "Which of these accounts has the best engagement rate?" or "Write a Make scenario that runs this Actor every Monday and appends the rows to a Google Sheet."

❓ Frequently Asked Questions

πŸ” Do I need a Threads or Instagram account?

No. The Actor reads only what a logged-out visitor sees on threads.com. No login, no cookies, no session to manage.

🧡 How many threads per profile do I get?

Up to 15, the latest threads Threads shows to logged-out visitors. Older threads need a logged-in session, which this Actor does not use.

πŸ“ˆ How is the engagement rate calculated?

For each of the latest threads, likes, replies, reposts and quotes are added up. The average across those threads is divided by the follower count and shown as a percentage.

πŸ”’ Why is the thread count a round number for some profiles?

Threads itself publishes the total rounded above 1,000 (for example "1.6K Threads"). Below 1,000 the number is exact. Follower counts are always exact.

🚫 Why did some profiles come back as errors?

Either the account does not exist on Threads, or Threads does not show it to logged-out visitors and sends them to the login page instead. Those rows are free and carry the reason.

πŸ”’ What about private profiles?

When Threads shows the profile card of a private account, the row is flagged with isPrivate: "Yes" and carries only the threads Threads makes public. When Threads sends logged-out visitors to the login page instead, the row is a free error row.

πŸ”— Which input formats are accepted?

Usernames with or without @, and profile or post URLs on threads.com or threads.net. Duplicates are removed.

🌍 Do I need a proxy?

No. Profiles load without one. The proxy option is there for very large lists.

⏱ How fast is it?

About 2 seconds per profile with 4 profiles in parallel. 40 profiles took about 35 seconds in a local test.

πŸ–Ό Do image and video links expire?

Yes. Threads media links are signed by Meta and stop working after a few days. Download the media you need soon after the run.

πŸ“€ Which export formats are available?

CSV, Excel, JSON, JSONL, XML and HTML, plus the Apify API.

πŸ—“ Can I track profiles over time?

Yes. Schedule the Actor daily or weekly with the same list and compare followerCount, threadsCount and the averages between runs.

πŸ”Œ Integrate with any app

Use the Apify API, the JavaScript and Python clients, webhooks, or the ready integrations with Make, Zapier, Slack, Airbyte, GitHub and Google Drive to send each run's results wherever you work.

πŸ”— Recommended Actors

πŸ’‘ Pro Tip: browse the complete ParseForge collection.

πŸ†˜ Need Help? Open our contact form

⚠️ Disclaimer: this is an independent tool and is not affiliated with, endorsed by or sponsored by Threads or Meta. It collects only publicly available data.

What input does the Threads Profile Scraper - Followers, Bio & Engagement accept?

FieldTypeWhat it doesDefault
usernames array Threads usernames (with or without @) or profile URLs such as https://www.threads.com/@nasa. One per line. ["zuck","nasa","natgeo","nike","netflix"
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
includeLatestPosts boolean Add the latest threads (up to 15, the most Threads shows logged-out visitors) with text, date, media and engagement counts. Engagement averages are computed either way. true
proxyConfiguration object Threads profiles load without a proxy. Switch one on for very large lists. {"useApifyProxy":false}

How much does the Threads Profile Scraper - Followers, Bio & Engagement cost?

from $4.00 per 1,000 results

Charged forWhat it isPrice each
Profile Charged once per Threads profile row with data. Profiles that do not exist or are not public, and error rows, are free. $0.004 to $0.005

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the Threads Profile Scraper - Followers, Bio & Engagement API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~threads-profile-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "usernames": [
      "zuck",
      "nasa",
      "natgeo",
      "nike",
      "netflix"
    ],
    "maxItems": 10,
    "includeLatestPosts": true,
    "proxyConfiguration": {
      "useApifyProxy": false
    }
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "usernames": [
    "zuck",
    "nasa",
    "natgeo",
    "nike",
    "netflix"
  ],
  "maxItems": 10,
  "includeLatestPosts": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}

What do users say about the Threads Profile Scraper - Followers, Bio & Engagement?

No reviews yet. Be the first.

How do I report an issue with the Threads Profile Scraper - Followers, Bio & Engagement?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run Threads Profile Scraper - Followers, Bio & Engagement on Apify All scrapers