Every major ad platform now ships some flavor of an 'Ad Library API' - a sanctioned, regulatory-compliance-driven endpoint for querying the platform's archive of running ads. Meta has had one since 2018 (the most mature). TikTok shipped one in 2023 (newest, narrowest). LinkedIn launched a UI-only library in 2023 with API access bolted on for regulated jurisdictions. Google has the Ad Transparency Center with an API in beta. The APIs look superficially similar but cover wildly different data scopes, geographies, and authentication models. This guide walks each one - what they return, what they don't, where they overlap, and how to build a cross-platform pipeline that aggregates the useful parts.
Platforms with public ad library APIs
Meta, TikTok, Google, LinkedIn
Common coverage geography
EU + Brazil (only full overlap)
Cost across all platforms
All free, all rate-limited, all gated
Walkthrough
How to use it, step by step
- 1
Start with the Meta Ad Library API - the most mature option
The Meta Ad Library API at facebook.com/ads/library/api/ has been live since 2018 and is the most documented, most stable, and broadest of the four. Required parameters: an access token (gated behind business verification),
ad_reached_countries, and eithersearch_termsorsearch_page_ids. Commercial-ad coverage is EU and Brazil only; political-ad coverage is global. Returns JSON with creative metadata, snapshot URLs, platforms, dates, and (for political ads only) spend and impression ranges.Even if you only care about other platforms, start with Meta - the API has the most worked examples, the deepest community documentation, and the cleanest reference shape. The other platforms' APIs are easier to understand once you've used Meta's. - 2
Add TikTok's Commercial Content API for TikTok coverage
TikTok's equivalent is the Commercial Content API, accessible via the TikTok for Business developer portal. Launched 2023 as a DSA compliance tool for EU users. Returns advertiser identity, ad creative URLs, audience reach, and targeting parameters - notably broader than Meta's commercial API in the data it discloses. Coverage is EU-only as of mid-2026; non-EU TikTok ads are not exposed through the API. Authentication is OAuth-based and requires TikTok for Business account verification.
The TikTok Creative Center (separate from the API) shows curated top ads with engagement data for any geography. For non-EU TikTok research, the Creative Center is more useful than the Commercial Content API. - 3
Use Google's Ad Transparency Center API for Google ads
Google launched the Ad Transparency Center in 2023 (transparencyreport.google.com/political-ads). The API access is in extended beta as of mid-2026, available to verified researchers and journalists through application. Coverage is political and election advertising globally, plus broader commercial advertising in EU member states (DSA-driven). Returns advertiser identity, ad creative, spend ranges (political only), and impression estimates.
Google's UI version of the Ad Transparency Center is publicly accessible without API. For occasional research it's faster to use the UI; for programmatic pipelines apply for API access early - the review cycle runs 2-4 weeks. - 4
Add LinkedIn for B2B coverage
LinkedIn launched an Ad Library in 2023 with a public UI and a developer API for EU member states. The data is narrower than Meta's - advertiser name, ad creative, ad targeting parameters (notably more transparent than Meta on targeting), and dates. No spend data. LinkedIn's API is gated through their Marketing Developer Platform and requires a partner application. For most B2B research, the UI is enough; the API is overkill unless you're building a B2B-specific competitive intelligence product.
- 5
Normalize the responses into a common schema
Each platform's API returns a different JSON shape with different field names and different missing-data semantics. To run cross-platform analysis you need a normalization layer. Common schema for cross-platform ad data:
platform,advertiser_id,advertiser_name,ad_id,creative_url,creative_type,started_at,ended_at,placements,countries,spend_range(nullable),impression_range(nullable). Map each platform's API response to this schema at ingest, store normalized data downstream.Build the normalizer as a thin adapter layer per platform, not a monolithic function with platform-conditional branches. The adapter pattern survives schema changes; the monolithic function does not. - 6
Handle the EU/Brazil coverage asymmetry strategically
The only geography where all four major platforms provide commercial-ad data through their APIs is the European Union and Brazil. Outside those regions, Meta limits to political ads, TikTok exposes nothing, Google ships political only, and LinkedIn has no public API at all. If your competitive intelligence project lives outside the EU/Brazil, you have three paths: route research through EU-targeted ads where competitors are multinational, use UI scraping for non-API data (legally murky), or pay for third-party tools that maintain scrape infrastructure across geographies.
- 7
Build retry, backoff, and rate-limit handling into every adapter
Every ad library API rate-limits aggressively. Meta: 200 calls/hour/token. TikTok: similar order of magnitude. Google: documented rate limits change roughly quarterly. LinkedIn: low double-digit calls per minute. Build exponential backoff, multi-token rotation where allowed, and aggressive caching into your pipeline from day one. The rate limits are not negotiable; designing around them at v1 is cheaper than retrofitting at v2.
Cache aggressively. Most competitive monitoring queries don't need real-time data. Cache responses for 12-24 hours and serve from cache rather than re-hitting the API on every internal request.
Cheatsheet
Filters that matter
| Filter | What it does | When to use |
|---|---|---|
| Platform (Meta / TikTok / Google / LinkedIn) | Routes queries to the appropriate API adapter and applies platform-specific parameters. | Always - the pipeline must know which platform a query is targeting. |
| Country (ad_reached_countries equivalent) | Restricts results to a specific country's library partition. | Always set explicitly. Most platforms partition by country; unspecified queries default unreliably. |
| Advertiser ID | Anchors queries on a specific platform-specific advertiser identifier. | Default for competitor monitoring - cleaner than keyword search. |
| Ad type (commercial / political) | Filters between commercial ads (EU/Brazil for most platforms) and political/issue ads (global for most). | Set to commercial where covered; political-only otherwise. Most platforms default reasonably. |
| Active status | Filters to currently-delivering ads vs paused or stopped. | 'Active' for benchmarking; 'Inactive' for historical archive building. |
| Date range | Filters by ad delivery date range. | Use for incremental queries - only fetch new ads since last run. |
| Media type | Narrows by Image / Video / Carousel / etc. Where the platform exposes it. | Filter at API level rather than post-process to cut response size and rate-limit pressure. |
What it won't tell you
The gaps
Commercial coverage is EU/Brazil only on most platforms
The biggest structural gap. Meta, TikTok, and Google all limit their commercial-ad API coverage to EU and Brazil (the regulatory regimes that mandate the disclosure). Outside those geographies, the APIs return political ads only - which are typically non-existent for commercial brands. For non-EU/Brazil competitive research, sanctioned API paths don't exist.
Spend and engagement data is political-ads-only across the board
Every platform's API returns spend and impression data only for political and issue ads (the regulated disclosure category). Commercial ads return creative metadata only - no spend, no engagement, no targeting visibility. This is a regulatory artifact, not a technical limitation, and is unlikely to change.
Rate limits compound across multi-platform pipelines
Each platform's rate limit is independent, but multi-platform pipelines hit the aggregate. Sweeping 50 competitors across Meta + TikTok + Google + LinkedIn requires roughly 200-400 API calls per sweep; with the rate limits across platforms, that's 1-3 hours of wall-clock time per sweep. Plan pipelines to spread queries across time and tokens.
Schema heterogeneity makes cross-platform analysis hard
Every platform's API returns a different JSON shape, different field names, different missing-data conventions. Cross-platform analysis requires a normalization layer per platform plus a unified downstream schema. This is engineering work the platforms could do for you and don't - because they have zero incentive to make cross-platform competitive intelligence easier.
Shuttergen
Cross-platform competitor audits without the pipeline.
Shuttergen aggregates Meta, TikTok, Google, and LinkedIn ad library data into one unified competitor view - no adapter maintenance, no normalization layer, no rate-limit engineering.
Why every platform now has an ad library API
The ad library API ecosystem exists because of regulation, not because platforms wanted to build it. Three regulatory waves drove the buildout. Wave one (2018-2020): post-2016 election scrutiny in the US drove Meta to launch the Ad Library API as a political-ad transparency tool, with similar disclosure requirements in the UK, EU, and Brazil. Wave two (2022-2023): the EU's Digital Services Act (DSA) classified major platforms as Very Large Online Platforms (VLOPs) and required them to maintain queryable repositories of all advertising shown to EU users, including commercial ads. Wave three (2024-present): Brazil and other jurisdictions began ratcheting their own commercial-ad transparency laws, expanding the geographic scope of mandated disclosure.
The result: every major platform now ships an ad library API, but each one covers exactly the data the regulators forced them to expose - and nothing more. Meta's commercial API covers EU and Brazil because those jurisdictions require it. TikTok's API covers EU only. Google covers EU plus global political. LinkedIn covers EU only. The pattern is identical: platforms expose the minimum mandated data in the minimum mandated geographies and resist any further disclosure as competitive intelligence.
Practical consequence: don't expect API coverage to expand unless new regulatory mandates force it. Plan your pipeline around the current scope rather than betting on future expansion.
The Meta API is the reference implementation - others copy it
Meta's Ad Library API was the first to ship and has set the de facto template that TikTok, Google, and LinkedIn followed. Common architectural patterns across all four: business verification gating, OAuth-based access tokens, country-anchored queries via ISO codes, advertiser-ID-anchored search (cleaner than keyword), JSON response shapes with paginated results via cursor, per-token rate limiting at ~100-200 calls per hour.
If you've integrated with the Meta API, integrating with the others is a smaller lift than the docs suggest. The mental model is the same; only the field names and authentication flows differ. The cross-platform learning curve is steep on the first platform and shallow on the next three.
Where the platforms diverge: TikTok exposes more targeting transparency than Meta does (the Commercial Content API includes audience-demographic breakdowns for commercial ads in EU). Google exposes spend data more aggressively on political ads but is stingier on commercial. LinkedIn has the cleanest targeting transparency of any platform because B2B targeting is inherently more visible in the UI. Use the platform-specific strengths when designing your analysis layer.
Cross-platform competitor audits without the pipeline. Shuttergen aggregates Meta, TikTok, Google, and LinkedIn ad library data into one unified competitor view - no adapter maintenance, no normalization layer, no rate-limit engineering.
How to build a multi-platform competitive intelligence pipeline
A multi-platform pipeline has five layers. Adapter layer: one thin module per platform that hits the API, handles auth, manages rate limits, and returns normalized JSON. Normalization layer: maps each platform's response to a unified internal schema (platform, advertiser_id, creative_url, started_at, etc.). Storage layer: persists normalized data in a queryable store - usually Postgres or BigQuery for analytical work. Enrichment layer: applies post-fetch enrichment (hook tagging, creative classification, brand-aware tagging) - usually LLM-based in 2026, often using vision models on creative_url. Query layer: powers the actual end-user surface (dashboards, alerts, exports).
The hardest part is the adapter and normalization layers. Each platform's API changes its quirks roughly quarterly - field renames, response-shape tweaks, rate-limit adjustments. Adapters need to be resilient to these changes, which usually means defensive parsing (handle missing fields gracefully, log unknown fields rather than crash) and version-pinned API calls where the platform supports them.
The easiest part is the enrichment layer, paradoxically. Modern vision-and-language models (Gemini 3 Pro and similar) can tag creative metadata - hook archetype, visual style, CTA position, brand mark placement - from a single API call per ad. The cost is roughly $0.01-0.03 per ad; for a 10,000-ad weekly sweep, the LLM enrichment cost is $100-300 per week, dwarfed by the engineering cost of the other layers.
Internal: Facebook Ad Library API goes deeper on Meta's specific API; Foreplay deep dive covers how the leading commercial product handles cross-platform integration.
When to build vs buy a multi-platform pipeline
The build case is strongest when: you're a vendor building a product that itself depends on ad library data as core infrastructure; you have unusual data shape or coverage requirements that paid tools don't serve; you need full control over the data pipeline for compliance or data-residency reasons. The maintenance cost is significant - 1-2 engineering FTEs for a serious cross-platform pipeline, primarily absorbing platform API changes and adding new platforms as they come online.
The buy case is stronger for most internal marketing teams. Foreplay, Atria, Motion, AdSpy, and Minea all aggregate across multiple platforms (with varying coverage) and resell access at $50-500/mo per seat. The pipelines are professionally maintained and the tagging layers are mature. For most teams the buy decision pays for itself within a quarter when you cost out the engineering time you'd otherwise spend on adapter maintenance.
Hybrid pattern that works well in practice: use a paid tool for breadth (cover the full competitive set across all platforms at acceptable depth), use the official APIs directly for depth (custom analysis on your top 3-5 priority competitors where you need full fidelity). The combined cost is $100-1000/mo and covers the bulk of competitive intelligence use cases without requiring you to maintain the full pipeline yourself.
FAQ
Frequently asked
Which platforms have ad library APIs?
Are ad library APIs free?
Do ad library APIs return spend or engagement data?
What's the rate limit on most ad library APIs?
Why is commercial coverage limited to the EU and Brazil?
Can I aggregate multiple ad library APIs into one pipeline?
Are there alternatives to building on the official APIs?
Related
Keep reading
Resource
Facebook ad library api
Deep dive on the Meta-specific API.
Resource
Meta ad library
UI reference for the most mature ad library.
Resource
Facebook ad library scraper
When scraping is the right answer over API access.
Research
Tiktok Ad Playbook 2026
How TikTok's API and Creative Center fit into a multi-platform strategy.
Research
Anatomy Of Good Meta Ad Library
Audit methodology that pairs with multi-platform pipelines.
Sources
Cross-platform competitor audits without the pipeline.
Shuttergen aggregates Meta, TikTok, Google, and LinkedIn ad library data into one unified competitor view - no adapter maintenance, no normalization layer, no rate-limit engineering.