Pull competitor Bing ads from the Bing Ads Library by keyword, advertiser name or ad id: headline, description, display and landing URL, advertiser, image assets, plus dates, impression band, countries and targeting on request. Each distinct ad billed once, misses free. CSV, JSON, API.
The status message and the free invalid row of a run refused for its input (also when the dataset refused that row) now say that only the run's start fee was charged; they said before that nothing was charged. The log line of an invalid input says the same. The stop on a dataset that cannot be read back now says nothing more is charged and that the start fee was, and the hint of the error row names the start fee next to the events charged before the error.
When Microsoft's library behind Bing fails (a server error, no answer, a misshapen answer or its rate limit), the run still ends green, and its status message now says that Microsoft's Ad Library is failing, with the cause, how many searches could not be read in full, that nothing was charged for them, and to try again later.
The example input is an advertiser search (eBay Marketplaces GmbH) since 2026-10-20.
0.1 (2026-10-07)
First version of the Bing named listing. Search the Bing Ads Library (Microsoft's EU archive of the ads shown on Bing) by keyword, advertiser name or id, ad id or library URL; one row per distinct ad, each charged once per run.
Detail record per ad on request: payer, first and last day shown, impressions band with numeric bounds, impression share per country, targeting types.
Advertiser register search, advertiser country and verified status on request.
Deep search: a search the library caps at 1,000 results is split by date.
Named memory: later runs deliver only ads not delivered before.
Free coverage row per search, free status row per miss, one summary row per run.