Blog

What is the Apple Ad Repository? A plain guide to Apple's public ad data

The Apple Ad Repository is Apple's public database of the ads it runs, published because EU law now requires it. It went live in 2025. Anyone can read it, no Apple account needed.

The law behind it is the EU Digital Services Act, specifically Article 39. That rule tells very large online platforms to keep a searchable public archive of the ads they show. Apple's App Store counts as one of those platforms, so Apple built the repository to comply.

What the repository covers

It holds ads shown in EU and UK App Store storefronts. That is about 25 EU storefronts plus the UK. Ads shown outside those markets do not appear.

For each ad, the repository shows you:

  • The advertiser: which app, and which developer.
  • The ad text: the headline and subtitle a user would have seen.
  • The placement: App Store search results, the search tab, or the Today tab.
  • The format and the country the ad ran in.
  • The first and last dates the ad was seen.
  • A link to the actual creative, the image or video itself.

The one number that matters most

The first and last impression dates are the part worth studying. The gap between them tells you how long an ad has run.

That gap is a signal. An advertiser who keeps an ad live for months is running an ad that pays for itself, because nobody funds a creative that loses money. So the length of a run is a free proxy for which creative converts. You are reading a competitor's test results without running the test.

Two examples you can read straight from the repository, as of July 2026. Vinted has an App Store search creative that has run 243 days and is still live. Several of Rosetta Stone's language-learning ads carry the marker "Over 1 Year Ago", which is Apple's label for the longest runs.

Where it trips people up

The repository is honest but awkward. Four things catch people out.

First, Apple splits a single creative into many separate records, one per country and one per reporting window. One ad you would think of as "one ad" can show up as dozens of rows.

Second, each query returns at most about 50 records. A busy advertiser has far more than 50 rows, so a single query never shows the full picture.

Third, the data lags real time by roughly 7 days. What you read today reflects last week.

Fourth, ads older than the reporting window do not show an exact date. They show the literal marker "Over 1 Year Ago" instead. So a very old, very successful ad tells you it is old, but not precisely how old.

How you query it

In principle the flow is two steps. You search an advertiser's name to get an entity id. Then you request that entity's ads using the id.

In practice, the fragmentation and the 50-record cap mean you spend real time fetching every country, removing duplicate records for the same creative, and stitching each creative's rows back into one first-to-last span. That is the math that turns raw rows into a clean "this ad has run 243 days" answer.

Read it in about a minute

Recao does that work for you. It fetches the records, dedupes them per country, and runs the longevity math, so you get a competitor's App Store ads ranked by how long each has stayed live. Type an app name, get the ranked list, free, no signup.

Start a free scan at recao.app.

Method note: everything above describes Apple's public Ad Repository, published under EU Digital Services Act Article 39. The named figures (Vinted's 243-day run, Rosetta Stone's "Over 1 Year Ago" ads) are read from that repository as of July 2026. "Days running" is the span from a creative's first to last recorded impression, and longevity is a proxy for performance, not a measured conversion rate. Repository data lags real time by roughly 7 days.

Run a free scan