For anything that is not a political or issue advertisement, the library shows you only what is running right now. No archive. No spend. No impressions. No audience. And outside the European Union, the interface will not return an ordinary commercial advertisement at all.

That is a long way from how the tool is usually described, and the gap matters, because a lot of competitive research is built on an assumption about what is in there.

This page sets out what it actually contains, the law that decides that, and what you can genuinely learn from it.

What the platform says it holds

The help documentation is unambiguous once you read the two sentences in the right order.

For all advertisements. You can search for advertisements that are currently active on the platform’s products. That is the whole entitlement for ordinary commercial advertising.

For social issue, election and political advertisements. You can also search inactive ones, and the entry shows who funded the ad, a range of how much they spent, and the reach across multiple demographics.

The retention. The platform states that it stores these ads, meaning the political and issue category, in the library for seven years.

Removal. The documentation notes limited circumstances in which advertisements may be removed, such as serious violations of the platform’s content standards or a valid government request.

What follows immediately. Any claim that you can research a competitor’s advertising history is wrong for the commercial case. If the ad has stopped running and it is not political, it is gone from your view.

The field list is where the truth is

The interface reference documents every field with its restriction attached, and this is the clearest statement of what is and is not available.

Political and issue advertisements only. Amount spent. Impressions. Demographic distribution. Estimated audience size. Delivery by region. Funder bylines. Currency.

Note what that list is. It is every field with commercial value. Spend, reach, audience and geography are all in the political-only tier.

Available for all advertisements. Identifier, creation time, the creative bodies, link captions, link descriptions and link titles, delivery start time, delivery stop time, a snapshot URL, languages, page identifier, page name and the platforms it ran on.

Available only for advertisements delivered to the UK or the EU. Targeted ages, targeted gender, targeted locations, estimated total reach in the EU, payer and beneficiary information, and a reach breakdown by age, country and gender.

And the sentence that decides everything for non-European advertisers. The reference states that advertisements which did not reach any location in the EU will only be returned if they are about social issues, elections or politics.

Even the spend range is coarse. Where it exists, it is published in bands: under 100, 100 to 499, 500 to 999, 1,000 to 5,000, and upward through to above one million. Never a figure.

The three tiers of field availability in the public advertising repositoryDiagram setting out the three tiers of field availability documented in the public advertising repository’s interface reference, showing which information is accessible for which category of advertisement. The first tier, available for all advertisements, comprises the advertisement identifier, its creation time, the creative bodies, link captions, link descriptions and link titles, the delivery start time, the delivery stop time, a snapshot address, the languages used, the advertising page identifier and name, and the platforms on which it ran; this tier contains no financial, audience or performance information of any kind. The second tier exists only for advertisements delivered to the United Kingdom or the European Union and comprises targeted ages, targeted gender, targeted locations, estimated total reach in the European Union, payer and beneficiary information, and a reach breakdown by age, country and gender; this tier exists because European regulation requires very large platforms to publish the main targeting parameters and the total number of recipients reached. The third tier exists only for advertisements about social issues, elections or politics and comprises the amount spent, the impressions received, the demographic distribution, the estimated audience size, delivery by region, funder bylines and currency; every field carrying commercial intelligence value therefore sits in this most restricted tier, and even the spend field is published as a coarse range rather than a figure, using bands running from under one hundred, one hundred to four hundred and ninety-nine, five hundred to nine hundred and ninety-nine, one thousand to five thousand, and upward through to above one million. The reference states explicitly that advertisements which did not reach any location in the European Union will only be returned if they concern social issues, elections or politics, which means an ordinary commercial advertisement outside Europe is not present in the interface at all.Three tiers, and where the useful fields liveTier 1: all advertisementsID, creation time, creative bodies, link captions, descriptions and titles, delivery start time,delivery stop time, snapshot URL, languages, page ID, page name, platforms.No spend. No impressions. No audience. No performance.Tier 2: only ads delivered to the UK or EUTargeted ages, targeted gender, targeted locations, estimated total EU reach, payer andbeneficiary information, reach breakdown by age, country and gender.This tier exists because European law requires it, not because the platform chose to publish it.Tier 3: only social issue, election and political adsAmount spent, impressions, demographic distribution, estimated audience size, delivery byregion, funder bylines, currency.Every field with commercial value is in here. And spend is a band, never a figure.”Ads that did not reach any location in the EU will only return if they are about social issues, elections or politics.”
Every field with commercial value sits in the political-only tier. The EU tier exists because European law requires it. Source : Platform archived ad field reference (2026)

