Threads Metrics Scraper avatar

Threads Metrics Scraper

Pricing

from $1.75 / 1,000 threads post metric snapshots

Go to Apify Store
Threads Metrics Scraper

Threads Metrics Scraper

Track public Threads post views, likes, replies, reposts, quotes, and shares from known post URLs. Get one clean snapshot row per attempted URL. No login required.

Pricing

from $1.75 / 1,000 threads post metric snapshots

Rating

0.0

(0)

Developer

Chronometrica

Chronometrica

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

πŸ“Š What does Threads Metrics Scraper do?

Threads Metrics Scraper collects current public engagement counts from known Threads post URLs. It returns clean snapshot rows for monitoring, reporting, research, and scheduled data work.

Each dataset row is one attempted public Threads post URL. Successful rows include stable post identity, public reply and quote links when available, text, author, date, media facts, views, likes, replies, reposts, quotes, shares, and precision labels. Failed inputs return a clear status row.

The Actor reads logged-out public Threads pages. It does not log in, use account details, access private posts, or bypass access controls.

With Threads Metrics Scraper, you can:

  • πŸ“ˆ Track public post engagement over time.
  • πŸ†” Resolve stable post IDs and canonical URLs.
  • πŸ“Š Collect views, likes, replies, reposts, quotes, and shares.
  • 🎯 Tell exact counts from unavailable counts.
  • πŸ“¦ Send snapshot rows to spreadsheets, databases, and automation tools.

πŸ“¦ What Threads metric data can I extract?

Data groupExample fields
πŸ†” Input and identityinputUrl, postId, postCode, postUrl
πŸ”— RelationshipsrootPostId, parentPostId, quotedPostId, replyDepth
🧾 Content and authorpublishedAt, text, authorUsername, authorProfileId
🎞️ MediamediaType, mediaCount, mediaWidth, hasAudio
πŸ“Š Metricsviews, likes, replies, reposts, quotes, shares
🎯 PrecisionviewsPrecision, likesPrecision, repliesPrecision
🚦 Statusstatus, statusReason, observedAt

Missing public counts stay null with unavailable precision. The Actor uses zero only when Threads returns zero.

βš™οΈ Can I use this Actor through an API?

Yes. Run the Actor in Apify Console or use it through:

  • Apify API
  • Python SDK
  • Node.js SDK
  • Webhooks
  • Scheduled runs
  • Apify integrations

This makes the Actor useful for metric monitors, campaign reports, dashboards, warehouse loads, and scheduled snapshots.

🎯 Why collect Threads post metrics?

Use caseHow the data helps
πŸ“ˆ Post monitoringSave dated engagement snapshots.
πŸ“£ Campaign reportingCompare public post response over time.
πŸ•΅οΈ Competitor reviewReview public engagement on known posts.
🧱 Data productsLoad one stable snapshot row per URL.

πŸ’΅ Pricing Event

Check the Pricing tab for the current price. Under pay-per-event pricing, one threads-post-metric event means one successful metric row. Invalid, unavailable, and failed rows do not use this event.

πŸš€ How do I use Threads Metrics Scraper?

  1. Create or log in to your Apify account.
  2. Open Threads Metrics Scraper.
  3. Enter one or more public Threads post URLs.
  4. Click Start.
  5. Open the Output tab to inspect the dataset and run summary.
  6. Download the data in JSON, JSONL, CSV, Excel, XML, RSS, or HTML.

⬇️ Input

The main input is postUrls.

πŸ”— Threads post URLs

{
"postUrls": ["https://www.threads.com/@threads/post/DcBlkTQESOw"]
}

πŸŽ›οΈ Settings

SettingWhat it controls
postUrlsOne to 100 public Threads post URLs. Each URL creates one attempted row and can add run time and cost. Tracking query values are removed.

⬆️ Output sample

Results are stored in the default dataset. Each result is one attempted public Threads post metric snapshot.

{
"platform": "threads",
"inputUrl": "https://www.threads.com/@threads/post/DcBlkTQESOw",
"postId": "3963614369355473840",
"postCode": "DcBlkTQESOw",
"postUrl": "https://www.threads.com/@threads/post/DcBlkTQESOw",
"isReply": false,
"rootPostId": null,
"rootPostCode": null,
"rootPostUrl": null,
"rootAuthorProfileId": null,
"parentPostId": null,
"parentPostCode": null,
"parentPostUrl": null,
"parentAuthorProfileId": null,
"replyDepth": null,
"isQuotePost": false,
"quotedPostId": null,
"quotedPostCode": null,
"quotedPostUrl": null,
"quotedAuthorProfileId": null,
"authorProfileId": "63082166531",
"authorProfileUrl": "https://www.threads.com/@threads",
"authorUsername": "threads",
"authorDisplayName": "Threads",
"authorVerified": true,
"publishedAt": "2026-08-14T13:41:14.000Z",
"text": "Example public post text",
"mediaType": "text",
"mediaCount": 0,
"mediaWidth": null,
"mediaHeight": null,
"hasAudio": null,
"videoDurationSeconds": null,
"views": 213000,
"likes": 1167,
"replies": 135,
"reposts": 48,
"quotes": 7,
"shares": 11,
"viewsPrecision": "rounded_display",
"likesPrecision": "exact",
"repliesPrecision": "exact",
"repostsPrecision": "exact",
"quotesPrecision": "exact",
"sharesPrecision": "exact",
"status": "ok",
"statusReason": null,
"observedAt": "2026-08-16T12:00:00.000Z"
}

πŸ“Œ Run summary

The OUTPUT record reports:

  • inputs received;
  • dataset, useful, and billable row counts;
  • duplicates skipped;
  • target status counts; and
  • the stop reason.

🎯 Status and quality fields

Each count has a matching precision field. exact means Threads exposed a typed full number. exact_display means Threads showed a full number. rounded_display means Threads showed a compact value such as 213K. unavailable means Threads did not expose the count.

status shows the outcome for each attempted URL. statusReason explains a non-ok result. Missing public counts stay null. They do not become zero.

πŸ”’ Source boundary

The Actor reads public logged-out Threads post pages. It stops when Threads asks for login or an access check.

⚠️ Limits and interpretation

  • Public counts can change after collection.
  • Threads can hide a count or page at any time.
  • Missing counts are not zero.
  • Repeated runs create separate dated snapshots.
  • Reply and quote fields stay null when the public post page does not expose a proven relationship.
  • replyDepth is 1 for a direct reply. It increases for each proven parent level.
  • Media width and height describe the primary attached media.
  • Video duration stays null for non-video posts and when Threads does not expose it.
  • Repost relationships are not included because a public repost URL resolves to the original post.
  • A failed public page is not proof that the post does not exist.

❓ FAQ

Does this Actor need login details or an API key?

No. It reads public logged-out Threads pages.

Why is a metric null?

Threads did not expose that count on the public page during the run. Check its precision field and row status.

Can I use this Actor on a schedule?

Yes. Each row has observedAt, so repeated runs form a time series.

This Actor collects data available on logged-out public Threads pages. You are responsible for making sure your use follows applicable laws, platform terms, and privacy rules.

Threads is a trademark of its owner. This Actor is independent and is not affiliated with, endorsed by, or sponsored by Threads or Meta.

πŸ›Ÿ Support

Send the run ID, input URL, expected metric, observed output, and the time of the run. Include one affected dataset row when possible.