Bing Ads Library Scraper — Microsoft Ads Transparency API
Pricing
from $3.00 / 1,000 results
Bing Ads Library Scraper — Microsoft Ads Transparency API
Scrape the Microsoft/Bing Ads Library by advertiser, domain, or keyword. Ad creatives, titles, destination URLs, first/last-shown dates; filter by country & date. Bing ads library / Microsoft ads transparency / competitor ads on Bing. Clean JSON/CSV, company-level only.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
mochi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Bing Ads Library Scraper — Microsoft Ads Transparency & Competitor Ad Library API
Scrape the Microsoft / Bing Ads Library (adlibrary.ads.microsoft.com) into clean, filterable JSON or CSV. Search by advertiser name, advertiser ID, or ad-copy keyword, and pull every ad an advertiser is running on Bing — title, description, display & destination URLs, creative assets, and (optionally) per-ad impressions range and ad dates. Built for competitor ad research, ad monitoring, and AI agents that need Bing ad transparency data on tap.
Keywords: bing ads library, microsoft ads transparency, bing ads scraper, competitor ads bing, ad library api, microsoft advertising transparency, bing ad intelligence, competitor ad monitoring.
What it does
- Advertiser search — type a brand ("Nike", "Bosch") and get every advertiser match plus all their ads.
- Advertiser ID — pass an exact Microsoft advertiser ID and pull its complete ad set.
- Keyword — find ads whose copy (title/description) contains your terms.
- Filters — EEA country, date range, and an optional ad details enrichment (impressions range, funding entity, ad dates).
- Streams results live — rows are written to the dataset as each page arrives, so an interrupted run still keeps everything found so far.
- Company-level only — advertiser (funding-entity) name + ad creative metadata. No personal data.
Data source & scope
This actor uses Microsoft's official public Ad Library API (adlibrary.api.bingads.microsoft.com/api/v1), the same data behind the public Bing Ad Library site. The API is public and needs no login or API key.
Coverage: the European Economic Area (EEA) only. The Bing Ad Library is Microsoft's EU-compliance transparency tool, so it contains ads served within the EEA — not the US. If you need a specific EEA market, set country (e.g. DE, France, IE); otherwise it returns ads across the EEA.
Input
| Field | Type | Description |
|---|---|---|
searchMode | select | advertiser (name search, default), advertiserId (exact), or keyword (words in ad copy). |
queries | array | Advertiser names, advertiser IDs, or keywords — must match searchMode. |
country | string | EEA country name/code (e.g. DE, Germany, IE) or anywhere. Country lives on the advertiser, not the ad, so on keyword searches each ad's advertiser country is resolved via an extra (cached) lookup; ads whose advertiser country can't be resolved are kept and flagged in the run log. Unknown input → anywhere. |
dateFrom / dateTo | string | YYYY-MM-DD active-period bounds (applied when ad dates are available). |
includeAdDetails | boolean | Fetch per-ad total impressions range, ad start/end dates, and funding entity (one extra request per ad, slower). Default off. |
maxResults | integer | Stop after N ads. Default 20 for a fast preview; 0 = no limit. |
Example
{"searchMode": "advertiser","queries": ["Nike"],"country": "DE","maxResults": 50}
Output
One row per ad (flat, predictable, agent-friendly):
{"advertiserName": "Contoso Retail GmbH","advertiserId": "123456789","advertiserCountry": "DE","advertiserVerified": true,"adId": "AD-0001","title": "Winter Sale — up to 40% off","description": "Shop the Contoso winter collection. Free returns across the EEA.","displayUrl": "contoso.de/winter","destinationUrl": "https://www.contoso.de/winter-sale","assetJson": "{\"images\":[{\"url\":\"https://…\"}]}","firstShown": "2026-01-05","lastShown": "2026-02-28","totalImpressionsRange": "10K - 50K","paidForByName": null,"rejectionJson": null,"adLibraryUrl": "https://adlibrary.ads.microsoft.com/ad-details?adId=82051464584485","country": "DE","matchedQuery": "Nike","searchMode": "advertiser","recordType": "ad","source": "adlibrary.ads.microsoft.com","scrapedAt": "2026-07-27T00:00:00.000Z"}
firstShown / lastShown / totalImpressionsRange / paidForByName / rejectionJson are populated only when includeAdDetails is on (the Ad Library exposes these on the single-ad endpoint).
For AI agents (MCP)
This actor is exposed to any MCP-compatible AI agent (Claude, ChatGPT, Cursor, LangChain) through the
hosted Apify MCP server — connect once, then ask the agent to run
mochiboo/bing-ads-library-scraper.
Want only this actor as a tool, with no store search in the way? Point the agent at
https://mcp.apify.com/?actors=mochiboo/bing-ads-library-scraper and it loads as a single named tool —
the agent calls it directly instead of searching for it and possibly picking someone else.
- Every input has a short, self-explanatory description; field names are literal.
- Default run is small and fast (
maxResults: 20), so an agent can probe cheaply before a full pull. - Output is a flat object with stable keys — no nested decoding needed for the common fields.
Notes
- Compliance: all data is advertiser/company-level (Microsoft requires ads to disclose the funding organisation). No personal data is collected.
- Rate limits: unauthenticated Ad Library calls are throttled by Microsoft; this actor retries with backoff and rotates IPs via Apify Proxy to stay reliable on larger pulls.
Pricing
Pay per result — $0.003 per ad returned, plus a $0.00005 actor-start event. No subscription.
The default run returns 20 ads (~$0.06), so you can check the output shape before scaling up.
Set maxResults to cap spend on any run.
Related ad-intelligence actors
Same flat-schema family — mix and match to cover a competitor across every ad network:
- Competitor Ad Intel — All Platforms — Google and Bing in one normalized dataset from a single input.
- Google Ads Transparency Scraper — the Google side: Search, Shopping, Display & YouTube ads.
- YouTube Ads Scraper — video ads resolved to real YouTube video IDs and watch URLs.
- Competitor Ad Monitor — scheduled change-feed: only what is new or changed since the last run.
- Winning Ad Creatives — ranks a competitor's ads by how long they have survived, so you get the proven creatives instead of the full list.
FAQ
Do I need a Microsoft or Bing account? No. The Microsoft Ads Library is public — no login, no cookies.
Does this cover US advertisers? No, and this is the most important limit to know before you run it. Microsoft's Ads Library is an EEA transparency obligation, so it covers ads served in the EEA only. For US coverage use the Google Ads Transparency Scraper.
Can I see competitor ad spend or impressions?
No. The public Ads Library does not publish spend. Impression bands are available for some ads via
includeAdDetails, where Microsoft discloses them.
Can I export to CSV or Excel? Yes — every Apify dataset exports to JSON, CSV, Excel, XML, or RSS from the UI or the API.
Does this collect personal data? No. Output is advertiser/company-level only (PDPA / GDPR-friendly by design).
Support & feedback
Found a bug or a missing field? Open an issue on the actor's Issues tab — this actor is actively maintained. If it saved you time, an honest review on the Apify Store helps other people find it.