# Threads Brand Mentions, Keyword Alerts & Influencer Discovery (`scrapemint/meta-threads-intelligence`) Actor

Monitor Meta Threads for brand mentions, keyword alerts, and creator activity. Input handles, search terms, or post URLs. Returns text, like and reply counts, mentions, hashtags, media URLs, and timestamps. Built for social listening, PR teams, and influencer marketers. Pay per post.

- **URL**: https://apify.com/scrapemint/meta-threads-intelligence.md
- **Developed by:** [Ken M](https://apify.com/scrapemint) (community)
- **Categories:** Developer tools, Social media, Other
- **Stats:** 8 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$8.00 / 1,000 meta threads post rows

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Threads Intelligence — Brand Mentions, Keyword Alerts & Influencer Discovery

Monitor Meta Threads for brand mentions, keyword alerts, and creator activity. Every row carries text, like and reply counts, mentions, hashtags, media URLs, and the post timestamp. Inputs: handles, search terms, or specific post URLs. Built for social listening teams, PR, competitive intel, and influencer marketers. Pay per post.

**Ranks for:** Threads scraper, Threads API alternative, Threads brand monitoring, Threads keyword alerts, Threads influencer discovery, Meta Threads social listening, Threads mention tracking.

***

### How it works

```mermaid
flowchart LR
    A[Handles, keywords,<br/>or post URLs] --> B[Threads.com SPA]
    B --> C[Intercept GraphQL<br/>response payloads]
    C --> D[Normalize to flat<br/>post rows]
    D --> E[JSON dataset]
```

The actor opens each profile, search results page, or post permalink in a real Chromium with a generated fingerprint, then captures the GraphQL responses Threads' own front end consumes. Posts are deduped by code so multi page results from infinite scroll do not double count.

***

### Who uses this

| Role | Use case |
|---|---|
| **PR and brand teams** | Catch every Threads mention of your brand, product, or executives. |
| **Competitive intel** | Track competitor product launches, customer complaints, and feature buzz. |
| **Influencer marketers** | Discover creators in a topic by ranking by likes and replies. |
| **Crisis ops** | Surface sudden spikes around a keyword to the on call channel. |
| **Researchers** | Build datasets of public Threads conversations on any topic. |

***

### Quick start

**Pull recent posts from a handle:**

```json
{
  "usernames": ["zuck"],
  "maxItemsPerSource": 25
}
```

**Brand monitoring across keywords:**

```json
{
  "searchTerms": ["acme corp", "@acme", "acme launch"],
  "minLikes": 5,
  "maxItemsPerSource": 100
}
```

**Mix handles and keywords in one run:**

```json
{
  "usernames": ["mosseri", "zuck"],
  "searchTerms": ["instagram launch"],
  "verifiedOnly": true
}
```

**Hydrate specific post URLs:**

```json
{
  "postUrls": [
    "https://www.threads.com/@zuck/post/CzHTBfJv2TK"
  ]
}
```

***

### Sample output

```json
{
  "id": "3141592653589793238",
  "code": "CzHTBfJv2TK",
  "url": "https://www.threads.com/@zuck/post/CzHTBfJv2TK",
  "author": {
    "username": "zuck",
    "displayName": "Mark Zuckerberg",
    "verified": true,
    "followerCount": 10500000,
    "profilePicUrl": "https://scontent.cdninstagram.com/..."
  },
  "text": "Excited to share what we have been building...",
  "createdAt": "2026-04-28T17:32:11.000Z",
  "likeCount": 42118,
  "replyCount": 3104,
  "repostCount": 812,
  "quoteCount": 401,
  "mentions": ["instagram", "mosseri"],
  "hashtags": ["threads", "launch"],
  "mediaUrls": [
    "https://scontent.cdninstagram.com/.../image1.jpg"
  ],
  "isReply": false,
  "language": "en",
  "source": "username:zuck",
  "sourceType": "username",
  "scrapedAt": "2026-05-03T13:45:00.000Z"
}
```

***

### Input modes

| Field | Use it for |
|---|---|
| `usernames` | Pull recent posts from a creator. Returns the user's feed of original posts and reposts. |
| `searchTerms` | Brand and topic monitoring. Returns top matching posts across all of Threads. |
| `postUrls` | Hydrate a known post permalink with current engagement counts. |

You can mix all three in a single run. The `dedupe` flag prevents the same post showing up twice when a creator post also matches a keyword search.

***

### Schedule it

Run hourly to catch every new mention of your brand. The dedupe key value store ensures the same post is not pushed twice across runs unless engagement counts changed.

```mermaid
flowchart LR
    A[Cron every 60 min] --> B[Run actor with<br/>brand keywords]
    B --> C{New posts?}
    C -- Yes --> D[Webhook to Slack<br/>or your CRM]
    C -- No --> E[Sleep]
```

***

### Pricing

The first 10 posts per run are free. After that, $0.002 per post pushed. Search and profile fetches are not metered, so a low signal keyword search only costs for the matches it returns.

***

### FAQ

#### Where does the data come from?

Public Threads pages on threads.com, rendered through a real Chromium with fingerprint injection. The actor reads the same GraphQL payloads the Threads web UI consumes.

#### Do I need a Meta account or token?

No. Only public posts are returned and no login is performed.

#### How fresh is the data?

Real time. Each run hits the live Threads page so you see the same engagement counts the public web shows.

#### Can I get private or follower only posts?

No. Only publicly visible posts are scraped. Posts behind a private account or marked follower only are skipped.

#### How many posts can I pull per handle?

The actor scrolls the profile to trigger lazy loading. The default 3 scroll passes typically yields 25 to 40 recent posts. Increase `scrollPasses` for deeper history at the cost of run time.

#### Will it work for non English posts?

Yes. Text is captured as Unicode and the `language` field comes from Threads' own language detection.

#### Can I run this on a schedule?

Yes. Use the Apify scheduler. Hourly catches new brand mentions. Daily is enough for creator activity tracking.

#### What happens if Threads soft blocks the request?

The actor uses fingerprinted Chrome and rotates Apify proxy sessions. If a single source is blocked the run continues with the others and the failed request is logged.

#### Is this affiliated with Meta?

No. This is a third party Apify actor that consumes public Threads pages. Meta is not involved.

***

### Related actors

- **Instagram Scraper** — public Instagram profiles, posts, and reel metrics
- **TikTok Scraper** — TikTok video and creator stats
- **YouTube Scraper** — YouTube video metadata and comment threads
- **LinkedIn Profile Posts Scraper** — recent posts from any public LinkedIn profile
- **Reddit Lead Monitor** — keyword alerts for Reddit threads and comments

# Actor input Schema

## `usernames` (type: `array`):

Public Threads handles to pull recent posts from. Leading @ is optional. Examples: zuck, mosseri, natemurray.

## `searchTerms` (type: `array`):

Keyword searches against Threads. Returns top matching posts. Use brand names, product names, or topics for monitoring.

## `postUrls` (type: `array`):

Specific post permalinks (https://www.threads.com/@user/post/CODE). Returns the post and any author engagement metrics rendered on the page.

## `minLikes` (type: `integer`):

Drop posts with fewer likes. Useful for filtering noise on broad keyword searches. Set to 0 to keep everything.

## `minReplies` (type: `integer`):

Drop posts with fewer replies.

## `verifiedOnly` (type: `boolean`):

Keep only posts from accounts with the Meta verified badge.

## `maxItemsPerSource` (type: `integer`):

Cap on posts returned per handle, search term, or post URL.

## `maxItemsTotal` (type: `integer`):

Hard cap across all sources. Controls total cost.

## `scrollPasses` (type: `integer`):

Number of times to scroll the page to trigger lazy loaded posts. Each pass typically loads 5 to 10 more posts. Higher values cost more time per source.

## `dedupe` (type: `boolean`):

Skip posts already pushed in previous runs (key is post code). Turn off to track engagement changes over time.

## `proxyConfiguration` (type: `object`):

Apify proxy. Threads accepts datacenter for moderate volume. Switch to residential if you see soft blocks.

## Actor input object example

```json
{
  "usernames": [
    "zuck"
  ],
  "searchTerms": [],
  "postUrls": [],
  "minLikes": 0,
  "minReplies": 0,
  "verifiedOnly": false,
  "maxItemsPerSource": 25,
  "maxItemsTotal": 100,
  "scrollPasses": 3,
  "dedupe": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "usernames": [
        "zuck"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapemint/meta-threads-intelligence").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "usernames": ["zuck"],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapemint/meta-threads-intelligence").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "usernames": [
    "zuck"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call scrapemint/meta-threads-intelligence --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapemint/meta-threads-intelligence",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/ElA1JR3t0dZ0iOXRb/builds/KhinGEPhoyFCdN9wr/openapi.json
