Multi Engine Search API
Pricing
from $1.88 / 1,000 results
Multi Engine Search API
Multi engine search api that queries 10 web search platforms in one call, Google, Bing, Baidu, Yandex, Naver and more. One row per platform result: title, snippet, url, source, ad flag, the platform and its rank, plus the page as Markdown.
Pricing
from $1.88 / 1,000 results
Rating
5.0
(1)
Developer
TrueFetch
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Multi Engine Search API is a multi engine search api that queries ten independent web platforms in one call and returns each platform's own ranked results as JSON rows, built for developers and data teams. Each platform is crawled by a different company, so a page several of them return is corroborated rather than merely popular.
- Ten indexes with their own crawls — Google, Bing, Baidu, Yandex, Naver, Sogou’s WeChat index, Seznam, So.com, DuckDuckGo and Brave.
- Every platform's own ranking, kept — one row per platform result, each carrying that platform's real
position. - Per-index result budgets —
max_resultsapplies to each index you select, not to the run total. - Page text included — every returned row carries the result page as Markdown with a word count.
Run a two-result test · View API
The smallest useful test is two rows from one platform: $0.04 for the Actor Start plus 2 × $0.00250, or $0.04500 on the FREE tier.
What does Multi Engine Search API do?
It sends one search phrase to up to ten independent search platforms at once and returns every platform's results as rows in one Dataset. Each platform pages until it has the rows you asked for or stops producing new URLs, and each row records which platform returned it and the rank it held there.
The engine list is limited on purpose: several well-known search sites are front-ends over another company's index, so including them would return the same result twice under two names.
What it does not do: it returns organic results, not paid listings, shopping units, People Also Ask panels or knowledge panels. It is not affiliated with any provider it reads and alters no ranking beyond re-sorting by agreement.
How do I run Multi Engine Search API?
- Open the Actor. All three inputs arrive prefilled with a working example, so the first run needs no editing.
- Set
keywordto your search phrase andmax_resultsto the rows you want from each index you select. - List specific platforms in
platforms, or clear the field to query all ten. - Press ▷ Start, then read the Dataset tab or export to JSON, CSV, XLSX, XML or HTML.
The smallest useful runnable input:
{"keyword": "web scraping api","max_results": 2,"platforms": ["brave"]}
Result limits apply per index, per run: ten indexes at max_results 20 return up to 200 rows, and a page several indexes returned is one row per index, each carrying that index's own rank.
What data does Multi Engine Search API return?
One row is one result from one platform, with the page already read. Every row carries the same 10 fields.
| Field | Type | Description |
|---|---|---|
title | string | Result headline as the index rendered it |
snippet | string | Description the index printed under the result, when it printed one |
url | string | Result address, and the key to group on when comparing platforms |
platform | string | Which platform returned this result |
position | integer | Rank this result held on that platform |
markdown | string | Result page rendered as Markdown |
word_count | integer | Words in that Markdown rendering |
content_status | string | ok, empty, too_large, unconvertible, unreachable, or http_<code> |
processor | string | Actor URL that produced the row |
processed_at | string | UTC timestamp when the row was produced |
An abbreviated, illustrative row from the web scraping api scenario, with markdown truncated:
{"title": "Web Scraping API","snippet": "Extract structured data from any website without managing browsers.","url": "https://apify.com/","platform": "brave","position": 1,"markdown": "# Web Scraping API\n\nExtract structured data ...","word_count": 412,"content_status": "ok","processor": "https://apify.com/username/actor_name","processed_at": "2026-08-31T10:30:00+00:00"}
A value the index did not publish stays empty rather than being filled in: snippet is genuinely absent on image, video and some navigational results, and markdown is empty whenever content_status is not ok.
What inputs can I configure?
Three public inputs, in schema order. keyword and max_results are required; platforms is optional.
| Input | Type | Required | Description |
|---|---|---|---|
keyword | string | Yes | The search phrase, passed to every selected platform exactly as sent. No platform-specific syntax is added or removed. |
max_results | integer | Yes | Rows returned per platform. Minimum 1, no maximum; each platform is paged until it has that many distinct URLs. |
platforms | array | No | Which of the 10 indexes to keyword: google, bing, baidu, yandex, naver, sogou_weixin, seznam, so360, duckduckgo, brave. Empty queries all ten. |
An engine name this build no longer serves is skipped with a notice and the rest of the selection still runs, so a saved task or schedule does not break when the engine list changes.
What platforms and markets does Multi Engine Search API cover?
Ten indexes across seven language markets: Google, Bing, DuckDuckGo and Brave cover the general web; Baidu and So.com the Chinese; Yandex the Russian; Naver the Korean; Seznam the Czech; and Sogou’s WeChat index reaches articles no general crawler holds.
Coverage per query is source-dependent: an index may return nothing outside its market, and that is reported separately from an index that did not respond. Brave documents its own independent index and DuckDuckGo publishes where its results come from — those positions decide which engines are offered and which were excluded as skins. Nine of the ten page; DuckDuckGo contributes one page.
Why use Multi Engine Search API?
| Capability | What it gives you |
|---|---|
| Ten indexes in one call | One request and one response shape, not ten layouts and ten page parameters |
| Per-platform ranking | Every row carries the platform that returned it and the rank it held there |
| Verifiable agreement | Group by url: the group size is the corroboration count, and each row shows that platform's rank |
| Per-index budgets | Equal depth from every index, rather than one loud index consuming a shared total |
| Page text included | Ranking and page text in one row, so a retrieval pipeline needs one pass |
The trade-off: fewer columns per result than a single-index SERP product — no ads, related questions or per-country rank. You buy breadth and give up per-result depth.
Who is Multi Engine Search API for?
Developers and data teams building retrieval, monitoring or research pipelines that need more than one index behind them.
- Retrieval and grounding pipelines — a URL list and every page as Markdown in one call, with the per-
urlrow count as a corroboration filter. - Cross-market SEO visibility — pivot
platformagainstpositionfor your own domain to get a rank table across ten markets. - Regional research — the Chinese, Russian, Korean or Czech web, answered by the indexes that crawl them.
- Long-tail discovery — pages returned by exactly one index are often the most interesting.
Not for you if you need paid listings, SERP feature panels, per-country targeting, or one index with maximum per-result detail.
How can I use Multi Engine Search API through the API or MCP?
This Actor has not been published yet, so truefetch/multi-engine-search-api is the identifier to use everywhere. Once it is live, GET https://api.apify.com/v2/acts/truefetch~multi-engine-search-api also returns a numeric-style ID that works in the same positions.
Start the run, poll it, then read the Dataset. This asynchronous flow is the production path: a run is never bounded by one HTTP connection (Apify runs and builds).
RUN=$(curl -s -X POST "https://api.apify.com/v2/acts/truefetch~multi-engine-search-api/runs?token=APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keyword":"web scraping api","max_results":2,"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. Generated SDK and OpenAPI examples are on the Actor API page.
Quick test only: POST /v2/acts/truefetch~multi-engine-search-api/run-sync-get-dataset-items returns rows on one connection, safe here only because a two-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 each retry starts another billed run.
For MCP, point a client at https://mcp.apify.com and call the Actor by name:
{"actor": "truefetch/multi-engine-search-api","input": {"keyword": "web scraping api","max_results": 2,"platforms": ["brave"]}}
How much does Multi Engine Search API cost?
Each row costs $0.00250 on the FREE tier and each run adds $0.04 of Actor Start, so the smallest useful test — two rows from one platform — totals $0.04500.
| Event | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| Result (one row) | $0.00250 | $0.00225 | $0.00200 | $0.00188 | $0.00188 | $0.00188 |
| Actor Start (per GB of run memory) | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 | $0.01 |
The billing unit is one Dataset row, and max_results is per platform, so the count is exact: ten platforms at 12 is 120 rows. A page five platforms returned is five rows and is billed as five, because each carries a different platform's ranking. 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. Reading the result page carries no separate charge, and a page several platforms returned is downloaded once, so one call across ten indexes costs less than ten single-index calls that each pay their own Actor Start.
Prices can change; live figures are on the Actor pricing page.
How does Multi Engine Search API compare with alternatives?
Querying each platform by hand works for one phrase against one platform and does not scale to ten, leaving no rank comparison and no export.
Building the integration yourself means ten response shapes, ten paging parameters and per-index redirectors that hide the destination — recurring work, since those layouts change independently.
The providers' own official APIs are the honest comparison and are better when one platform is enough: richer per-result data, documented quotas, provider support. None of them reaches another company's index, and running several means reconciling several billing relationships and schemas.
Single-index SERP products trade breadth for depth. Choose one for a single market and engine, or if you need paid listings, feature panels or per-country targeting.
What are the limits and troubleshooting steps?
- Fewer rows than
max_results— the selected indexes hold no more distinct pages for that phrase. Select more indexes or broaden it. - An index is named as producing nothing — reported separately from an index that did not respond.
sogou_weixinreturns unfamiliar results — that index covers WeChat articles, not the general web. Deselect it for web pages only.- A
urlstill looks like an index's own address — a few indexes publish a redirector whose destination cannot be recovered without following it. The link still reaches the page; recoverable destinations are unwrapped first. content_statusis notok— the page refused the fetch, was too large, or held no convertible text. The search row is still returned.- Two runs of the same phrase differ — search rankings are not stable. That is source behaviour, which is why
processed_atis stamped on every row.
Report a bug on the Issues tab with the run ID, exact input JSON and selected indexes; do not paste API tokens.
Frequently asked questions
Can I search bing baidu and yandex from one api call?
Yes. Set platforms to ["bing","baidu","yandex"] and all three are queried in parallel from one run. A page all three returned arrives as three rows sharing a url, each carrying that platform's own rank.
Is there a web search api with results from multiple indexes?
That is exactly what this Actor is: ten independent platforms queried in one call, returned as rows in one Dataset with one response shape instead of ten result sets to reconcile.
Is there a free web search API?
Several providers publish official APIs with free tiers, better when one platform is enough. This Actor adds the breadth: ten platforms in one call and one schema, which no single-provider API offers because each sees only its own results.
Can I schedule runs to monitor search results over time?
Yes. Apify's Scheduler runs the Actor on a cron expression, and because every row carries processed_at, consecutive runs build a rank history across markets a single-index tool cannot see.
How do I see which pages several platforms agreed on?
Group the Dataset by url. A page returned by five platforms is five rows sharing that url, each with 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.
Related TrueFetch Actors
- Google Trends Explore — measures demand for a phrase, which pairs with the supply side this Actor returns.
- Google Trending Now — surfaces rising queries worth running across ten indexes before they are widely covered.
- Reddit Search API — searches discussion rather than the indexed web, for questions where forum answers beat pages.
Support
Store listing, API reference and pricing. Report reproducible bugs on the Issues tab with the run ID and exact input JSON; ask questions in the TrueFetch community on Telegram.
Run a two-result test · View API
Last Updated: September 2, 2026