Multi-Engine SERP - Bing, DuckDuckGo, Yahoo and Baidu Merged avatar

Multi-Engine SERP - Bing, DuckDuckGo, Yahoo and Baidu Merged

Pricing

from $2.00 / 1,000 per-run start fees

Go to Apify Store
Multi-Engine SERP - Bing, DuckDuckGo, Yahoo and Baidu Merged

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.

Pricing

from $2.00 / 1,000 per-run start fees

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Categories

Share

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

CodeMeaning
engine_failedOne engine could not be read for one keyword
no_resultsNo engine returned anything for a keyword
bad_inputNo keyword, or no known engine, was given

The single-engine actors if you want one index on its own: bing-serp, duckduckgo-serp, yahoo-serp and baidu-serp.