Facebook Ad Library Search API
/api/facebook-ad-library/search
Search public ads by keyword or advertiser page with creative text, call-to-action, media URLs, advertiser identity, dates and active status
Search ads that Meta discloses in its public ad transparency library, look up advertiser pages, read available filter options, and pull regional ad report sections. No Meta Business account, no app review, no access token approval — just an API key and structured JSON.
Try it now
Use the first endpoint in this API family with a Scrappa API key. Every account includes 500 free monthly credits, so you can validate the response shape before buying credits.
curl -X GET "https://scrappa.co/api/facebook-ad-library/search?query=climate&country=DE" \
-H "Accept: application/json" \
-H "X-API-KEY: YOUR_API_KEY"
{
"search_parameters": {
"engine": "facebook_ad_library",
"query": "climate",
"country": "DE"
},
"ads": [
{
"ad_archive_id": "558896812037021",
"page_id": "15087023444",
"page_name": "Example Advertiser",
"text": "Example political advertising creative text.",
"cta_text": "Learn more",
"cta_type": "LEARN_MORE",
"link_url": "https://example.com",
"images": ["https://example.com/image.jpg"],
"publisher_platform": "facebook",
"is_active": false,
"ad_delivery_start_time": "2023-05-04T00:00:00+00:00",
"spend": null,
"reach_estimate": ">1M",
"reach_estimate_is_coarse_bucket": true
}
],
"ads_count": 1,
"pagination": {"next_cursor": "CURSOR_FROM_RESPONSE", "has_more": true}
}
Structured data for real applications. Here are some ideas.
Track who is running political and social-issue advertising, which creative and call-to-action they use, where the ads run, and when they started and stopped.
Collect ad copy, headlines, captions, call-to-action labels, destination links, and image or video URLs to compare how campaigns are framed.
Resolve an advertiser name to its page id, then pull that page's public ads for sponsor due diligence, competitor research, or litigation timelines.
Review credit, financial product, employment and housing advertising alongside political advertising to study how regulated categories are promoted.
Pull overview, search, campaign tracker, advertiser, location and download-availability report sections for a country and reporting range.
Facebook Ad Library scraping API
Scrappa is built for teams searching for a Facebook Ad Library API, Meta ad transparency API, or political ads scraper. Use one API key to collect public ad creative text, call-to-action labels, destination links, media URLs, advertiser identity, delivery dates, active status, and publishing platforms as structured JSON.
Use the search endpoint with a query for keyword research, or with a page_id to review one advertiser's public ads.
Use the advertisers endpoint to turn an advertiser name into the page id the search endpoint needs. Each is a separate request with its own credit.
Ad-level spend and impression figures are often absent in the public library and are returned as null rather than estimated. Reach is reported only as a coarse bucket, never as a measured count.
Test the Facebook Ad Library API with 500 free monthly credits before scaling compliance monitoring or competitive research workflows.
Look up the advertiser by name and read the returned page id.
Open Advertisers API docsSearch that page id and page through the results with the pagination cursor.
Open Search API docsRead ad copy, call-to-action, destination links, media URLs, dates and active status per ad.
Open EU Report API docsEverything you need in one API.
/api/facebook-ad-library/search
Search public ads by keyword or advertiser page with creative text, call-to-action, media URLs, advertiser identity, dates and active status
/api/facebook-ad-library/advertisers
Look up advertiser pages by name and get the page id needed to search a specific advertiser
/api/facebook-ad-library/filters
Get suggested advertiser pages with ad counts and the content languages the ad library can be searched in
/api/facebook-ad-library/eu-report
Get one section of the regional ad transparency report, covering the full history of social-issue and political advertising
Search public ads by keyword or advertiser page and read creative, metadata and pagination fields.
Turn an advertiser name into the page id needed for advertiser-scoped ad searches.
Pull one section of the regional ad transparency report for a country and reporting range.
See how Scrappa compares to the official API.
| Feature | Scrappa | Official Meta Ad Library API |
|---|---|---|
| Access token required | ||
| App or business review | Not needed | Required |
| Keyword ad search | Restricted access | |
| Advertiser-scoped search | Restricted access | |
| Creative text and media URLs | Restricted access | |
| Filter options endpoint | ||
| Setup time | Minutes | Approval process |
| Free tier | 500 credits/month |
Yes. Scrappa provides endpoints for public ad search, advertiser lookup, filter options and regional ad report sections. You receive ad creative text, call-to-action labels, destination links, media URLs, advertiser identity, delivery dates, active status and publishing platforms as structured JSON.
No. Every endpoint reads publicly disclosed ad transparency data and authenticates with a single Scrappa API key.
Yes. Call the advertisers endpoint with the advertiser name to get the numeric page id, then pass that page id to the search endpoint. The two calls are separate requests with separate credits, because resolving an advertiser and retrieving its ads are two distinct lookups.
Meta does not disclose spend or impressions for many individual ads in the public library. Those fields are returned as null rather than estimated, so you always know the difference between a reported figure and a missing one.
Reach is published as a coarse bucket such as ">1M" rather than a measured count. It is labelled as a bucket in the response so it is never mistaken for an exact reach number.
No. The public ad library does not accept a sort order, so ads are returned in the library's own order. No sort option is exposed rather than offering one that does nothing.
The public library only populates advertiser page suggestions and content languages. The country, city, region and disclaimer lists are empty in the library itself, so they are returned as empty lists and flagged as such. An empty list is the correct response, not a failed request.
The report only covers social-issue, election and political advertising from October 2019 onward, so short ranges such as yesterday or the last seven days can legitimately contain no rows. The default range covers the full history so the report returns usable data.