Search Meta ads by keyword, page or URL. Export copy, creatives, CTA, dates, platforms and optional EU reach to CSV, Excel or JSON. Core fields align with Apify's official scraper. $0.30/1k ads on Business or $0.45/1k on Free; no start fee or platform charge.
Date sorting is now newest first: sortBy: "date" (the default) uses the Ad Library's Most recent order, newest ads first by the month they started. Before, it returned Facebook's relevance order across all years. Ads that share a creative come as a group and Facebook lists only part of each group, so the same search can now return a different (often larger) set of those ads. A watchlist with New ads only receives those additional ads once, on its first run after this change.
Watchlist runs read only what can be new: with newAdsOnly and date sorting, each search is read to the end once a day; the runs in between stop when they reach ads older than that complete pass, so frequent schedules finish after a few pages. An older ad that newly matches the search arrives with the next complete pass. The watchlist store keeps the time of each complete pass in the record full-passes.
A search whose ads were all delivered before is no longer reported as "no ads match this search" when Facebook ends the list with an empty page.
2026-10-01 (reliability)
When Facebook briefly refuses the Ad Library, the scraper now retries with a fresh connection instead of repeating the refused one, so such runs recover instead of failing after a minute.
2026-09-23 (run log)
Network error messages in the run log no longer include the address of the request that failed (the 2026-09-14 change removed server addresses only).
Only new ads: watchlistId names a watchlist (a key-value store watchlist-<name> in your account) that remembers every delivered ad; with newAdsOnly on, ads delivered by an earlier run with the same name are skipped, not charged, and counted in the log ("N ads already delivered on this watchlist skipped"). Made for schedules.
Page URLs as input: startUrls accepts plain Facebook page URLs such as https://www.facebook.com/Nike (also m.facebook.com, a tab like /Nike/about, profile.php?id=..., with or without a trailing slash or query) next to Ad Library URLs and page IDs. The advertiser page ID is looked up from the page. A page that does not exist is reported and skipped without failing the run.
Sort by impressions: sortBy = impressions returns the most viewed ads first (the Ad Library's "Impressions: high to low"), useful for issue, election and political ads, which are the ones with impression ranges. sort_data[mode]=total_impressions in an Ad Library URL does the same.
Ad languages: contentLanguages (ISO 639-1 codes such as de) returns only ads written in those languages; content_languages[0]=de in an Ad Library URL works too.
Relative dates: startDateMin and startDateMax accept 7d, 30 days, 3 weeks, 2 months, 1 year, today and yesterday (relative to the run start, UTC) as well as YYYY-MM-DD. Their descriptions now say what Facebook filters on: ads that were shown in the range (the Ad Library's "Impressions by date"), not ads that started in it.
2026-09-17 (prices)
Prices lowered: $0.45 per 1,000 ads on the free plan, $0.40 / $0.35 / $0.30 on Starter / Scale / Business (was $0.50 / $0.45 / $0.40 / $0.35). Still no start fee; the price per ad is the final price, platform usage included.
2026-09-15 (country names)
The country filter accepts country names (Thailand), three-letter codes (THA) and common short names (UK, USA) as well as two-letter codes. Before, a country name made the run fail.
A country that cannot be recognized ends the run straight away with a status message that says how to fix it, and nothing is charged.
Kosovo (XK) is accepted. "Congo" alone ends the run with a message asking for CG or CD, because it can mean either country; "Republic of Congo" and "Democratic Republic of Congo" are recognized.
A country field that cannot be recognized no longer stops a run whose Ad Library URLs all set their own country.
2026-09-14 (run log)
Network error messages in the run log no longer include server addresses.
2026-09-10 (first release)
Search the Meta Ad Library by keyword, advertiser page ID or Ad Library URL (keyword, page or single ad), without a login.
Filters: country, ad status, media type, special ad category, platforms, keyword matching, start date range.
Same output fields as the official Facebook Ads Scraper, including the snapshot creative block; optional ad_details with advertiser info, payer and beneficiary and the EU transparency reach breakdown, at no surcharge.
$0.50 per 1,000 ads, no start fee. Run budget honoured before an ad is fetched, so a run never overshoots the limit you set.
Bad inputs (wrong URL, page without ads, unknown page ID) end the run with a status message instead of a failure.