Microsoft Ads Library Scraper: Bing Ads Transparency avatar

Microsoft Ads Library Scraper: Bing Ads Transparency

Pricing

$1.50 / 1,000 ad scrapeds

Go to Apify Store
Microsoft Ads Library Scraper: Bing Ads Transparency

Microsoft Ads Library Scraper: Bing Ads Transparency

Scrape the Microsoft (Bing) Ads Library: ad copy, landing pages, images, first/last shown dates, EU impression ranges, country split and targeting. Search by keyword, advertiser name or ID. No login or API key.

Pricing

$1.50 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

Kendall Sorenson

Kendall Sorenson

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

Microsoft Ads Library Scraper: Bing Ads Transparency data

Scrape the Microsoft Ads Library (also called the Bing Ads Library or Microsoft Ad Transparency library) and get every ad an advertiser or keyword has run on Bing search, Microsoft Advertising and partner sites in the EU/EEA: the headline and ad text, display and landing page URLs, image creatives, first and last shown dates, EU impression ranges, the country-by-country impression split and the targeting types used.

Search by keyword (ad copy or brand), by advertiser name, or by Microsoft advertiser ID. No Microsoft account, login, developer token or API key needed.

  • ✅ Full ad copy: title, description, display URL, destination URL and landing domain
  • ✅ Image ad creatives (Bing image URLs) and ad format
  • ✅ First shown, last shown and days running for every ad
  • ✅ Total EU/EEA impressions range (e.g. 250K - 500K) plus numeric min/max for sorting
  • ✅ Impression share by country (France 44.2%, Germany 17.7%, ...) and targeting types (age, gender, location, Microsoft audiences, advertiser audiences)
  • ✅ Advertiser country and verified status
  • ✅ Filter by EU/EEA country and date range, deduplicated across all your queries
  • ✅ Built-in rate-limit handling and retries, so big runs finish instead of failing

👉 Need Google ads too? Use the companion Google Ads Transparency & Ad Library Scraper to see the same competitors' Google Search, YouTube and Display ads.

What can you use it for?

  • Competitor ad research: see the exact Bing ad copy, offers and landing pages your competitors are testing, and how long each ad has been running (long-running ads are usually the winners).
  • PPC and SEM planning: collect headline and description ideas for a keyword like crm software across every advertiser bidding on it.
  • Market and pricing intelligence: track which brands push which products in which EU countries, and how much reach they get.
  • Brand protection and compliance: find ads that bid on or mention your brand, check "paid for by" information, and see restricted ads.
  • Agency reporting and DSA research: export clean, structured Digital Services Act transparency data to Sheets, Excel, BI tools or your own database.

Example output (real run, Nov 2, 2026)

Search term crm software, 25 ads. Top rows:

AdvertiserHeadlineEU impressionsTargeting
monday.commonday CRM (sehr gut bewertet) - Teste monday CRM kostenlos250K - 500KGender, Age, Location
monday.comCRM Without the Frustration - No-Code CRM Software250K - 500KGender, Age, Location

Advertiser Booking.com, shown in Germany or the Netherlands in the last 30 days: 25 ads, 21 of them image ads with creatives.

One dataset row (shortened)

