Meta Threads Profile Scraper avatar

Meta Threads Profile Scraper

Pricing

from $2.80 / 1,000 results

Go to Apify Store
Meta Threads Profile Scraper

Meta Threads Profile Scraper

Scrape public Meta Threads profiles in bulk: followers, verified status, bio, bio links, topics and profile picture, plus posts, replies, reposts or media with likes and replies. No login needed. Great for influencer research, lead lists and audience analysis.

Pricing

from $2.80 / 1,000 results

Rating

0.0

(0)

Developer

Data WiKi

Data WiKi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Features

Limited permissions

Share

🚀 What is Meta Threads Profile Scraper?

Meta Threads Profile Scraper is an Apify Actor and threads profile scraper for public accounts. Give it usernames or profile links and it returns followers, verification, bio, bio links and topics, plus the posts, replies, reposts or media posts of each profile. It needs no Threads login, cookies or browser.

  • One list, one tab each: pick posts, replies, reposts or media for every profile, or collect profile details only.
  • Date filter: keep items newer than 12h, 7d, 2w, 3m, 1y or a calendar date.
  • Rows arrive as profiles finish: you can open the dataset while the run is still going.
  • Plain requests, 1,024 MB: the Actor starts without a proxy and switches to a proxy when Threads rejects requests.
  • Pay per saved row: one main_result event per item, see the pricing section.

Click Try for free, add usernames under Threads profiles, press Start.

📊 What data can you extract from Threads?

Every saved row is one item of the tab you chose, written as JSON that exports to CSV or Excel. A post row carries the profile details of its author next to the post, so Threads profile data and the posts sit in one table. As a Threads data extractor the Actor covers profile and post fields alike. Profile rows appear when the content type is none, when a profile is private, or when a tab holds no items.

The engagement counts on each post row are Threads post engagement data you can compare across accounts. Post rows have up to 31 fields:

FieldDescriptionExample
usernameProfile the row was collected fromexamplecreator
profile_urlLink to that profilehttps://www.threads.com/@examplecreator
profile_idNumeric profile ID"1000000001"
full_nameDisplay nameExample Creator
is_verifiedWhether the profile shows the Threads verified badgefalse
follower_countFollowers of the profile12500
profile_pic_urlLink to the Threads profile picturehttps://example.com/pic.jpg
idPost ID"1000000000000000001"
codeShort code in the post linkEXAMPLE1abc
urlPost linkhttps://www.threads.com/@examplecreator/post/EXAMPLE1abc
authorUsername of the post author (the original author on reposts)examplecreator
textPost textFictional sample post about coffee. #coffee
created_atPosting time, UTC2026-11-04T09:30:00Z
typeimage, video, carousel or textimage
like_countLikes120
reply_countReplies14
repost_countReposts6
quote_countQuotes2
is_replyTrue when the item is a replyfalse
reply_toUsername that was answerednull
is_pinnedTrue for the pinned postfalse
is_editedTrue when the post was editedfalse
topicTopic tag of the postnull
hashtagsHashtags found in the text["coffee"]
mentionsMentioned usernames[]
linksLinks in the text[]
link_previewLink card with url, title, domainnull
mediaImages and videos with type, url, thumbnail_url, width, height, alt_textsee Output
quoted_postQuoted post with id, url, author, text, created_at, like_count, reply_countnull
reply_controlWho may reply, as shown by Threadsnull
reposted_atTime of the repost, only on repost rows2026-11-05T08:00:00Z

Profile rows have these fields:

FieldDescriptionExample
usernameProfile usernameexamplecreator
urlProfile linkhttps://www.threads.com/@examplecreator
idNumeric profile ID"1000000001"
full_nameDisplay nameExample Creator
is_verifiedVerification flagfalse
is_privateTrue for private profilesfalse
follower_countFollowers12500
threads_count_labelThread count as the profile page shows it, rounded1.5K
biographyBio textCoffee notes and weekend bakes
bio_linksThe Threads bio links as plain URLs["https://example.com"]
bio_mentionsUsernames mentioned in the bio["examplebrand"]
topicsTopics shown on the profile["Food"]
profile_pic_urlProfile picture linkhttps://example.com/pic.jpg