What an ordinary ad card actually shows

I searched a well-known software company on the public interface, from France, with no account. It returned 180 results. Here is everything a card carries.

Status. Active.

A library identifier. Useful for citing a specific ad and for finding it again.

A start date only. The date delivery began. There is usually no end date, because the field is blank while an ad is still running: the reference states that if delivery stop time is blank, the ad will run until the advertiser stops it or spends the budget.

Platform icons. Which surfaces it runs on.

A version note. Whether the ad has multiple versions, or how many ads use the same creative and text. This is quietly one of the most useful things on the card.

A transparency block for the EU, on most but not all entries. One in the first ten did not display it.

The advertiser name, the creative, the text and the call-to-action button.

What is absent. Budget. Spend. Impressions. Audience. Targeting. Performance. End date.

Contents of an ordinary commercial advertisement card in the public advertising repositoryTable recording everything displayed on an ordinary commercial advertisement card in the public advertising repository, observed directly by searching a well-known software company from France without an account, which returned one hundred and eighty results. Each card carries the delivery status, shown as active; a library identifier, which is useful for citing a specific advertisement and locating it again; a delivery start date only, since the delivery stop time field remains blank while an advertisement is still running, the reference stating that a blank stop time means the advertisement will run until the advertiser stops it or spends the entire campaign budget; icons indicating which platforms the advertisement runs on; a version note indicating whether the advertisement has multiple versions or how many advertisements use the same creative and text, which is quietly one of the most useful pieces of information on the card; a European transparency block, present on most but not all entries, with one of the first ten observed entries not displaying it; and the advertiser name, the creative itself, the advertisement text and the call-to-action button. Absent from the card are the budget, the amount spent, the impressions received, the audience reached, the targeting applied, any performance information, and the delivery end date. The practical consequence is that competitive research using this source can establish what messages a competitor is running, how many variants they are testing, where they appear and how long a message has survived, but cannot establish anything about how much they are spending or how many people they reached.An ordinary ad card, field by fieldObserved on the public interface, from France, no account. 180 results returned.What the card showsStatus: ActiveLibrary identifierDelivery start datePlatform icons”This ad has multiple versions”EU transparency block (most entries)Advertiser nameThe creative, the text, the CTA buttonOne of the first ten showed no transparency block.What the card does not showBudgetAmount spentImpressionsAudience reachedTargetingAny performance figureDelivery end dateThe stop time field stays blank while an ad runs:it runs until stopped or until the budget is spent.Anyone selling you competitive spend intelligence from this source is estimating.
Observed on the public interface, from France, with no account. 180 results, none carrying a budget. Source : Public ad library interface, observed directly (2026)

One year, not seven

This is the confusion that most commonly appears in writing about the library, and it matters if you are reasoning about European obligations.

What the regulation requires. Providers of very large platforms must compile and make public a repository of the information below, for the entire period during which they present an advertisement and until one year after the advertisement was presented for the last time.

What it must contain. The content of the ad including the product, service or brand name and the subject matter. The person on whose behalf it is presented. The person who paid, if different. The period during which it was presented. Whether it was intended for particular groups of recipients and, if so, the main parameters used, including where applicable the parameters used to exclude groups. And the total number of recipients reached, with aggregate numbers broken down by member state where the ad targeted specific groups.

