Threads Profile Scraper: Followers, Engagement & Posts avatar

Threads Profile Scraper: Followers, Engagement & Posts

Pricing

Pay per event

Go to Apify Store
Threads Profile Scraper: Followers, Engagement & Posts

Threads Profile Scraper: Followers, Engagement & Posts

Threads scraper for Meta Threads profiles in bulk: follower count, full name, bio, bio links, verified badge, profile picture, average likes and replies, engagement rate and the latest posts with likes, replies, reposts, quotes and media. No login. Pay per result.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Torix

Torix

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Threads Profile Scraper — Followers, Engagement Rate & Latest Posts

Scrape Threads (by Meta) profiles in bulk without logging in: follower count, full name, bio, bio links, verified badge, profile picture and user ID — plus average likes, average replies, engagement rate and last-post date calculated from the profile's latest posts. Optionally export those latest posts with likes, replies, reposts, quotes, text, hashtags, mentions, links, images and video.

Built for influencer vetting and brand monitoring: paste hundreds of usernames and get one comparison table.

How to run it in 3 steps

  1. Add your input. In Threads profiles paste Threads usernames or profile links — e.g. zuck or https://www.threads.net/@nasa. The form is already filled with a working example, so you can skip this step for a first try.
  2. Press Start. The prefilled run returns 2 profiles + 8 posts in about 4 s and costs about $0.014. Set Max results (cost cap) to cap the cost of bigger runs; you only pay for profiles actually delivered.
  3. Get the data. Open the Output tab and export JSON, CSV or Excel — or run it from the API, Make, Zapier, n8n or an AI agent (see below).

Features

  • No login, no cookies, no account risk.
  • Ready-made engagement metrics per profile: avgLikes, avgReplies, engagementRate (% of followers), lastPostAt.
  • Latest posts included with full engagement counts.
  • HTTP only, no browser: ~1 second per profile; profiles and posts are priced separately so you only pay for what you use.

Use cases

  • Influencer marketing: shortlist creators by followers and real engagement.
  • Competitor & brand monitoring: track follower growth and posting activity over time (schedule daily runs).
  • Lead generation: collect bio links and websites of creators in a niche.
  • Social listening: latest posts of key accounts with engagement.

Input

{
"usernames": ["zuck", "@mosseri", "https://www.threads.com/@nasa"],
"includePosts": true,
"includeReplies": false
}

Output — profile (type: "profile")

Real output (default input)

First 2 of 10 records from a run with the prefilled input (4.9 s on a test machine; long values shortened here):

[
{
"type": "profile",
"username": "mosseri",
"url": "https://www.threads.com/@mosseri",
"fullName": "Adam Mosseri",
"biography": "Father of three boys, married to an amazing woman, head of Instagram and supporter of Threads.",
"bioLinks": [
"http://mosseri.net/"
],
"followers": 1049356,
"isVerified": true,
"profilePicUrl": "https://scontent-fra5-1.cdninstagram.com/v/t51.82787-19/652081753_17949596661115443_3143547630500927369_n.jpg?stp=dst-jpg_s640x640_tt6&efg=e…",
"userId": "63482099442",
"recentPostsCount": 4,
"avgLikes": 472,
"avgReplies": 314,
"engagementRate": 0.08,
"lastPostAt": "2026-10-12T17:09:03.000Z",
"scrapedAt": "2026-10-15T12:16:26.744Z"
},
{
"type": "post",
"postId": "4006440464237129219",
"code": "DeZvGAMmu4D",
"url": "https://www.threads.com/@mosseri/post/DeZvGAMmu4D",
"username": "mosseri",
"text": "Big day for the Muse team with the introduction of Muse Wonder, our most capable model yet. Wonder is built for the long, messy tasks that c…",
"createdAt": "2026-10-12T17:09:03.000Z",
"likes": 1018,
"replies": 1003,
"reposts": 71,
"quotes": 30,
"reshares": 28,
"isReply": false,
"hashtags": [],
"mentions": [],
"links": [],
"linkPreview": null,
"images": [],
"videoUrl": null,
"mediaType": 19,
"scrapedAt": "2026-10-15T12:16:26.744Z"
}
]
{
"type": "profile",
"username": "zuck",
"url": "https://www.threads.com/@zuck",
"fullName": "Mark Zuckerberg",
"biography": "Mostly superintelligence and MMA takes",
"bioLinks": [],
"followers": 5745521,
"isVerified": true,
"profilePicUrl": "https://scontent…cdninstagram.com/…jpg",
"userId": "63055343223",
"recentPostsCount": 4,
"avgLikes": 2105,
"avgReplies": 310,
"engagementRate": 0.05,
"lastPostAt": "2026-10-12T16:56:29.000Z"
}