Items the Actor cannot read are saved as null or an empty list. The Output tab shows Profiles, Posts and Media tables; the table view does not show every field, so download the dataset for all of them. Use is_verified to see which accounts are a Threads verified account.

💡 Use cases for Threads data

  • Influencer research: Threads influencer research starts with follower_count, is_verified, biography and topics for every account on your shortlist.
  • Competitor analysis: For Threads competitor analysis, pull a rival's recent posts and compare repost_count, quote_count and created_at.
  • Brand monitoring: Schedule a weekly run with postedAfter set to 7d for Threads brand monitoring on your own and partner accounts.
  • Audience growth: The Threads followers count is in every row. Keep the datasets from scheduled runs and you have a simple Threads follower tracker.
  • Content research: Sort a profile's posts by like_count for Threads content research. Read hashtags to see which Threads hashtags an account uses.
  • Outreach research: Threads lead generation can start from bio_links and bio_mentions; the Actor does not collect email addresses.
  • Records and AI: Archive Threads posts with their text, dates and media links. Build a Threads dataset for analysis or models.
  • Account watchlist: Monitor Threads accounts you choose by running the same list each week and comparing the datasets.

🛠️ How to scrape Threads profiles

  1. Create a free Apify account and open Meta Threads Profile Scraper.
  2. Add usernames, @names or profile links under Threads profiles, one per line.
  3. Choose Content to collect: Posts, Replies, Reposts, Media posts or None for profile details only.
  4. Set Maximum items per profile and, if you want, Only items newer than, for example 7d.
  5. Leave Proxy on its default and press Start.
  6. Watch the log counters, then open the Output tab.
  7. Download Threads posts and profiles as JSON, CSV, Excel, XML or HTML.

A Threads profile viewer shows one account at a time. This Actor reads a whole list and puts the profile details of every username into one table. Run it as a Threads profile downloader when you only need follower counts and bios: set Content to collect to None.

Threads data scraping with this Actor is simple: a list goes in and one row per saved item comes out. The Actor reads only what a visitor can see on Threads, and the integration section below shows how to run it on a schedule.

How to scrape posts from one profile

Set feed to posts and maxItems to the number you need. A Threads post scraper for a single account needs only these two values. To scrape Threads posts from the last week, add postedAfter set to 7d.

How to collect replies, reposts or media

Set feed to replies and the Actor works as a Threads replies scraper for each profile's own replies. Choose reposts to receive Threads reposts as rows of the original post with reposted_at filled. Choose media to receive Threads media posts. The Actor returns media links rather than files, so it is not a Threads media downloader.

💰 How much does it cost to scrape Threads?

The Actor uses pay per event. The Pricing tab shows the current rates, and the table below lists them.

EventWhen it is chargedFreeBronzeSilverGold, Platinum, Diamond
main_resultOnce for every saved item (a post, reply, repost, media post, or a profile row)$0.004$0.0036$0.0032$0.0028
apify-actor-startOnce per run (one event per GB of memory, this Actor is set to 1,024 MB)$0.00005$0.00005$0.00005$0.00005

Per 1,000 saved items that is $4.00, $3.60, $3.20 and $2.80 for the four columns. Apify platform usage (compute) is billed on top of the events above.

Worked example at the Free price: 500 posts cost 500 x $0.004 = $2.00, and 100 profile rows with content type none cost 100 x $0.004 = $0.40. Add $0.00005 for the start of each run. Items that fail are saved as an error row and are not charged. You can set a maximum cost per run in Apify; the Actor stops cleanly when it is reached.

⬇️ Input

Only urls is required. The example below collects the latest post of one profile, newer than seven days.