How it must be accessible. Through a searchable and reliable tool allowing multicriteria queries, and through application programming interfaces. Both, not either.

What it must not contain. Any personal data of the recipients to whom the advertisement was or could have been presented.

Where the seven years comes from. Platform policy, applying to political and issue advertising, worldwide. It is not the legal requirement, and conflating the two produces a claim about European law that is six years too generous.

One clause worth knowing about removed ads. Where a platform has removed or disabled an advertisement for alleged illegality or breach of its terms, the repository must omit the content, the beneficiary and the payer, and instead carry the statement-of-reasons information the regulation specifies elsewhere.

The European advertising repository obligation compared with the platform’s own retention policyDiagram distinguishing the European legal obligation to maintain an advertising repository from the platform’s own voluntary retention policy, which are frequently conflated. The European regulation requires providers of very large online platforms and search engines that present advertisements to compile and make publicly available a repository, in a specific section of their interface, through a searchable and reliable tool allowing multicriteria queries and also through application programming interfaces, for the entire period during which they present an advertisement and until one year after the advertisement was presented for the last time. The repository must include at minimum the content of the advertisement including the name of the product, service or brand and the subject matter; the natural or legal person on whose behalf the advertisement is presented; the natural or legal person who paid for it where different; the period during which it was presented; whether it was intended to be presented specifically to one or more particular groups of recipients and if so the main parameters used for that purpose including where applicable the parameters used to exclude groups; the commercial communications identified under a separate article; and the total number of recipients reached together with aggregate numbers broken down by member state for the groups the advertisement specifically targeted. It must not contain any personal data of the recipients to whom the advertisement was or could have been presented. Where a platform has removed or disabled an advertisement for alleged illegality or incompatibility with its terms, the repository must omit the content, the beneficiary and the payer and instead carry specified statement-of-reasons information. Separately, the platform’s own policy retains advertisements about social issues, elections and politics for seven years worldwide, which is a voluntary policy applying to one category rather than the legal requirement, and treating the seven-year figure as the European obligation overstates that obligation by six years.The law says one year. The platform says seven. They are not the same rule.European regulationApplies to: very large platforms, all adspresented in the EU.Retention: 1 year after last shownAccess required BOTH ways: a searchablemulticriteria tool AND an API.Must publish targeting parameters andtotal recipients reached.Platform policyApplies to: social issue, election andpolitical ads only, worldwide.Retention: 7 yearsVoluntary. Not required by the regulation,and not extended to commercial ads.Quoting seven years as the Europeanobligation overstates it by six years.What the repository must contain, per the regulation(a) the content, including product, service or brand name and subject matter(b) the person on whose behalf it is presented · (c) the person who paid, if different(d) the period during which it was presented(e) whether it targeted particular groups, and the main parameters used, including exclusions(g) total recipients reached, aggregated by member state for targeted groups
One year after last presentation is the law. Seven years is a platform policy for political advertising only. Source : Regulation (EU) 2022/2065, Article 39 (2022)

Why European ads show more

The field tiers are not a design choice. They are a legal schema, and you can read the regulation off the interface.

The regulation requires the main targeting parameters. So target_ages, target_gender and target_locations exist, and exist only where the regulation applies.

It requires total recipients reached. So eu_total_reach exists, and only there.

It requires the beneficiary and the payer. So beneficiary_payers exists, and only there.

It requires an API. So there is one, and its commercial coverage begins and ends with European delivery.

What that means for a US or Asian advertiser researching a competitor. Unless that competitor runs ads in Europe, you will find nothing in the interface. The public web interface still shows currently active ads, but the structured, queryable version of the library is effectively a European artefact.

And a useful inversion. If you want to see a global competitor’s targeting parameters, look at their European delivery. It is the only place the platform is obliged to tell you.

The API is public but not anonymous

Getting programmatic access costs more than a signup form, and the reason is revealing.