Output — post (type: "post")

{
"type": "post",
"postId": "4006434140014576097",
"code": "DeZtp-TkQHh",
"url": "https://www.threads.com/@zuck/post/DeZtp-TkQHh",
"username": "zuck",
"text": "Introducing Muse Wonder, our new family of frontier models…",
"createdAt": "2026-10-12T16:56:29.000Z",
"likes": 1723,
"replies": 261,
"reposts": 116,
"quotes": 53,
"reshares": 133,
"isReply": false,
"hashtags": [],
"mentions": [],
"links": [],
"images": ["https://scontent…cdninstagram.com/…webp"],
"videoUrl": null
}

Use the Profiles and Posts dataset views to export each type.

Ask in plain English

Using Apify AI, Claude, ChatGPT or another MCP client? Just describe what you need, the agent fills the input for you:

You askInput the agent sends
"How many followers do zuck and mosseri have on Threads?"{"usernames": ["zuck", "mosseri"]}
"Get the latest posts from the Threads account of nasa"{"usernames": ["nasa"], "includePosts": true}

Use with AI agents (MCP), LangChain, RAG & the API

This actor is a ready-made tool for AI agents: an LLM can call it, wait for the run and read clean JSON back.

MCP server (Claude Desktop, Claude Code, Cursor, VS Code, any MCP client) — add Apify's hosted MCP server with this actor enabled as a tool:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=torix33/threads-profile-scraper",
"headers": { "Authorization": "Bearer <APIFY_TOKEN>" }
}
}
}

LangChain / LangGraph (pip install langchain-apify, set APIFY_API_TOKEN):

import json
from langchain_apify import ApifyActorsTool, ApifyWrapper
from langchain_core.documents import Document
# 1) give the actor to an agent as a tool
tool = ApifyActorsTool("torix33/threads-profile-scraper")
# 2) or load results as Documents for a RAG index
loader = ApifyWrapper().call_actor(
actor_id="torix33/threads-profile-scraper",
run_input={"usernames": ["zuck", "@mosseri", "https://www.threads.com/@nasa"], "includePosts": True, "includeReplies": False},
dataset_mapping_function=lambda item: Document(page_content=json.dumps(item, ensure_ascii=False), metadata={"url": item.get("url")}),
)
docs = loader.load()

REST API — one synchronous call, dataset items in the response:

curl -X POST "https://api.apify.com/v2/acts/torix33~threads-profile-scraper/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"usernames": ["zuck", "@mosseri", "https://www.threads.com/@nasa"], "includePosts": true, "includeReplies": false}'

Also works with the Apify Python/JS clients, Make, Zapier, n8n, Google Sheets, webhooks and schedules. Export as JSON, CSV, Excel, XML or RSS.

RAG tip: An influencer-vetting agent can rank profiles by engagementRate and lastPostAt and summarise their latest posts in one pass.

Pricing

  • $3.00 per 1,000 profiles ($0.003 per profile).
  • $1.00 per 1,000 posts ($0.001 per post).
  • The prefilled input is billed for 2 profiles + 8 posts → $0.014.
  • Example: 1,000 profiles → $3.00; 10,000 → $30.00. Set Max results (cost cap) to limit any run.

Profiles that don't exist or aren't public cost nothing.

Limitations

  • Logged-out Threads shows a profile's latest few posts (typically 4–10); this actor returns exactly what is public — it does not log in.
  • Following counts are not shown publicly and are therefore not included.

FAQ

Do I need an Instagram or Threads account? No. Logged-out public data only, so no account risk.

How many posts per profile? What Threads shows logged-out: the latest few posts (typically 4–10).

How is engagement rate calculated? Average likes + replies + reposts of the latest posts divided by followers, in percent.