Microsoft Ads Library Scraper: Bing Ads Transparency
Pricing
$1.50 / 1,000 ad scrapeds
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
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
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 softwareacross 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:
| Advertiser | Headline | EU impressions | Targeting |
|---|---|---|---|
| monday.com | monday CRM (sehr gut bewertet) - Teste monday CRM kostenlos | 250K - 500K | Gender, Age, Location |
| monday.com | CRM Without the Frustration - No-Code CRM Software | 250K - 500K | Gender, 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
- Add search terms (words in the ad copy or a brand name) and/or advertisers (names like
Hubspot, Inc.or numeric IDs like4295007715). - Optionally pick countries (EU/EEA only) and a date range, or use Shown in the last N days.
- Set Max ads per search term / advertiser and Max ads in total, then click Start.
- 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
| Field | What it does |
|---|---|
searchTerms | Keywords in ad copy or advertiser names, one per line |
advertisers | Advertiser names or numeric Microsoft advertiser IDs |
countries | EU/EEA countries the ad was shown in (empty = all) |
lastDays / startDate / endDate | Only ads that ran in this period (YYYY-MM-DD) |
maxAdsPerQuery | Cap per search term or advertiser (default 100) |
maxAds | Cap for the whole run (default 1,000) |
includeDetails | Dates, impressions, paid-for-by, restrictions and targeting (default on) |
includeImpressionsByCountry | Country impression split (default on) |
concurrency | Parallel 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.
Related tools
- Google Ads Transparency & Ad Library Scraper: your competitors' Google Search, YouTube and Display ads
- AI Search Visibility Tracker: whether ChatGPT, Gemini and Perplexity recommend your brand, with rank and share of voice
- AI Citation Tracker: which websites ChatGPT and Perplexity cite for your market
- Free AI visibility checker: a 30-second check of whether ChatGPT recommends your brand
Built by Kendall Sorenson.