What it covers. Advertisements about social issues, elections or politics delivered anywhere in the world during the past seven years, and advertisements of any type delivered to the UK or EU during the past year. That one sentence is the whole scope.

Step one: confirm your identity and location. The platform directs you to the same confirmation process required to run political advertising, and states that it can take a few days to confirm what you submit.

Step two and three. Create a developer account, agree to the platform policy, and add an app.

What that means. Anyone can use it, but nobody can use it anonymously. Researching a competitor’s European advertising leaves an identity trail with the platform.

The query limits worth knowing before you build anything. Search terms are capped at 100 characters. You can pass a maximum of ten page identifiers per request. The countries reached parameter is the only required one. Search type is either unordered keywords or exact phrase.

One limitation that catches multilingual research. The platform does not translate your keyword searches, and says so: you should write them in the language of the ads you are searching. A German campaign will not surface on an English keyword.

And an undocumented ceiling. There is a rate limit error code, and no published quota. You will discover your limit by hitting it.

Scope, access requirements and query limits of the public advertising repository interfaceDiagram summarising the scope, access requirements and practical query limits of the public advertising repository’s application programming interface. The scope is defined in a single published sentence covering advertisements about social issues, elections or politics delivered anywhere in the world during the past seven years, and advertisements of any type delivered to the United Kingdom or the European Union during the past year, which means commercial coverage begins and ends with European delivery. Access is public but not anonymous and requires three steps: first, confirming identity and location through the same process required to run advertisements about social issues, elections or politics, which the platform states can take a few days to complete; second, creating a developer account and agreeing to the platform policy; and third, adding a new application. Researching a competitor’s European advertising therefore leaves an identity trail with the platform. Several practical limits apply immediately: search terms are capped at one hundred characters; a maximum of ten advertising page identifiers may be passed in a single request; the countries reached parameter is the only required parameter; the search type may be either unordered keywords, which is the default, or exact phrase. The platform does not translate keyword searches and states that searches should be written in the language of the advertisements being sought, so a German campaign will not surface on an English keyword. Finally, a rate limit error code exists but no quota is published, so the practical ceiling is discovered by reaching it.The interface: scope, cost of entry, and immediate limitsThe entire scope, in the platform’s own wordsSocial, election and political ads: anywhere in the world, past seven years.Ads of any type: United Kingdom or European Union only, past year.1. Confirm identityThe same process required torun political ads. The platformsays it can take a few days.2. Developer accountAgree to the platform policyas part of account creation.3. Add an appThen request access to theinterface.Public, but not anonymous. Researching a competitor leaves an identity trail with the platform.Limits you meet immediatelySearch terms100 characters maximumPage identifiers per request10 maximumKeyword translationNone. Search in the ad’s own language.Rate limitAn error code exists. No quota is published.
Public but not anonymous. And the commercial coverage begins and ends with European delivery. Source : Platform ad library API documentation (2026)

What it is genuinely good for

None of the above makes the library useless. It makes it useful for different things than people assume.

Reading a competitor’s current message. You see the actual copy, the actual creative and the actual call to action, on the ads running today. That is real and it is not available anywhere else.

Counting variants. The card tells you whether an ad has multiple versions and how many ads share a creative and text. A competitor running one creative and a competitor running forty are running different operations, and you can tell which from the outside.

Reading longevity. The start date on a currently active ad tells you how long a message has survived. An ad running for eight months is one they are not tempted to switch off, which is a stronger signal than any spend figure would be.

Mapping placements. The platform icons tell you where they are choosing to appear.

Seeing European targeting parameters. Where the ad is delivered in Europe, you get targeted ages, gender and locations. That is the closest thing to a competitor’s audience definition you will ever get legitimately.

And knowing what to stop claiming. No spend, no impressions, no performance, no historical archive for commercial ads. Anyone selling you competitive spend intelligence from this source is estimating, and should say so.

How to use it in an hour

Six steps that produce something usable without any tooling.

