Scrape Facebook and Instagram ads from Meta's Ad Library by keyword or advertiser page: ad text, headline, call to action, link, image and video URLs, format, platforms and run dates. One flat row per ad, with a hard cap. Export data, run via API, schedule runs.
When Meta refuses the residential route, the search now continues on a second, unblocking route instead of ending in a blocked row.
2026-10-02
Default memory tuned to measured usage.
2026-10-01
One session is reused for the whole run instead of being set up again for each request.
If Meta keeps blocking, the run stops cleanly and saves the targets it did not reach in a NOT_ATTEMPTED record; they are not charged.
A target stops after 3 pages in a row where nothing passes your filters, instead of paging on.
Fixed runs with a maximum cost stopping before the limit was actually reached.
2026-09-29
Clearer input field descriptions and examples.
2026-09-27
Runs stop cleanly at your maximum cost instead of being aborted; nothing beyond your limit is written or charged.
2026-09-19
Date range and media type filters are re-checked on every ad, because Meta does not always honor them; ads removed this way are not charged.
Images and videos are now collected from carousel and catalog ad cards, so video ads no longer show an empty videoUrls.
2026-09-18
Initial release: ads from Meta's public Ad Library by keyword or page ID across Facebook, Instagram, Messenger, Audience Network and Threads, one flat row per ad with text, call to action, link, media, format, platforms and dates.