# All Forums Thread Scraper (`agentx/all-forums-thread-scraper`) Actor

A forum scraper that searches 21 sources from one keyword and returns 21-field discussion rows with complete Markdown content, titles, links, authors, dates, engagement, and source state. Covers forums, Q\&A sites, aggregators, and developer communities in Japanese, Chinese, Korean, and Russian.

- **URL**: https://apify.com/agentx/all-forums-thread-scraper.md
- **Developed by:** [AgentX](https://apify.com/agentx) (community)
- **Categories:** Social media, SEO tools, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.13 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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

**All Forums Thread Scraper is a forum scraper that searches twenty-one sources from one keyword and returns public discussions with complete Markdown content, title, link, author, timestamp, score, and reply count in one normalized shape.** One source searches the open web, which is how threads on forums that publish no API are reached at all; the other twenty query their communities' own search surfaces, so rows can carry source-published engagement instead of only a result snippet.

[![Apify Users](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~all-forums-thread-scraper\&query=%24.data.stats.totalUsers\&style=for-the-badge\&label=Apify%20Users\&color=ff9013)](https://apify.com/agentx/all-forums-thread-scraper) [![Apify Runs](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~all-forums-thread-scraper\&query=%24.data.stats.totalRuns\&style=for-the-badge\&label=Apify%20Runs\&color=ff9013)](https://apify.com/agentx/all-forums-thread-scraper) [![$0.0015 per result](https://img.shields.io/badge/%240.0015%20%2F%20result-4285f4?style=for-the-badge)](https://apify.com/agentx/all-forums-thread-scraper/pricing) [![21 sources](https://img.shields.io/badge/21%20sources-34a853?style=for-the-badge)](https://console.apify.com/actors/agentx~all-forums-thread-scraper/input) [![API + MCP ready](https://img.shields.io/badge/API%20%2B%20MCP%20ready-fbbc05?style=for-the-badge)](https://apify.com/agentx/all-forums-thread-scraper/api)

- **Twenty-one sources behind one input.** Bing for the open web, plus Hacker News, five Stack Exchange sites, two Lemmy instances, five Discourse communities, and seven developer communities in Japanese, Chinese, Korean and Russian.
- **Twenty-one documented fields per row.** Platform, forum domain, title, canonical and linked-source URLs, list excerpt, complete Markdown content, author, dates, engagement, state, tags, thread ID, and processing provenance.
- **One row per discussion, not per source.** A thread surfaced by both a search engine and a forum's own API is saved once, keyed on its canonical address.
- **Source values only.** A search engine knows a thread's title and address but not its score, and those fields stay empty rather than being filled with a zero that would read as a measurement.

The smallest useful run requests one discussion and costs $0.0415 on the FREE tier: $0.04 for Actor Start plus $0.0015 for one Result.

### Why Choose All Forums Thread Scraper

**One keyword reaches two kinds of source.** Forums running XenForo, phpBB, or vBulletin publish no search API, so a web search engine is the only public index of them. Forums that do publish an API return the thread's own numbers. Reading both in one run is what makes a keyword sweep of the forums mean something rather than one platform.

**Every row has the same shape and readable content.** Switching sources changes where rows come from, never the twenty-one keys they arrive under. The `excerpt` keeps the source's optional list snippet, while `content` contains the complete Markdown document fetched for the saved discussion.

**Engagement and state where the source publishes them.** The official Stack Exchange API documents question fields including [`score`, `answer_count`, `view_count`, and `is_answered`](https://api.stackexchange.com/docs/types/question); those values pass through unchanged, including negative scores. Hacker News and Lemmy publish score and reply totals, Discourse publishes reply, solved, and closed state, and Habr, Qiita, Zenn, and Juejin add source-specific view or bookmark totals.

**Selectable sources.** Leave the platform list empty to read all twenty-one, or narrow it to the ones that fit your subject. A sysadmin question and a Rust question do not need the same forums.

**Depth where the source publishes it.** Every source is paged one page at a time until your `max_results` is met or it runs out of matching threads, so a large request reaches past a first page instead of stopping at it — measured at 150 discussions from a single community endpoint. Bing runs dry sooner than the community APIs do: one keyword yields roughly 16 to 60 open-web results before it stops producing new ones. A source that refuses never ends the search; the others still deliver.

### Quick Start Guide

#### Configure

[Open the Actor input](https://console.apify.com/actors/agentx~all-forums-thread-scraper/input), enter a `keyword`, and set `max_results`. Leave `platforms` empty to search every source, or select a subset. The input is prefilled with a working `rust async runtime` example on Hacker News.

#### Run

Click **Start**. Selected sources are searched together, and each accepted discussion appears in the Dataset as it is produced.

#### Collect

Open the Dataset and export JSON, CSV, Excel, or XML, or read it through the API. Rows are deduplicated on the canonical thread address before they are saved.

### Input Parameters

All Forums Thread Scraper takes three inputs: what to search for, which sources to read, and how many discussions to keep.

| Parameter | Type | Required | Description | Example |
| --- | --- | :---: | --- | --- |
| `keyword` | String, 1–200 characters | Yes | The topic, product, error message, or phrase to search for. Every selected source receives the same words. | `rust async runtime` |
| `platforms` | Array of strings, 21 values | No | Which sources to read. Empty means all twenty-one. Each value is also what the row's `platform` field carries. | `["hacker_news"]` |
| `max_results` | Integer, minimum 1 | Yes | How many discussions to save from each selected source. No maximum, and every source gets the same budget, so eight sources at 25 return up to 200 rows. | `1` |

```json
{
  "keyword": "rust async runtime",
  "platforms": ["hacker_news"],
  "max_results": 1
}
```

The twenty-one `platforms` values are `bing`, `hacker_news`, `stack_overflow`, `super_user`, `server_fault`, `ask_ubuntu`, `unix_linux`, `lemmy_world`, `programming_dev`, `discourse_meta`, `python_discuss`, `rust_users`, `openai_community`, `obsidian_forum`, `qiita`, `zenn`, `juejin`, `segmentfault`, `v2ex`, `velog`, and `habr`.

### Output Data Schema

One Dataset row represents one public discussion thread, with all twenty-one documented fields and its complete Markdown content.

| Group | Fields |
| --- | --- |
| Source | `platform`, `site` |
| Thread | `title`, `url`, `source_url`, `excerpt`, `content`, `thread_id` |
| Attribution | `author`, `posted_at`, `active_at` |
| Engagement | `score`, `reply_count`, `view_count`, `bookmark_count` |
| State | `is_answered`, `is_closed`, `is_nsfw` |
| Classification | `tags` |
| Processing | `processor`, `processed_at` |

`platform` carries the same value the `platforms` input accepts, so filtering the Dataset by source uses the identical string you selected it with, and `site` carries the forum's own domain for reading.

This abbreviated example shortens `content` — the real row for this thread carries 136,930 Markdown characters. A run follows the same twenty-one-field contract, keeps the complete document, and leaves source fields empty rather than guessing them: this thread is a plain Hacker News story, so `tags` is empty, while a Show HN or Ask HN thread carries that label.

```json
{
  "platform": "hacker_news",
  "site": "news.ycombinator.com",
  "title": "The State of Async Rust: Runtimes",
  "url": "https://news.ycombinator.com/item?id=37639896",
  "source_url": "https://corrode.dev/blog/async",
  "excerpt": null,
  "content": "# The State of Async Rust: Runtimes\n\nFull discussion content continues in Markdown...",
  "author": "RebootStr",
  "posted_at": "2023-09-25T05:20:13+00:00",
  "active_at": "2026-08-02T17:15:09+00:00",
  "score": 258,
  "reply_count": 198,
  "view_count": null,
  "bookmark_count": null,
  "is_answered": null,
  "is_closed": null,
  "is_nsfw": null,
  "tags": [],
  "thread_id": "37639896",
  "processor": "https://apify.com/username/actor_name",
  "processed_at": "2026-09-01T13:03:11+00:00"
}
```

Export through the Apify Console, API, webhooks, integrations, or storage clients. Keep string IDs as strings so spreadsheet and JavaScript consumers do not lose precision.

### Integration Examples

All Forums Thread Scraper runs by its name-form Actor ID from the API, Apify clients, Make, n8n, or MCP, using the same `rust async runtime` scenario throughout.

#### Actor ID

The Actor's API ID is `bhyPmTSBK5mkWPUwp`; the name form `agentx/all-forums-thread-scraper` works everywhere the ID does.

```text
bhyPmTSBK5mkWPUwp
```

#### HTTP

Start the run, poll it to completion, then read the Dataset.

```bash
curl -X POST "https://api.apify.com/v2/acts/agentx~all-forums-thread-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"rust async runtime","platforms":["hacker_news"],"max_results":1}'

curl "https://api.apify.com/v2/actor-runs/RUN_ID?token=YOUR_APIFY_TOKEN"

curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_APIFY_TOKEN"
```

Poll the second call until `status` is `SUCCEEDED`, or subscribe to an `ACTOR.RUN.SUCCEEDED` webhook instead of polling, then read `defaultDatasetId` from the run and pass it to the third call.

**Quick test only.** For a small input that finishes well inside 300 seconds you can collapse the three calls into one:

```bash
curl -X POST "https://api.apify.com/v2/acts/agentx~all-forums-thread-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"rust async runtime","platforms":["hacker_news"],"max_results":1}'
```

The platform cuts that connection at 300 seconds **without aborting the run**, a timeout on your side never stops a run that is already billing, and each client or gateway retry starts a new billed run. Use the asynchronous flow above for anything larger.

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
started = client.actor("agentx/all-forums-thread-scraper").start(run_input={
    "keyword": "rust async runtime",
    "platforms": ["hacker_news"],
    "max_results": 1,
})
run = client.run(started["id"]).wait_for_finish()
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["platform"], item["title"], item["url"])
```

#### JavaScript

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

const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const started = await client.actor('agentx/all-forums-thread-scraper').start({
  keyword: 'rust async runtime',
  platforms: ['hacker_news'],
  max_results: 1,
});
const run = await client.run(started.id).waitForFinish();
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

#### Make.com

Add an Apify **Run an Actor** module, select Actor ID `bhyPmTSBK5mkWPUwp`, and map `keyword`, `platforms`, and `max_results`. Read Dataset items from the returned default Dataset ID.

#### n8n

Use an HTTP Request node with `POST https://api.apify.com/v2/acts/bhyPmTSBK5mkWPUwp/runs`, Bearer authentication, and the same three-key JSON body. Poll the returned run ID until completion, then read the run's `defaultDatasetId` and fetch its items.

#### MCP

Ask the Apify MCP server to run `agentx/all-forums-thread-scraper` with `{"keyword":"rust async runtime","platforms":["hacker_news"],"max_results":1}`. The twenty-one-field schema exposes complete Markdown content, titles, links, authors, engagement, and source-published state without guessing field names.

### Pricing

Each saved discussion costs $0.0015 on the FREE tier, plus $0.04 of Actor Start per run, so the smallest useful run is $0.0415.

| Tier | Result | Actor Start (per GB of run memory) |
| --- | --- | --- |
| FREE | $0.00150 | $0.01 |
| BRONZE | $0.00135 | $0.01 |
| SILVER | $0.00120 | $0.01 |
| GOLD | $0.00113 | $0.01 |
| PLATINUM | $0.00113 | $0.01 |
| DIAMOND | $0.00113 | $0.01 |

The billing unit is one saved discussion. Actor Start is charged once per gigabyte of run memory with a minimum of one event; this Actor runs at 4 GB, so every run pays four events, 4 × $0.01 = $0.04, on every tier. A fifty-discussion run therefore costs $0.04 + 50 × $0.0015 = $0.115 on the FREE tier. Selecting more sources does not raise the per-row price or add Actor Start events; it raises how many distinct discussions one keyword can find, so one run across all twenty-one sources costs less than twenty-one single-source runs. Prices can change — see the [pricing page](https://apify.com/agentx/all-forums-thread-scraper/pricing) for current values.

### Use Cases

- **Track how a product is discussed.** Search a product or feature name, then group rows by `site` to see which communities carry the conversation and which stay quiet.
- **Find prior art for an error message.** Paste the error text and read Stack Exchange, Hacker News, and Discourse together instead of searching each one.
- **Build a support knowledge base.** Index `content` as Markdown, keep `url` and `posted_at` for provenance, and revisit the same keyword on a schedule.
- **Research a technical decision.** Compare what a developer forum, a federated community, and the open web say about the same library before choosing it.
- **Monitor a niche community.** Narrow `platforms` to the forums that matter for your subject and run the same keyword regularly.

### Alternatives

**Searching each forum by hand** is genuinely fine for one question, and it is the only way to read tone and context properly. It stops scaling the moment the same query has to run across twenty-one sources on a schedule.

**A forum's own search page** gives you everything that forum knows, including anything this Actor does not model. Use it when a single community is the whole scope.

**A general web search API** returns a wider slice of the internet with no forum structure over it. This Actor is narrower on purpose: twenty community search surfaces that return the thread's own numbers, plus one open-web pass for the forums that publish nothing to query.

**Choose something else if** you need comments as separate nested records, private or login-gated communities, real-time streaming, or a guarantee that every forum on the web is covered. This Actor returns each discussion as one Markdown document from twenty-one named sources.

### Limits and Troubleshooting

- **Fewer rows than `max_results`** → the keyword may simply have fewer public discussions, or a narrow `platforms` selection may not cover the subject → widen the platform list or broaden the keyword.
- **A large `max_results` is filled mostly by the community sources** → every source is paged until your number is met, but Bing's open-web result list runs out after roughly four to eight pages while a community API keeps serving → keep Bing selected for the long tail of forums with no API, and rely on the community endpoints for depth.
- **A source contributes nothing** → relevance, not failure: sysadmin sites return nothing for a Rust question and a Rust forum returns nothing for an SSH question → check the run log, which reports what each source returned.
- **A Bing row that is not a discussion thread** → Bing is searched with exactly your keyword and returns whatever the open web ranks for it, so a documentation page or a blog post can appear beside forum threads → filter the Dataset on `site`, or leave `bing` out of `platforms` when only community threads are wanted.
- **Empty `score` or `reply_count`** → search-engine rows carry no engagement numbers, and some forum APIs omit them per thread → treat empty as source absence, never as zero.
- **Duplicate-looking rows** → two threads on different forums can share a title; deduplication is on the canonical address, so both are kept deliberately.

Report a reproducible problem as an Issue with the run ID and the exact input.

### Trust and Reliability

Runs execute on Apify's platform with pay-per-event billing, and every saved row follows the documented twenty-one-field Dataset contract. The complete `content` document comes from the saved discussion; other fields stay empty when the source does not publish them, and negative scores remain unchanged.

### Legal and Compliance

**Data scope.** The Actor reads public forum search results and public forum search endpoints. It does not sign in, and it does not reach private, member-only, or login-gated content.

**Privacy.** Rows carry the author name a forum publishes beside a public thread and nothing more. If you process personal data from the output, that processing is yours to justify.

**Platform terms.** You are responsible for complying with each search engine, each forum, copyright, database, and applicable data-protection rules. Use a reasonable run frequency and do not use results for unlawful profiling, harassment, or rights infringement.

### Frequently Asked Questions

#### How do I search forum posts across multiple forums?

Enter one `keyword`, leave `platforms` empty so all twenty-one sources are read, and set `max_results`. Each source is searched with the same words, and results arrive under one shared twenty-one-field shape with complete Markdown `content`.

#### Is there a multi platform forum search api?

Yes — this Actor is one. Call `agentx/all-forums-thread-scraper` over the Apify API with a keyword and an optional source list, then read the default Dataset. There is no separate key for any of the twenty-one sources.

#### Which forums does it actually cover?

Bing for the open web, Hacker News, five Stack Exchange sites (Stack Overflow, Super User, Server Fault, Ask Ubuntu, Unix & Linux), two Lemmy instances (lemmy.world, programming.dev), five Discourse communities (Discourse Meta, Python Discuss, Rust Users, OpenAI Community, Obsidian Forum), and seven communities where developers write in their own language: Qiita and Zenn in Japanese, Juejin, SegmentFault and V2EX in Chinese, velog in Korean, and Habr in Russian.

#### Is there a free forum API?

The APIs behind several of these sources are publicly readable, but each has its own address, response shape, and rate limit. This Actor gives you one input contract and one row shape over all of them instead.

#### Can I schedule runs to monitor discussions over time?

Yes. Schedule the same input and compare `url` and `posted_at` between runs; addresses that were not in the previous Dataset are new discussions.

#### Why do some rows have no score?

Because a search engine result does not carry one. Hacker News, Stack Exchange, Lemmy, Discourse, Qiita, Zenn, Juejin, velog, and Habr all publish a score that passes through unchanged — on the five Discourse communities it is the topic's like count, which is genuinely `0` on most threads and stays `0` rather than becoming empty. V2EX publishes replies but no score. Bing and SegmentFault rows therefore keep `score` empty instead of filling it with a search rank or another substitute.

#### How many discussions can one source return?

As many as `max_results` asks for, up to what that source publishes. Every source is paged until your number is met or it has no more matching threads — measured at 150 discussions from a single community endpoint where the keyword had that many public threads. Two sources stop earlier because their own result lists do: Bing yields roughly 16 to 60 open-web results for one keyword, and Hacker News search returns at most 1,000 for any keyword however many are requested.

#### Does it return the replies inside a thread?

It returns the discussion as one Markdown `content` document, including publicly available replies on the fetched surface. It does not split replies into separate nested Dataset records.

### Related AgentX Actors

The AgentX catalog contains 79 Actors; start with the three closest discussion tools, then browse the other 78 by category.

Closest to this Actor:

- [Reddit Viral Scraper](https://apify.com/agentx/reddit-viral-scraper) — search one large community by keyword when Reddit alone is the scope.
- [Subreddit Posts Scraper](https://apify.com/agentx/subreddit-posts-scraper) — export a known community's post feed rather than searching across forums.
- [Medium Scraper](https://apify.com/agentx/medium-scraper) — collect long-form articles when the answer is written up rather than discussed.

#### Business and Market Intelligence

- **[All Web Search Scraper](https://apify.com/agentx/all-web-search-scraper)** — multi-engine web search across ten independent indexes
- **[Google Keyword Trends](https://apify.com/agentx/google-keyword-trends)** — Google Trends keyword interest, compared five at a time
- **[Google Trends Scraper](https://apify.com/agentx/google-trends-scraper)** — Google Trends trending searches
- **[Google Maps Store Scraper](https://apify.com/agentx/google-maps-store-scraper)** — Google Maps business listings
- **[LinkedIn Company Lookup](https://apify.com/agentx/linkedin-company-lookup)** — LinkedIn company records
- **[LinkedIn Profile Lookup](https://apify.com/agentx/linkedin-profile-lookup)** — LinkedIn profile records
- **[Weather Forecast API](https://apify.com/agentx/weather-forecast-api)** — forecast and historical weather data

#### Jobs and Hiring

- **[All Jobs Scraper](https://apify.com/agentx/all-jobs-scraper)** — multi-platform job listings
- **[Bayt Jobs Scraper](https://apify.com/agentx/bayt-jobs-scraper)** — Bayt job listings
- **[Glassdoor Jobs Scraper](https://apify.com/agentx/glassdoor-jobs-scraper)** — Glassdoor job listings
- **[Indeed Jobs Scraper](https://apify.com/agentx/indeed-jobs-scraper)** — Indeed job listings
- **[JobStreet Company Profile](https://apify.com/agentx/jobstreet-company-profile)** — JobStreet employer records
- **[Jooble Jobs Scraper](https://apify.com/agentx/jooble-jobs-scraper)** — Jooble job listings
- **[LinkedIn Jobs Scraper](https://apify.com/agentx/linkedin-jobs-scraper)** — LinkedIn job listings
- **[Naukri Jobs Scraper](https://apify.com/agentx/naukri-jobs-scraper)** — Naukri job listings
- **[Talent Jobs Scraper](https://apify.com/agentx/talent-jobs-scraper)** — Talent.com job listings
- **[ZipRecruiter Jobs Scraper](https://apify.com/agentx/ziprecruiter-jobs-scraper)** — ZipRecruiter job listings

#### Social Media

- **[Instagram Creator Scraper](https://apify.com/agentx/instagram-creator-scraper)** — Instagram creator profiles
- **[Instagram Reels Scraper](https://apify.com/agentx/instagram-reels-scraper)** — Instagram Reels metadata
- **[Instagram Trending Scraper](https://apify.com/agentx/instagram-trending-scraper)** — Instagram trending content
- **[Medium Scraper](https://apify.com/agentx/medium-scraper)** — Medium articles
- **[Medium Profile Scraper](https://apify.com/agentx/medium-profile-scraper)** — Medium author profiles
- **[Reddit Profile Scraper](https://apify.com/agentx/reddit-profile-scraper)** — Reddit user profiles
- **[Reddit Viral Scraper](https://apify.com/agentx/reddit-viral-scraper)** — Reddit viral posts
- **[SubReddit Info Scraper](https://apify.com/agentx/subreddit-info-scraper)** — subreddit metadata
- **[Subreddit Members Scraper](https://apify.com/agentx/subreddit-members-scraper)** — subreddit member lists
- **[Subreddit Posts Scraper](https://apify.com/agentx/subreddit-posts-scraper)** — subreddit post feeds
- **[Telegram Chat Scraper](https://apify.com/agentx/telegram-chat-scraper)** — Telegram chat messages
- **[Telegram Info Scraper](https://apify.com/agentx/telegram-info-scraper)** — Telegram channel metadata
- **[Telegram Member Adder](https://apify.com/agentx/telegram-member-adder)** — Telegram group membership management
- **[Telegram Member Scraper](https://apify.com/agentx/telegram-member-scraper)** — Telegram group members
- **[Telegram Private Group Scraper](https://apify.com/agentx/telegram-private-group-scraper)** — private Telegram group data
- **[TikTok Creator API](https://apify.com/agentx/tiktok-creator-api)** — TikTok creator profiles
- **[TikTok User Lookup](https://apify.com/agentx/tiktok-user-lookup)** — TikTok account records
- **[X Twitter Community API](https://apify.com/agentx/x-twitter-community-api)** — X community data
- **[X Twitter Profile Lookup](https://apify.com/agentx/x-twitter-profile-lookup)** — X profile records
- **[YouTube Creator Email Scraper](https://apify.com/agentx/youtube-creator-email-scraper)** — YouTube creator contact data

#### Video, Transcripts and Downloads

- **[All Video Scraper](https://apify.com/agentx/all-video-scraper)** — multi-platform video metadata
- **[Video Transcript](https://apify.com/agentx/video-transcript)** — multi-platform transcripts
- **[Video Captions Downloader](https://apify.com/agentx/video-captions-downloader)** — caption files
- **[Video to Social Post](https://apify.com/agentx/video-to-social-post)** — video repurposed into social copy
- **[YouTube Transcript](https://apify.com/agentx/youtube-transcript)** — YouTube transcripts
- **[TikTok Transcript](https://apify.com/agentx/tiktok-transcript)** — TikTok transcripts
- **[X Twitter Transcript](https://apify.com/agentx/x-twitter-transcript)** — X video transcripts
- **[Facebook Transcript](https://apify.com/agentx/facebook-transcript)** — Facebook video transcripts
- **[Bilibili Transcript](https://apify.com/agentx/bilibili-transcript)** — Bilibili transcripts
- **[Dailymotion Transcript](https://apify.com/agentx/dailymotion-transcript)** — Dailymotion transcripts
- **[Rutube Transcript](https://apify.com/agentx/rutube-transcript)** — Rutube transcripts
- **[Loom Transcript](https://apify.com/agentx/loom-transcript)** — Loom transcripts
- **[Wistia Transcript](https://apify.com/agentx/wistia-transcript)** — Wistia transcripts
- **[Instagram Reels Downloader](https://apify.com/agentx/instagram-reels-downloader)** — Reels downloads
- **[Kick Clip Downloader](https://apify.com/agentx/kick-clip-downloader)** — Kick clip downloads
- **[Linkedin Video Downloader](https://apify.com/agentx/linkedin-video-downloader)** — LinkedIn video downloads
- **[Pinterest Video Downloader](https://apify.com/agentx/pinterest-video-downloader)** — Pinterest video downloads
- **[Reddit Video Downloader](https://apify.com/agentx/reddit-video-downloader)** — Reddit video downloads
- **[Snapchat Video Downloader](https://apify.com/agentx/snapchat-video-downloader)** — Snapchat video downloads
- **[TED Talk Downloader](https://apify.com/agentx/ted-talk-downloader)** — TED talk downloads
- **[TikTok Live Downloader](https://apify.com/agentx/tiktok-live-downloader)** — TikTok live downloads
- **[Twitch VOD Downloader](https://apify.com/agentx/twitch-vod-downloader)** — Twitch VOD downloads
- **[Zoom Recording Downloader](https://apify.com/agentx/zoom-recording-downloader)** — Zoom recording downloads

#### E-Commerce and Retail

- **[All Shopping Scraper](https://apify.com/agentx/all-shopping-scraper)** — multi-platform product data
- **[AliExpress Product Scraper](https://apify.com/agentx/aliexpress-product-scraper)** — AliExpress products
- **[Amazon Storefront Scraper](https://apify.com/agentx/amazon-storefront-scraper)** — Amazon Brand Store pages
- **[Bol Product Scraper](https://apify.com/agentx/bol-product-scraper)** — Bol.com products
- **[eBay Seller Leads API](https://apify.com/agentx/ebay-seller-leads-api)** — eBay seller records
- **[Hepsiburada Product Scraper](https://apify.com/agentx/hepsiburada-product-scraper)** — Hepsiburada products
- **[Kakaku Product Scraper](https://apify.com/agentx/kakaku-product-scraper)** — Kakaku.com products
- **[Rakuten Product Scraper](https://apify.com/agentx/rakuten-product-scraper)** — Rakuten products

#### Classifieds and Automotive

- **[All Vehicle Scraper](https://apify.com/agentx/all-vehicle-scraper)** — multi-platform vehicle listings
- **[AutoTrader Vehicle Search](https://apify.com/agentx/autotrader-vehicle-search)** — AutoTrader US listings
- **[AutoTrader UK Vehicle Search](https://apify.com/agentx/autotrader-uk-vehicle-search)** — AutoTrader UK listings

#### Real Estate

- **[All Property Scraper](https://apify.com/agentx/all-property-scraper)** — multi-platform property listings
- **[Homes Property Scraper](https://apify.com/agentx/homes-property-scraper)** — Homes.com listings
- **[MagicBricks Property Scraper](https://apify.com/agentx/magicbricks-property-scraper)** — MagicBricks listings
- **[NoBroker Property Scraper](https://apify.com/agentx/nobroker-property-scraper)** — NoBroker listings
- **[Property24 Property Scraper](https://apify.com/agentx/property24-property-scraper)** — Property24 listings
- **[Realtor Property Scraper](https://apify.com/agentx/realtor-property-scraper)** — Realtor.com listings
- **[Zillow Property Scraper](https://apify.com/agentx/zillow-property-scraper)** — Zillow listings

### Support and Community

Ask about forum sources, Dataset output, or Actor integrations in the [AgentX community on Telegram](https://t.me/Apify_Actor); for a reproducible bug, open an Issue with the run ID and the exact input.

AgentX is an Arcyton brand — [arcyton.com](https://arcyton.com).

**Last Updated:** September 3, 2026

# Actor input Schema

## `keyword` (type: `string`):

What the discussions should be about: a topic, a product, an error message, or a phrase. Every selected source is searched with the same words.

## `platforms` (type: `array`):

Which sources to read. Leave empty to read all 21. Each value chosen here is also what the row's platform field carries, so the Dataset filters on the same strings. Bing searches the open web, so it reaches forums that publish no API; the other twenty query each community's search surface. Where a source publishes engagement values, the row keeps its score, reply count, and timestamp; unavailable values stay empty. Seven sources cover Japanese, Chinese, Korean, and Russian developer communities.

## `max_results` (type: `integer`):

How many discussions to save from each source you select. Minimum 1 and no maximum, and every source gets the same budget, so eight sources at 25 return up to 200 rows. Every source is paged until your number is met or it runs out; Bing's open-web list runs out at roughly 16 to 60 results per keyword and Hacker News search at 1,000, while the community endpoints keep paging. A thread two sources both surface is saved once, against whichever source reached it first.

## Actor input object example

```json
{
  "keyword": "rust async runtime",
  "platforms": [
    "hacker_news"
  ],
  "max_results": 1
}
```

# Actor output Schema

## `results` (type: `string`):

The overview displays all 21 discussion fields.

# 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 = {
    "keyword": "rust async runtime",
    "platforms": [
        "hacker_news"
    ],
    "max_results": 1
};

// Run the Actor and wait for it to finish
const run = await client.actor("agentx/all-forums-thread-scraper").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 = {
    "keyword": "rust async runtime",
    "platforms": ["hacker_news"],
    "max_results": 1,
}

# Run the Actor and wait for it to finish
run = client.actor("agentx/all-forums-thread-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "keyword": "rust async runtime",
  "platforms": [
    "hacker_news"
  ],
  "max_results": 1
}' |
apify call agentx/all-forums-thread-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,agentx/all-forums-thread-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/bhyPmTSBK5mkWPUwp/builds/BSplbt9WbB0q7EzE3/openapi.json