{
"urls": ["examplecreator"],
"feed": "posts",
"maxItems": 1,
"postedAfter": "7d",
"proxyConfiguration": { "useApifyProxy": true }
}
FieldDescriptionDefault
urlsUsernames, @names or profile or post links, one per line. Duplicates are removed; entries that are not a Threads username or link are skipped.none, required
feedposts, replies, reposts, media or none (profile details only)posts
maxItemsItems to keep per profile, 1 to 200010
postedAfterKeep items posted after this point: 12h, 7d, 2w, 3m, 1y (m is 30 days, y is 365 days) or a date such as 2026-01-31. Ignored when feed is none.empty, no filter
includeAnalyticsReserved for a later version. It has no effect and adds nothing to the output.true
proxyConfigurationOptional proxy settings. Requests start without a proxy and switch to a proxy when rejected.Apify Proxy on

💡 Keep maxItems low for a first test run. See the Input tab for every option.

⬆️ Output

The results are shown as a dataset in the Storage tab. The table view is for convenience and does not show all the fields. Export formats are JSON, CSV, Excel, XML and HTML. For a long list it acts as a threads exporter that writes one file for all profiles. The sample below is fictional and matches the input above.

[
{
"username": "examplecreator",
"profile_url": "https://www.threads.com/@examplecreator",
"profile_id": "1000000001",
"full_name": "Example Creator",
"is_verified": false,
"follower_count": 12500,
"profile_pic_url": "https://example.com/pic.jpg",
"id": "1000000000000000001",
"code": "EXAMPLE1abc",
"url": "https://www.threads.com/@examplecreator/post/EXAMPLE1abc",
"author": "examplecreator",
"text": "Fictional sample post about coffee. #coffee",
"created_at": "2026-11-04T09:30:00Z",
"type": "image",
"like_count": 120,
"reply_count": 14,
"repost_count": 6,
"quote_count": 2,
"is_reply": false,
"reply_to": null,
"is_pinned": false,
"is_edited": false,
"topic": null,
"hashtags": ["coffee"],
"mentions": [],
"links": [],
"link_preview": null,
"media": [
{
"type": "image",
"url": "https://example.com/photo.jpg",
"thumbnail_url": null,
"width": 1080,
"height": 1350,
"alt_text": null
}
],
"quoted_post": null,
"reply_control": null
}
]

Profile details output

With "urls": ["examplecreator"] and "feed": "none" the run saves one profile row:

[
{
"username": "examplecreator",
"url": "https://www.threads.com/@examplecreator",
"id": "1000000001",
"full_name": "Example Creator",
"is_verified": false,
"is_private": false,
"follower_count": 12500,
"threads_count_label": "1.5K",
"biography": "Coffee notes and weekend bakes",
"bio_links": ["https://example.com"],
"bio_mentions": ["examplebrand"],
"topics": ["Food"],
"profile_pic_url": "https://example.com/pic.jpg"
}
]

Error rows

A profile that cannot be read is saved as { "username": "...", "url": "...", "error": "not_found" }. Error rows are never charged. The error value is one of not_found, blocked, transport, source_changed or failed.

⚠️ Limitations and error handling

  • Public data only: a private profile returns its profile row (is_private is true) and no items.
  • Item ceiling: reading of a profile stops after 2000 examined items, and the log says the profile was only partly read. Items skipped by the date filter count as examined.
  • Smaller tabs: replies, reposts and media tabs can hold fewer items than the posts tab.
  • Blocked requests: the Actor retries up to three times, switches to a proxy, and keeps the items it already collected for that profile. If nothing could be saved because access was blocked, the run ends with a message that says so; try again later or set a proxy in the Proxy input.
  • Unreachable site: after several network failures in a row the Actor stops reading, and profiles it could not reach are saved with the transport error.
  • Page changes: if Threads changes how a profile page is built, affected profiles come back with source_changed until the Actor is updated.
  • Date filter: postedAfter only filters items. It is ignored with a log warning when feed is none, and an unreadable value stops the run with a message that names the field.
  • Concurrency: up to six profiles are read at the same time.
  • Run summary: the key-value store record RUN_SUMMARY holds totalProfiles, savedItems, chargedItems, failedItems, skippedProfiles, durationSecs and feed.
  • Reserved option: includeAnalytics has no effect in this version.

