One API for the Meta, Google, TikTok and LinkedIn ad libraries

Search any of the four public ad libraries from your own software. Every ad comes back as the same JSON record, whichever platform it came from.

  • No card
  • Sandbox key straight away
  • 100 credits a month free
  • Empty results are free
Sandbox sample image, no media
MetaActiveImage

Northwind Running Co

Trail shoes, half price this week

Grip that holds on wet rock. Free returns for 60 days.

Shop now
Shown
4 Aug 2026 to 18 Oct 2026
Where
Facebook, Instagram, Audience network, Messenger
meta_900000000000001In the library
GET /v1/meta/ads?q=running+shoes&country=GB&active=true

Four ad libraries, one API

Each library has its own endpoint, with the filters that library has. One account, one key and one monthly allowance of credits cover them all.

Meta Ad Library

Search the Meta Ad Library from your own software. Send a keyword or a Facebook page id and get up to 30 ads a page as JSON: text, media, dates and placements.

Search by
keyword, page id
Filters
country, active, format, placements, category, language, sort, exact, date_from, date_to
A page
Up to 30 ads
Endpoint
GET /v1/meta/ads

Google Ads Transparency Center

Search the Google Ads Transparency Center from your own software. Send an advertiser’s domain or Google advertiser id and get up to 100 ads a page as JSON.

Search by
domain, advertiser id
Filters
country, format, surface, political, date_from, date_to
A page
Up to 100 ads
Endpoint
GET /v1/google/ads

TikTok Commercial Content Library

Search TikTok’s Commercial Content Library from your own software. Send a keyword or an advertiser’s exact name and get up to 36 ads a page as JSON, with the video, dates and reach.

Search by
keyword, advertiser name
Filters
country, sort, date_from, date_to
A page
Up to 36 ads
Endpoint
GET /v1/tiktok/ads

LinkedIn Ad Library

Uses 2 credits

Search the LinkedIn Ad Library from your own software. Send a company name, a LinkedIn company id or a keyword and get about 24 ads a page as JSON.

Search by
company, keyword, company id
Filters
countries, date_from, date_to
A page
Up to 24 ads
Endpoint
GET /v1/linkedin/ads

Search the sandbox now

Pick a platform, type a search and run it. The sandbox answers with sample ads from made-up advertisers, in the same JSON a live search returns. No account, and nothing goes to a platform.

Search by

Words in the ad. Set exact to match it as a phrase.

Or try a scenario

You send

GET /v1/meta/ads?q=running+shoes

The sandbox’s answer appears here: sample ads from made-up advertisers, in the shape a live search returns.

Build against the same sandbox

Sign up and your sandbox key is ready straight away. 100 live credits a month are free.

No password and no card. We email you a sign-in link.

Why Public Ads API

An agent can sign itself up

POST /v1/agent/signup gives an AI agent a sandbox key at once, then a live key with 50 free credits a month. No person, email, card or wallet. Its person claims the keys later with one link.

One record from every platform

Meta, Google, TikTok and LinkedIn ads come back in the same shape: ISO dates, the same field names, null where a platform has nothing. Your code reads one Ad, whichever library it came from.

EU reach and targeting in one call

GET /v1/ads/{id} returns the ad with reach or impressions by country, targeting and who paid, where the library shows them. On Meta that includes EU reach by age and gender.

Nothing found costs nothing

An empty page, a block, a timeout and every sandbox call use no credits. Meta can answer a blocked request with an empty page, so we check an empty Meta answer is real before we send it.

The same Ad record from every platform

One JSON shape. ISO dates, arrays for lists, and null, never a missing key, for what a platform doesn’t have. Add include=raw for the platform’s own record.

  • id
    What it holds
    Ours, unique across platforms: meta_…, google_AR…_CR…
  • platform, platform_ad_id
    What it holds
    Which library, and its own id for the ad
  • advertiser
    What it holds
    id, name, domain and its page in the library
  • status
    What it holds
    active, inactive, or unknown where the library doesn’t say
  • first_shown, last_shown
    What it holds
    ISO 8601 dates in UTC
  • format
    What it holds
    text, image, video, carousel or dynamic
  • text
    What it holds
    headline, body, description and cta; text_source says ocr when read off an image
  • media
    What it holds
    Each image or video with its address, still and size. Links expire: keep copies
  • placements, regions
    What it holds
    Where on the platform it ran, and the countries
  • metrics
    What it holds
    impressions, reach and spend as ranges, or null
  • library_url, link_url
    What it holds
    The ad in the library, and where it sends people

