> Search the public ad libraries of Meta, Google, TikTok and LinkedIn from your own software. One key, the same Ad record from every platform.

Web version: https://publicadsapi.com/ · Last updated: 2026-10-21

# 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.

[Get a free API key](https://publicadsapi.com/signup) · [Read the quickstart](https://publicadsapi.com/docs/quickstart)

-   No card
-   Sandbox key straight away
-   100 credits a month free
-   Empty results are free

## 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

[Meta Ad Library API](https://publicadsapi.com/meta-ad-library-api)

### 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

[Google Ads Transparency Center API](https://publicadsapi.com/google-ads-transparency-api)

### 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

[TikTok Ad Library API](https://publicadsapi.com/tiktok-ad-library-api)

### 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

[LinkedIn Ad Library API](https://publicadsapi.com/linkedin-ad-library-api)

## 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.

## 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.

[Build with an agent](https://publicadsapi.com/docs/agents)

### 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.

[One ad in the docs](https://publicadsapi.com/docs/api/ads)

### 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.

Fields of the Ad record
| Field | What it holds |
| --- | --- |
| `id` | Ours, unique across platforms: meta\_…, google\_AR…\_CR… |
| `platform, platform_ad_id` | Which library, and its own id for the ad |
| `advertiser` | id, name, domain and its page in the library |
| `status` | active, inactive, or unknown where the library doesn’t say |
| `first_shown, last_shown` | ISO 8601 dates in UTC |
| `format` | text, image, video, carousel or dynamic |
| `text` | headline, body, description and cta; text\_source says ocr when read off an image |
| `media` | Each image or video with its address, still and size. Links expire: keep copies |
| `placements, regions` | Where on the platform it ran, and the countries |
| `metrics` | impressions, reach and spend as ranges, or null |
| `library_url, link_url` | 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"
```

### Where agents read from

-   [/llms.txt](https://publicadsapi.com/llms.txt)An index of the docs, written for models
-   [/llms-full.txt](https://publicadsapi.com/llms-full.txt)Everything in one file
-   [/openapi.json](https://publicadsapi.com/openapi.json)OpenAPI 3.1, also at /.well-known/openapi.json
-   [/docs/quickstart.md](https://publicadsapi.com/docs/quickstart.md)Every page has a Markdown copy

## 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](https://publicadsapi.com/pricing)

### 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.

[Get a free API key](https://publicadsapi.com/signup) · [Read the quickstart](https://publicadsapi.com/docs/quickstart)
