Meta Ad Library
GET /v1/social/meta/ads2 credits / pagecache 360 minSearch Meta's public Ad Library (Facebook, Instagram, Messenger, Audience Network) by keyword or advertiser Page id for any country: ad archive id, advertiser Page, active status, start and end dates, platforms, creative text, headline, link, call to action, image and video URLs, carousel cards, number of versions and, for political and issue ads, the disclosed spend and impression ranges. Returns the first page of results Meta renders for logged-out visitors (up to 30 ads); we never log in and never use Meta access tokens. Meta answers server IPs with a JavaScript challenge, which we never try to pass, so this engine runs through residential proxies. Blocks, failures and empty pages are free.
Query parameters
qstring | Keyword or advertiser name to search for. Default: null |
page_idstring | Advertiser Facebook Page id, to list that Page's ads (instead of q). Default: null |
countrystring | 2-letter country code where the ads ran, or 'ALL'. Default: "ALL" |
active_statusstring | Filter by delivery status. Default: "active" Allowed: active, inactive, all |
ad_typestring | Ad category. Spend and impressions are disclosed only for political and issue ads. Default: "all" Allowed: all, political_and_issue_ads, housing_ads, employment_ads, credit_ads |
media_typestring | Filter by creative type ('none' = text-only ads). Default: "all" Allowed: all, image, video, meme, image_and_meme, none |
exact_phraseboolean | Match q as an exact phrase instead of any of its words. Default: false |
limitinteger | Maximum ads to return from the first results page. Default: 30 |
max_ageinteger | Accept a cached answer up to this many seconds old, billed at 50%. |
Response data fields
Example
curl "https://api.gridlode.com/v1/social/meta/ads?q=nike&country=US" \
-H "Authorization: Bearer $GRIDLODE_KEY"Try it without code on the Meta Ad Library API page.