{
"adId": "72224646372358",
"advertiserName": "Booking.com B.V.",
"advertiserId": "4294969411",
"advertiserCountry": "Netherlands",
"advertiserVerified": true,
"title": "Thermen Berendonck",
"description": "Hotels, Homes, And Everything In Between",
"displayUrl": "www.booking.com",
"destinationUrl": "https://www.booking.com/hotel/nl/thermen-berendonck.en-gb.html?aid=2276386&pagename=thermen-berendonck",
"landingDomain": "booking.com",
"adFormat": "image",
"imageUrls": ["https://www.bing.com/th?id=OADD2.1285329232070183_1C03DXDIA5G4JVN&pid=21.2"],
"firstShown": "2026-08-15",
"lastShown": "2026-11-01",
"daysRunning": 79,
"impressionsRange": "500 - 1K",
"impressionsMin": 500,
"impressionsMax": 1000,
"paidForBy": null,
"restricted": false,
"countries": ["BE", "DE", "NL", "PT"],
"impressionsByCountry": [{ "country": "Netherlands", "countryCode": "NL", "share": "98.4%", "sharePct": 98.4 }],
"targetingTypes": ["MicrosoftAudiences"],
"exclusionTypes": ["Location"],
"query": "Booking.com",
"queryType": "advertiser",
"adApiUrl": "https://adlibrary.api.bingads.microsoft.com/api/v1/Ads/72224646372358?expand=AdDetails(expand=ImpressionsByCountry,Targets)",
"scrapedAt": "2026-11-02T18:20:11.000Z"
}

A SUMMARY record in the key-value store lists, for each search term and advertiser, how many matching ads the library reports and how many were saved.

How to use it

  1. Add search terms (words in the ad copy or a brand name) and/or advertisers (names like Hubspot, Inc. or numeric IDs like 4295007715).
  2. Optionally pick countries (EU/EEA only) and a date range, or use Shown in the last N days.
  3. Set Max ads per search term / advertiser and Max ads in total, then click Start.
  4. Download the results as JSON, CSV, Excel or HTML, or connect them to Google Sheets, Make, Zapier or the Apify API.

Advertiser names are matched against the library's advertiser list. Big brands often have several accounts with the same legal name (Booking.com has five); the Actor includes up to five exact matches and logs other close matches with their IDs, so you can pass the exact one next time.

Input

FieldWhat it does
searchTermsKeywords in ad copy or advertiser names, one per line
advertisersAdvertiser names or numeric Microsoft advertiser IDs
countriesEU/EEA countries the ad was shown in (empty = all)
lastDays / startDate / endDateOnly ads that ran in this period (YYYY-MM-DD)
maxAdsPerQueryCap per search term or advertiser (default 100)
maxAdsCap for the whole run (default 1,000)
includeDetailsDates, impressions, paid-for-by, restrictions and targeting (default on)
includeImpressionsByCountryCountry impression split (default on)
concurrencyParallel requests (default 3); the Actor slows down automatically if Microsoft rate-limits

FAQ

Does this cover ads shown in the US or the rest of the world? No. Microsoft publishes its Ad Library to meet the EU Digital Services Act, so it only contains ads that were shown in the European Union or European Economic Area (the 27 EU countries plus Iceland, Liechtenstein and Norway), recorded since June 2023. Global advertisers like HubSpot, monday.com or Booking.com usually run in the EU too, so you'll see their ads, but a US-only campaign won't appear. Impression numbers count EU/EEA impressions only.

Is the data official? Yes. It comes from Microsoft's public Ad Library API, the same data as adlibrary.ads.microsoft.com. The Actor does not log in or bypass anything.

How fresh is it? Microsoft says there can be a 1–3 day delay, so lastShown may lag for ads that are still running.

Why are impressions a range? Microsoft only publishes ranges (like 25K - 50K). We add impressionsMin and impressionsMax numbers so you can sort and filter.

Why do some ads have several possible titles? For dynamic and responsive ads, Microsoft shows a recent, representative version of the copy.

Does it include clicks, spend or keywords? No. Microsoft doesn't publish those in the Ad Library.

Why does a country filter sometimes run slower? For very large advertisers, Microsoft's own country filter can time out. The Actor then automatically fetches the advertiser's ads and keeps the ones whose impression countries match, so you still get results.

Can I monitor competitors? Yes. Schedule the Actor weekly with lastDays: 7 to catch new ads as they launch.

How many ads can I get? Microsoft returns up to about 1,000 ads per search, 24 at a time. Use several search terms, advertiser IDs or date ranges to go further.

Built by Kendall Sorenson.