Call it from your code

A GET with your key in the Authorization header. The same request works with a sandbox key and a live one.

curl "https://api.publicadsapi.com/v1/meta/ads?q=running+shoes&country=GB&active=true" \
  -H "authorization: Bearer $PADS_API_KEY"

Ask your AI about us, or hand it the build

It reads this page, then tells you if it fits, what it costs and what building it takes.

Where agents read from

Pricing

A credit is a page of ads or one ad, 2 on LinkedIn. Start free, pay when you search more. Searches that find nothing are never charged.

Full pricing and comparisons

Free

$0

100 credits a month

Then $0.0025 a credit if you add a card

Starter

$19/month

8,000 credits a month

Then $0.0025 a credit

Growth

$49/month

25,000 credits a month

Then $0.0020 a credit

Enterprise

Custom

Your volume, your rate

Invoiced monthly

Questions developers ask

What is Public Ads API?

Public Ads API is an API for the public ad libraries of Meta, Google, TikTok and LinkedIn. You search one platform at a time, with that platform's own filters, and every ad comes back as the same JSON record: advertiser, text, media, dates, placements, regions and metrics.

Which ad libraries does it cover?

The Meta Ad Library (Facebook, Instagram, Messenger, Audience Network and Threads), the Google Ads Transparency Center (Search, YouTube, Shopping, Maps and Play), the TikTok Commercial Content Library and the LinkedIn Ad Library. Each has its own endpoint: GET /v1/meta/ads, /v1/google/ads, /v1/tiktok/ads and /v1/linkedin/ads.

What does a call cost?

A credit is one page of ads, or one ad with all its detail. A call uses 1 credit, or 2 on LinkedIn. The free plan has 100 credits a month with no card. Starter is $19 a month for 8,000 credits and Growth $49 for 25,000. Extra credits are $0.0025 each.

Do empty or blocked searches cost anything?

No. A page with no ads, a search the platform blocked, a timeout, any other error and every sandbox call use no credits. Meta sometimes answers a blocked request with an empty page, so we check an empty Meta answer is real before we send it.

Can an AI agent get a key without a person?

Yes. An agent calls POST /v1/agent/signup and gets a sandbox key at once, then POST /v1/agent/live-key for a live key with 50 free live credits a month. No email, card or wallet is needed. It also gets a claim link to hand to its person, who can keep the keys and upgrade.

What does one ad’s detail add?

GET /v1/ads/{id} returns the ad with every variant, each country it ran in, the targeting and who paid, where the platform shows them. For ads shown in the EU that includes reach or impressions by country, and on Meta reach by age and gender, all in one call.

Does it cover ads shown in the US?

Partly, because the libraries do. Meta shows US ads while they run, and keeps stopped ones only if they are political or issue ads. Google covers US ads with their dates but no impressions or targeting. TikTok’s library has no US ads. LinkedIn covers US ads without impressions or targeting.

How many ads come back in a call?

Up to 30 on Meta, 100 on Google, 36 on TikTok and about 24 on LinkedIn. Each page has next_cursor for the next one, which works only with the same parameters.

How long does a live call take?

A live call reads the platform as it runs, so it can take from a few seconds to about 40. Set a 60 second timeout. Sandbox keys answer at once.

Is there a sandbox?

Yes. Every account gets a sandbox key the moment it signs up. It returns sample ads from made-up advertisers in the same shape as live ones, and the queries empty, blocked, timeout and changed return those answers, so you can build your error handling first.

Run your first search today

Sign up with your email. Your sandbox key is waiting, and it searches every platform.