Multi-Engine SERP - Bing, DuckDuckGo, Yahoo and Baidu Merged
Pricing
from $2.00 / 1,000 per-run start fees
Multi-Engine SERP - Bing, DuckDuckGo, Yahoo and Baidu Merged
Ask several search engines the same question and get one merged ranking. Results are fused with reciprocal rank fusion and every row shows which engines found it and where they ranked it, so you can see what they agree on.
Multi-Engine SERP
Ask several search engines the same question and get back one merged ranking, with every row showing which engines found it and where each of them put it.
Bing, DuckDuckGo, Yahoo and Baidu, in any combination.
What the merged ranking is for
A single engine's top result tells you what that engine likes. A page that three engines all rank tells you something about the page.
That is the number this actor produces: engine_count is how many engines
returned a URL, engine_ranks is where each of them put it, and score fuses
those into one ordering. Set Minimum engines per result to 2 and you get
only the pages more than one engine vouched for, which is a much shorter and
much more trustworthy list.
How the ranking is computed
Reciprocal rank fusion, the standard method for combining ranked lists:
score = sum over engines of 1 / (60 + rank)
Nothing invented here. It has the property you want: being ranked third by three engines beats being ranked first by one, but a single strong result is not buried. Averaging positions cannot do this, because a page an engine did not return has no position to average.
The same page from two engines is one row
Engines return the same page in different clothes:
https://example.com/x, http://www.example.com/x/, and
https://example.com/x?utm_source=bing.
All three collapse to one row. The scheme, the www, a trailing slash and
tracking parameters are all ignored when matching; a real query parameter like
?id=2 is not, because that is a different page. normalised_url shows the
form used for matching, and url keeps what the engine actually gave.
Without this the actor would report agreement as disagreement, which is the one thing it exists to measure.
Expect the engines to disagree
Measured on price monitoring software with Bing, DuckDuckGo and Yahoo:
21 merged results, and only 29% were found by more than one engine. Fifteen
of the twenty-one came from a single engine.
That is the finding, not a fault. These indexes genuinely cover different parts of the web, which is the argument for asking several: one engine was never showing you the whole picture. It also means a consensus-only list is short, so if you set Minimum engines to 2, expect a handful of results rather than a page of them.
When an engine fails
Engines run concurrently and one failing does not take the run with it. Its
name lands in errors and the merge proceeds with the rest, which is the whole
point of asking more than one.
rowsPerEngine in the run summary shows what each engine contributed before
merging. An engine sitting at zero there is the signal that it returned nothing
at all, which a merged list alone would hide.
Market
Market is language and country as en-US or nl-NL. Each engine is given
its own dialect of that, because Bing wants en-US, DuckDuckGo wants us-en
and Yahoo wants just the language.
Errors
| Code | Meaning |
|---|---|
engine_failed | One engine could not be read for one keyword |
no_results | No engine returned anything for a keyword |
bad_input | No keyword, or no known engine, was given |
Related actors
The single-engine actors if you want one index on its own: bing-serp,
duckduckgo-serp, yahoo-serp and baidu-serp.