Search Public Ads by Keyword and Country
View all Facebook Public Data API endpoints →Provide query, a two-letter country code and one active_status value: ALL, ACTIVE or INACTIVE. The observed ACTIVE, US, pizza request returned an ads array and a cursor. Ad records include ad_archive_id, page_id, page_name, is_active, publisher_platform, start_date, end_date and snapshot data such as creative cards, text, links, titles and media references. Dynamic-ad template strings can coexist with populated snapshot.cards; preserve them as templates rather than dismissing the record as mock data. The other status choices and continuation were not exercised. Public ad discovery is not official Meta API access, campaign management or a guarantee of spend, impressions or complete coverage.
API Features
Live API Demo
🔒 Sign in to try it live
Log in to call this API with your own API key. New accounts get 100 free credits — no card required.
Log in / Sign upNo active API key found. Create one in your Dashboard, then reload this page. Dashboard →
/api/project/facebook-scraper/search-ads API Response (JSON)
{} curl -X GET 'https://api.opendata-api.com/api/project/facebook-scraper/search-ads?key=<API_KEY>&active_status=ACTIVE&country=US&query=pizza'
Query Result
Use Cases
- Research active US pizza advertisements and shortlist their advertiser Pages.
- Annotate creative cards, calls to action and destination links for an internal competitive review.
- Store public ad archive identifiers to compare later application-collected observations.
- Separate dynamic creative templates from populated cards when designing an ad-research dataset.
Frequently asked questions
How do I search for active ads by country?
Provide query, a two-letter country code in country and ACTIVE as active_status. US and pizza are sampled conditions; results for other conditions are not guaranteed.
Is public ad search the same as an official advertising API?
No. This is not an official Meta endpoint. It does not create or manage ads and does not guarantee spend, impression or audience data.
Does template text in a creative mean that the data is invalid?
Not necessarily. In the sample, dynamic template strings coexisted with populated snapshot.cards. Preserve them and parse them separately.