⚠️ Results reflect what Threads shows publicly at the time of the run.

🔌 Integrating Meta Threads Profile Scraper with other apps

Start the Actor from the Console, a schedule or code. One call to the Apify API works as a Threads scraper API for any language:

curl -X POST "https://api.apify.com/v2/actors/data_wiki~meta-threads-profile-scraper/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"urls":["examplecreator"],"feed":"posts","maxItems":10}'

🔗 Other Threads and social media scrapers by data_wiki

These Actors cover what Meta Threads Profile Scraper does not do. For another network, a social media profile scraper such as Bluesky profiles, posts and followers works on the same idea.

ActorWhat it extractsWhen to use it
Threads ScraperThreads profiles, posts, replies and keyword or hashtag search results; four modes including search and post links, reply threads, a minimum-likes filter and a before dateYou want to search Threads or read specific posts and the replies under them
Threads Scraper - Posts, Profiles & SearchSix modes: user posts, reposts and replies, keyword search, Find Profiles by keyword and post links; contact details found in biosYou need to discover accounts by keyword or collect contact details from bios
Bluesky Scraper Enterprise GradeBluesky posts, comments, profiles, followers and followingYour creators or audience are also on Bluesky
Instagram Hashtag ScraperPublic Instagram reels by hashtag or keyword with plays, likes and commentsYou research creators across Meta platforms, starting from hashtags

Meta Threads Profile Scraper only collects data that anyone can see on Threads without logging in, and it is an independent tool that is not affiliated with Meta. Results can still contain personal data, so use them only with a legitimate reason and follow GDPR, CCPA and the platform's terms. Read is web scraping legal? and what is ethical web scraping if you are unsure, and ask a lawyer for advice on your case.

❓ FAQ

What does a threads profile scraper collect?

It collects the public details of each profile you list (followers, verification, bio, bio links, topics, picture link) and, if you choose a tab, the posts, replies, reposts or media posts with their counts, hashtags, mentions, links and media URLs.

Do I need a Threads account or cookies?

No. The Actor reads public pages only and needs no login, cookies or API key from you.

How do I scrape data from Threads for many accounts?

Put one username or link per line in urls, pick a tab and a maxItems value, and start the run. Duplicates are removed, and several profiles are read in parallel.

Is there a threads profile API?

This Actor does not use an official Threads API. You start it and read the dataset through the Apify API, which also gives you JSON, CSV and Excel exports.

How many items can I get per profile?

Up to the maxItems you set, with a maximum of 2000. Reading a profile stops after 2000 examined items, and tabs such as replies can hold fewer.

Can I export Threads posts to a spreadsheet?

Yes. Open the dataset and choose CSV or Excel to export Threads posts. You can also export Threads data to a sheet with an integration.

Can I scrape private profiles?

No. A private profile returns only its public profile fields.

Which Threads Actor should I use?

Use this one when you already have a list of profiles and want their details plus one tab per profile with a relative date filter. Use Threads Scraper with search, post links and reply threads for search, exact posts, replies under a post, a minimum-likes filter or an end date. Use the Threads Actor with Find Profiles and bio contact details to find accounts by keyword.

Why is a field empty?

Fields that a post or profile does not have, such as links or a quoted post, are null or an empty list.

Can I use it through an MCP server?

Yes. AI agents can find and run the Actor through the Apify MCP server.

💬 Your feedback

Found a bug or need another field? Open an issue in the Actor's Issues tab. Need a custom solution? Contact hello.datawiki@gmail.com.