Brand monitoring on Threads does not need to mean managing a browser profile or collecting private data. A useful baseline is a time-bounded feed of public profile posts and public keyword-search results, with duplicates removed before they reach a sheet, dashboard, or alert workflow.
The Threads Scraper has a monitor mode that combines those two sources. It requests public Threads pages using HTTP only and does not require a Threads login, cookies, browser automation, or private APIs. It is stateless: the caller supplies a since cutoff for each monitoring run.
1. Define the public watch
{
"mode": "monitor",
"usernames": ["examplebrand"],
"queries": ["ExampleBrand", "Example Brand"],
"since": "2026-09-01T00:00:00Z",
"includeKeywords": ["ExampleBrand", "Example Brand"],
"maxResults": 50,
"sortBy": "newest"
}
At least one of usernames or queries is required. The post processing order is normalize, deduplicate, filter, sort, then truncate. It means maxResults caps final unique monitoring rows rather than a separate limit per source.
2. Advance since in the scheduler
The Actor does not save a hidden monitoring cursor. For a recurring integration, pass the last successful cutoff as since on the next run. This is deliberate: the calling workflow controls the time window and can replay a period if it needs to recover an alert destination.
3. Use provenance to understand why a post matched
{
"id": "threads-post-example",
"url": "https://www.threads.com/@example/post/EXAMPLE",
"text": "Example public post text mentioning ExampleBrand.",
"publishedAt": "2026-09-01T08:45:00.000Z",
"likeCount": 12,
"author": {
"username": "public_author",
"isVerified": false
},
"matchedProfiles": ["examplebrand"],
"matchedQueries": ["ExampleBrand"],
"sourceTypes": ["profile", "search"],
"hashtags": [],
"mentions": [],
"scrapedAt": "2026-09-01T09:00:00.000Z"
}
Some public fields can be null when Threads does not expose them on the requested page. This is public-content monitoring, not access to private accounts, DMs, comments, replies, or a complete historical stream.
Cost
The current monitor result price is $0.002 per final unique monitoring row, plus a $0.00005 Actor start event. Duplicate, filtered, skipped, and empty results are not final result events. Recheck the pricing page when choosing the operational cap.
Try it
Use the existing brand-monitoring Task: Monitor Threads mentions.
See the Threads Scraper Actor page for the public-data scope and all monitor filters.
Top comments (0)