Search the competitor’s page name, not their brand keyword. Keyword search matches ad copy, which will surface everyone bidding on the topic. Page name gets you their ads.

Set the country deliberately. Results differ by country, and European countries return the transparency block that others do not.

Screenshot every distinct creative with its start date. The dates are the analysis. Everything running more than a few months is a message that works for them.

Count the variants. Note how many ads share each creative and text. That tells you their testing cadence.

Read the copy for claims, not for style. What they promise, what they quantify, and what they carefully avoid saying is the useful part.

Repeat it monthly. A single snapshot tells you what is running. Two snapshots a month apart tell you what they killed, which is the more interesting half.

A one-hour competitive research routine using the public advertising repository within its documented limitsDiagram setting out a competitive research routine that can be completed in about an hour using the public advertising repository, designed to work within the limits of what the repository actually publishes rather than around what it is assumed to publish. The first step is to search on the competitor’s advertising page name rather than a brand keyword, because keyword search matches advertisement copy and will therefore surface every advertiser bidding on the topic, whereas the page name returns the competitor’s own advertisements. The second step is to set the country deliberately, since results differ by country and European countries return the transparency block that other countries do not. The third step is to capture every distinct creative together with its delivery start date, since the dates constitute the analysis and any advertisement running for more than a few months represents a message the competitor is unwilling to switch off. The fourth step is to count the variants by noting how many advertisements share each creative and text, which reveals the competitor’s testing cadence and distinguishes an operation running one creative from one running forty. The fifth step is to read the advertisement copy for the claims it makes rather than for its style, noting what is promised, what is quantified and what is carefully avoided. The sixth step is to repeat the exercise monthly, because a single snapshot shows only what is currently running whereas two snapshots taken a month apart reveal what the competitor stopped running, which is generally the more informative half of the picture.One hour, no tooling, inside the real limits1. Search the page nameNot the brand keyword, whichreturns everyone bidding on it.2. Set the countryResults differ. European onescarry the transparency block.3. Capture datesEvery creative with its startdate. The dates are the analysis.4. Count the variantsOne creative or forty tells youtheir testing cadence.5. Read for claimsWhat they promise, quantify,and carefully avoid saying.6. Repeat monthlyTwo snapshots show what theykilled, not just what they run.The strongest signal available: longevityAn ad running eight months is one they are not tempted to switch off. That beats any spend figure.What you cannot get, and should stop claiming toSpend, impressions, performance, and any archive of commercial ads that have stopped running.
The dates are the analysis. Two snapshots a month apart tell you what they killed, which is the more interesting half. Source : Method, applied to the public interface (2026)

Where to go next

You want the format specifications behind those creatives. Meta ad formats.

You are weighing the automatic campaign type. Meta Advantage+.

You want the account structure around it. Meta ads account structure.

You are choosing between video and static. Video or static ads.

You want to know where programmatic money goes. Programmatic advertising.

You are choosing between platforms. Meta Ads or Google Ads for B2B.

In short

  • For commercial ads, the library shows only what is currently active. There is no searchable archive of a competitor’s past advertising.
  • Spend, impressions, demographics, audience size and delivery by region are political-only fields. Every field with commercial value sits in that tier.
  • Even there, spend is a band, from under 100 up through above one million, never a figure.
  • Outside Europe, the interface returns no ordinary commercial advertisement at all. The documentation states it plainly.
  • The European tier exists because European law requires it: targeting parameters, total recipients reached, and payer identity.
  • One year, not seven. The regulation requires retention until one year after last presentation. Seven years is a platform policy for political advertising.
  • The API is public but not anonymous, requiring the same identity confirmation as running a political ad, which the platform says takes days.
  • What it is genuinely good for: current messages, variant counts, how long an ad has survived, placements, and European targeting parameters.

Use it for messages and longevity, not for budgets. Book a diagnostic, or see how we approach B2B paid acquisition.