# All Web Search Scraper (`agentx/all-web-search-scraper`) Actor

Multi engine web search across 10 platforms, including Google, Bing, Baidu, Yandex, Naver, DuckDuckGo, and Brave. Get each platform's ranked rows with title, snippet, URL, source details, ad status, and page Markdown.

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

## Pricing

from $1.50 / 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 Web Search Scraper is a multi engine web search that sends one query to ten search platforms and returns each platform's ranked results in one Dataset.** Every row keeps the platform and position that produced it, and can include the destination page as Markdown for research, monitoring, and retrieval workflows.

[![Apify Users](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~all-web-search-scraper\&query=%24.data.stats.totalUsers\&label=Apify%20Users\&color=ff9013\&style=for-the-badge)](https://apify.com/agentx/all-web-search-scraper)
[![Apify Runs](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fapi.apify.com%2Fv2%2Facts%2Fagentx~all-web-search-scraper\&query=%24.data.stats.totalRuns\&label=Apify%20Runs\&color=ff9013\&style=for-the-badge)](https://apify.com/agentx/all-web-search-scraper)
[![$0.00200 per result](https://img.shields.io/badge/%240.00200%20per%20result-4285f4?style=for-the-badge)](https://apify.com/agentx/all-web-search-scraper/pricing)
[![10 search platforms](https://img.shields.io/badge/10%20search%20platforms-34a853?style=for-the-badge)](https://console.apify.com/actors/agentx~all-web-search-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-web-search-scraper/api)

- **Ten search platforms in one run** — Google, Bing, Baidu, Yandex, Naver, Sogou's WeChat search, Seznam, So.com, DuckDuckGo, and Brave share one input and one output contract.
- **Every platform's own ranking, kept** — a page three platforms returned is three rows, each with that platform's real `position`. Nothing is collapsed, so no rank is lost or guessed.
- **Paging that actually pages** — nine of the ten support a page parameter and the run walks it, so a request for more results than one page holds returns more than one page's worth.
- **Page text travels with every readable result** — each returned URL is fetched, `content_status` records the outcome, and readable pages include Markdown with a word count, so a retrieval pipeline needs one run instead of two.

The smallest useful run is one result: $0.04 for the Actor Start plus $0.00200 for the row, or $0.04200 in total on the FREE tier.

### Why Choose All Web Search Scraper

- **Regional reach a single-engine tool cannot reproduce.** Baidu and So.com serve the Chinese web, Yandex the Russian web, Naver the Korean web, Seznam the Czech web, and Sogou's WeChat search reaches public articles within that ecosystem. A query run across all ten can surface pages that one platform alone misses.
- **Agreement is measurable and checkable.** Group the Dataset by `url` and the count shows how many platforms returned that page, with each platform's position beside it rather than averaged away.
- **Source overlap stays visible instead of being oversold.** Brave documents an independent index, while DuckDuckGo says its traditional links are largely sourced from Bing. The Actor preserves both result sets and their platform labels so you can measure overlap yourself.
- **Redirecting links are resolved to the real page.** Several platforms publish a tracker address instead of the destination; where the destination can be recovered it is, so rows from different platforms line up on the same `url` and can be grouped.
- **The page text ships with the result, at no extra charge.** Every row carries the page as Markdown with a word count and a `content_status` saying whether it could be read. A page several platforms returned is downloaded once and attached to each of those rows, so breadth costs requests only where it adds pages.

### Quick Start Guide

#### 1. Configure

Open the Actor. `keyword`, `max_results` and `platforms` arrive prefilled with a working example, so the first run needs no editing. Type your search phrase into `keyword`, raise `max_results`, and either pick specific platforms in `platforms` or clear the field to search all ten.

#### 2. Run

Press **▷ Start**. All selected platforms are searched at the same time, each one paging until it has enough results or stops producing new URLs. Each distinct page is then read into Markdown, and every row is written the moment its page comes back, so rows arrive in reading order rather than platform order — each one carries its `platform` and `position` to sort by afterwards. The log prints each saved result and names any platform that produced nothing.

#### 3. Collect

Open the Dataset tab and use the **Overview** view, or export to JSON, CSV, XLSX, XML or HTML. Group by `url` to see which pages the most platforms agreed on, sort by `position` within a `platform` to read that platform's ranking, or filter `content_status` to `ok` for the rows whose page text came back.

### Input Parameters

The Actor takes 3 inputs, of which `keyword` and `max_results` are required; `platforms` narrows the search to a subset of the ten.

| Parameter | Type | Required | Description | Example |
| --- | --- | --- | --- | --- |
| `keyword` | string | Yes | The search phrase, sent to every selected platform exactly as typed. | `open source ai` |
| `max_results` | integer | Yes | How many rows to return per platform. Minimum 1; the run pages each platform until it has them. | `1` |
| `platforms` | array | No | Which platforms to search, from 10 options: `google`, `bing`, `baidu`, `yandex`, `naver`, `sogou_weixin`, `seznam`, `so360`, `duckduckgo`, `brave`. Empty searches all ten. | `["brave"]` |

```json
{
  "keyword": "open source ai",
  "max_results": 1,
  "platforms": ["brave"]
}
```

`max_results` is a per-platform budget rather than a run total, so ten platforms at 20 can return up to 200 rows. A page returned by three platforms remains three rows because each row carries a different ranking. A platform name this build no longer serves is skipped with a printed notice while valid selections continue; the run ends early only when nothing in `platforms` is supported.

### Output Data Schema

One row is one result from one platform, with the destination page read when available. Every row follows the same 13-field contract.

| Field | Type | Description |
| --- | --- | --- |
| `title` | string or null | The result headline as the engine rendered it |
| `snippet` | string or null | The description the engine printed under the result, when it printed one |
| `url` | string or null | The result address, and the key to group on to compare platforms |
| `source_name` | string or null | Publisher or site name shown by the platform, when available |
| `date_text` | string or null | Freshness text exactly as the platform displayed it, when available |
| `platform` | string or null | Which platform returned this result |
| `position` | integer or null | Organic rank on that platform; paid placements use null |
| `is_ad` | boolean or null | Whether the platform marked the row as a paid placement |
| `markdown` | string or null | The result page converted to Markdown when readable |
| `word_count` | integer or null | Words in that Markdown rendering |
| `content_status` | string or null | Whether the page could be read: `ok`, `empty`, `too_large`, `unconvertible`, or `unavailable` |
| `processor` | string or null | The Actor URL that produced the row |
| `processed_at` | string or null | UTC timestamp when the row was produced |

This sample is abbreviated: the `markdown` body is truncated to one line. Ten selected platforms with `max_results: 12` can return up to 120 rows.

```json
{
  "title": "Open Source AI – Open Source Initiative",
  "snippet": "Open Source AI gives developers access to resources for context-specific applications.",
  "url": "https://opensource.org/ai",
  "source_name": "Open Source Initiative",
  "date_text": "May 28, 2025",
  "platform": "brave",
  "position": 1,
  "is_ad": false,
  "markdown": "# Open Source AI\n\nOpen source enables diverse communities ...",
  "word_count": 1432,
  "content_status": "ok",
  "processor": "https://apify.com/username/actor_name",
  "processed_at": "2026-09-01T13:43:54+00:00"
}
```

A value the engine did not print stays empty rather than being filled in: `snippet` is absent on results that genuinely carry no description, such as image and video hits, and `markdown` is empty whenever `content_status` is anything other than `ok`. Export formats: JSON, JSON Lines, CSV, XLSX, XML, RSS and HTML table.

### Integration Examples

Every example here runs the same verified scenario — the keyword `open source ai` against Brave for one result — using the Actor ID `pa0BDQPgWUaFPghFw` or its name form `agentx/all-web-search-scraper`, so the input you test in the console is the input your code sends.

#### Actor ID

```text
pa0BDQPgWUaFPghFw
```

The name form `agentx/all-web-search-scraper` works in the same positions as `pa0BDQPgWUaFPghFw` in API clients, integrations, and MCP calls.

#### HTTP

Start the run, poll it until it finishes, then read the Dataset. This asynchronous flow is the path to use in production, because a run is never bounded by the lifetime of one HTTP connection ([Apify runs and builds](https://docs.apify.com/platform/actors/running/runs-and-builds)).

```bash
RUN=$(curl -s -X POST "https://api.apify.com/v2/acts/agentx~all-web-search-scraper/runs?token=APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"open source ai","max_results":1,"platforms":["brave"]}' \
  | python -c "import sys,json; print(json.load(sys.stdin)['data']['id'])")

curl -s "https://api.apify.com/v2/actor-runs/$RUN?token=APIFY_TOKEN"

curl -s "https://api.apify.com/v2/actor-runs/$RUN/dataset/items?token=APIFY_TOKEN"
```

Poll the second call until `data.status` is `SUCCEEDED`, or register an `ACTOR.RUN.SUCCEEDED` webhook and skip polling entirely.

Quick test only: `POST /v2/acts/agentx~all-web-search-scraper/run-sync-get-dataset-items` returns rows on one connection, and is safe here only because a one-result run finishes well under the limit. The platform cuts a sync connection at 300 seconds without aborting the run, a client-side timeout never stops a billed run, and every client or gateway retry starts another billed run.

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("APIFY_TOKEN")
run = client.actor("agentx/all-web-search-scraper").start(run_input={
    "keyword": "open source ai",
    "max_results": 1,
    "platforms": ["brave"],
})
run = client.run(run["id"]).wait_for_finish()
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["platform"], item["position"], item["title"], item["url"])
```

#### JavaScript

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

const client = new ApifyClient({ token: 'APIFY_TOKEN' });
let run = await client.actor('agentx/all-web-search-scraper').start({
  keyword: 'open source ai',
  max_results: 1,
  platforms: ['brave'],
});
run = await client.run(run.id).waitForFinish();
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((row) => [row.platform, row.position, row.url]));
```

#### Make.com

1. Add the **Apify → Run an Actor** module.
2. Paste `pa0BDQPgWUaFPghFw` into the Actor field and leave "Wait for the Actor to finish" enabled so the scenario resumes on completion rather than on connection close.
3. Put `{"keyword":"open source ai","max_results":1,"platforms":["brave"]}` into the Input JSON field, replacing the query and raising `max_results`.
4. Chain **Apify → Get Dataset Items** and map `title`, `snippet`, `url`, `platform`, `position` and `markdown` into your scenario.

#### n8n

1. Add the **Apify** node and choose the **Run Actor** operation.
2. Set the Actor to `pa0BDQPgWUaFPghFw`.
3. Paste `{"keyword":"open source ai","max_results":1,"platforms":["brave"]}` as Custom Body, and enable the node's wait-for-finish option.
4. Add a second **Apify** node with **Get Dataset Items** to pull the 13-field rows into the workflow.

#### MCP

Point an MCP client at `https://mcp.apify.com`, then call the Actor by its name form:

```json
{
  "actor": "agentx/all-web-search-scraper",
  "input": {
    "keyword": "open source ai",
    "max_results": 1,
    "platforms": ["brave"]
  }
}
```

### Pricing

Each result row costs $0.00200 on the FREE tier and each run adds $0.04 of Actor Start, so the smallest useful run — one result — totals $0.04200.

| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
| --- | --- | --- | --- | --- | --- | --- |
| Result (one row) | $0.00200 | $0.00180 | $0.00160 | $0.00150 | $0.00150 | $0.00150 |
| Actor Start (per GB of run memory) | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 |

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 Actor Start events: 4 × $0.01 = $0.04, the same on every tier. Result charges apply only to rows delivered to the default Dataset.

`max_results` is per platform, so ten platforms at 12 have a 120-row ceiling. If all 120 rows are delivered, the FREE-tier charge is $0.04 plus 120 × $0.00200, or $0.28000. A page several platforms returned is several rows and is charged per row, because each one carries a different platform ranking. Reading the result page carries no separate event charge, and a page returned by several platforms is downloaded once, so one run across ten platforms costs less than ten single-platform runs that each pay their own Actor Start.

Prices can change; the live figures are always on the [Actor pricing page](https://apify.com/agentx/all-web-search-scraper/pricing).

### Use Cases

- **Cross-market SEO visibility.** Run a brand or product term across all ten platforms and filter the Dataset to your own domain: every row is one platform's real ranking for it, so a pivot on `platform` against `position` is a rank table no single-platform tracker can produce.
- **Grounding data for retrieval pipelines.** Every run returns the URL list and each page's Markdown together; count how many platforms returned a `url` to get a corroboration score before the page enters a context window.
- **Regional research.** A question about the Chinese, Russian, Korean or Czech web is answered far better by the indexes that crawl it, and this Actor reaches five such indexes in one call.
- **Competitor discovery outside your bubble.** Different crawlers surface different long-tail sites; the pages returned by exactly one index are often the most interesting part of the result set.
- **Broken-narrative and reputation checks.** Search a claim or a name across ten indexes and look at what only one of them holds, which is where fringe or newly published material tends to appear first.

### Alternatives

**Searching each platform by hand** is realistic for one query and one platform, and hopeless for ten. It also gives you no rank comparison and no export.

**The platforms' own source disclosures** are worth reading before you compare overlap: Brave documents its [independent index](https://brave.com/search/), while DuckDuckGo explains that its [traditional links are largely sourced from Bing](https://duckduckgo.com/duckduckgo-help-pages/results/sources/). Going to a platform directly is better when you need its advanced operators or vertical results.

**Single-platform SERP tools** return far more per result — ads, related questions, featured panels, per-country rank — for one platform at a time. When your question is about one market and one platform, that depth is worth more than breadth. This Actor is the opposite trade: fewer columns, ten platforms, one call.

**Choose something else if** you need shopping listings, People Also Ask panels, featured snippets, knowledge panels, or per-country and per-language targeting. None of those are returned here. Sponsored results are returned when a platform prints them: they carry `is_ad: true` and a null `position`, so they never enter the organic ranking, and one filter on `is_ad` leaves you the organic set.

### Limits and Troubleshooting

- **Fewer rows than `max_results` → a selected platform had no more distinct result URLs for that query → the log prints the count.** Each platform stops when it reaches its own limit or a page yields no new URLs.
- **The log names an index with no results → that index produced nothing for this run → it is reported separately from an index that answered with zero matches.** Coverage varies by query and by market, and the run tells you which indexes actually contributed.
- **`sogou_weixin` returns unfamiliar results → that index covers WeChat articles rather than the general web → deselect it if you want web pages only.** It is included because it reaches material no general crawler holds, and excluded from a run in one click.
- **DuckDuckGo returns only one page of results → its lightweight interface has no page-forward for this kind of request → select other indexes for depth.** This is stated rather than worked around, so the row count is never quietly capped without explanation.
- **A run returned sponsored rows instead of the ranking you expected → the platform printed its ads above the organic block and `max_results` filled from the top of the page → raise `max_results`, or filter the export on `is_ad`.** Sponsored rows count toward `max_results` and are charged like any other row; they carry `is_ad: true` and a null `position`, so which rows they are is never a guess.
- **A URL still looks like a platform's own address → a few platforms publish a redirecting link whose destination cannot be recovered without following it → the link still reaches the page.** Where the destination is recoverable it is unwrapped before the row is written, so rows from different platforms share the same `url` and group together.
- **`content_status` is not `ok` → the page was unavailable, too large, empty, or held no convertible text → keep the search row and filter on `content_status` when Markdown is required.** A content failure does not erase the platform's search result.
- **Results differ between two runs of the same query → search indexes are not stable → that is the source's behaviour, not the Actor's.** Ranking changes constantly, which is exactly why `processed_at` is stamped on every row.

Found something reproducible? Open an Issue on the Actor's Issues tab with the run ID, the exact input JSON, and the platforms you selected.

### Trust and Reliability

The Actor runs on Apify's platform with the run history, logs, Dataset retention and scheduling that come with it. Billing is pay-per-event: the Actor Start events a run pays for its memory, and one charge per row that reaches the Dataset. The Dataset contract has 13 fields and every one is produced by the run; source-specific fields stay empty when a platform does not show them. Because each row names the platform that returned it and the position it held there, every ranking can be checked against that platform directly.

### Legal and Compliance

**Data scope.** The Actor reads publicly available search result pages and extracts the outbound links, headlines and descriptions they display. It also fetches publicly reachable destination pages for Markdown enrichment. No result is stored beyond your own Dataset, and no search index is redistributed.

**Privacy.** A search query and its results may reference identifiable people. Do not use the output for harassment, stalking, surveillance, doxxing, spam, impersonation or unlawful profiling of a person, and apply your own retention rules to Datasets built from name-based queries.

**Platform terms.** Use of this Actor is subject to the Apify Terms of Service and to each search provider's own terms. Result rankings, titles and inclusion decisions belong to the platforms that produced them; the Actor preserves each platform's position and does not present a blended ranking.

### Frequently Asked Questions

#### How do i search bing baidu and yandex in one run?

Leave `platforms` empty to search all ten, or set it to `["bing","baidu","yandex"]` for exactly those three. All selected platforms are searched at the same time and each returns its own ranked rows, so a page all three found arrives as three rows and you can see the rank it earned on each.

#### Can I search multiple search engines at once?

Yes — that is the whole design. Ten platforms are queried in parallel from one run and their results arrive as rows in one Dataset, each tagged with the platform that returned it and the rank it held there. You get one export and one response shape instead of ten.

#### Is there a free web search API?

Some platforms publish official APIs with free tiers, and they are worth using when one platform is enough. What this Actor sells is the breadth in one call: ten result sets in one Dataset with the paging handled per platform. Assembling that yourself means ten different response shapes and ten different page parameters.

#### Can I schedule runs to monitor search results over time?

Yes. Apify's Scheduler runs this Actor on a cron expression, and every row is stamped with `processed_at`, so consecutive runs build a rank history. Watching `position` per `platform` for your own URLs across runs is a low-cost visibility tracker that covers markets a single-platform tool cannot see.

#### How do I see which pages several platforms agreed on?

Group the Dataset by `url`. A page returned by four platforms is four rows sharing that `url`, each carrying its own `platform` and `position`, so the group size is the agreement count and the rows show the rank each platform gave it. Nothing is collapsed for you, so the number is one you can verify rather than one the Actor asserts.

#### How many results can one run return?

`max_results` is a per-platform budget, so ten platforms at 20 return up to 200 rows, subject to what those platforms actually hold. Each one pages until it stops producing new URLs. Rows are not deduplicated across platforms, so the count is predictable: what you get is what each platform returned.

#### Do I get the page text as well as the link?

Yes, on every run and at no extra charge. Each returned result is fetched and converted to Markdown with a `word_count`, and `content_status` says whether the page could be read. Only pages the run is going to return are downloaded, and a page several platforms returned is downloaded once and attached to each of its rows.

#### Why are some results missing a snippet?

Because the engine did not print one. Descriptions are read from the text the index shows under each result, and image, video and some navigational hits genuinely carry none. The column is left empty rather than filled with the title again, so an empty `snippet` is a fact about that result and not a parsing failure.

### Related AgentX Actors

AgentX publishes 79 Actors on Apify; this section names the three closest to this one first, then lists the full brand catalogue by category so you can find the rest without leaving the page.

Closest to this Actor:

- **[Google Keyword Trends](https://apify.com/agentx/google-keyword-trends)** — supplies the demand side of a keyword that this Actor answers the supply side of, by showing who currently ranks for it.
- **[Google Trends Scraper](https://apify.com/agentx/google-trends-scraper)** — surfaces the rising queries that are worth running through ten indexes before anyone else does.
- **[Medium Scraper](https://apify.com/agentx/medium-scraper)** — turns the article URLs a search run surfaces into full records for analysis.

#### Business and Market Intelligence

- **[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

- **[All Forums Thread Scraper](https://apify.com/agentx/all-forums-thread-scraper)** — multi-platform forum and Q\&A threads
- **[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 platform coverage, per-platform ranking or paging 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`):

The search phrase, sent to every selected platform exactly as you type it. No platform-specific syntax is added or removed.

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

Maximum rows to return from each selected platform. Minimum 1 with no fixed maximum. Ten platforms at 20 can return up to 200 rows; each platform pages until it reaches its limit or has no more distinct result URLs.

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

Search any of 10 platforms: google, bing, baidu, yandex, naver, sogou\_weixin, seznam, so360, duckduckgo, and brave. Clear the field to search all ten. Unsupported saved values are skipped while valid selections continue.

## Actor input object example

```json
{
  "keyword": "open source ai",
  "max_results": 1,
  "platforms": [
    "brave"
  ]
}
```

# Actor output Schema

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

Table view of every result with its platform and rank.

# 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": "open source ai",
    "max_results": 1,
    "platforms": [
        "brave"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("agentx/all-web-search-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": "open source ai",
    "max_results": 1,
    "platforms": ["brave"],
}

# Run the Actor and wait for it to finish
run = client.actor("agentx/all-web-search-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": "open source ai",
  "max_results": 1,
  "platforms": [
    "brave"
  ]
}' |
apify call agentx/all-web-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,agentx/all-web-search-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/pa0BDQPgWUaFPghFw/builds/PLsZFeduNzlep0ynZ/openapi.json
