Meta Ads (Facebook & Instagram) Scraper
Pricing
from $0.50 / 1,000 ad scrapeds
Meta Ads (Facebook & Instagram) Scraper
Scrape ads from the Meta Ad Library by URL, keyword, page or ad ID. Filter by country, language, platform, media type, dates and category. Optional add-ons: EU transparency demographics and media downloads.
Pricing
from $0.50 / 1,000 ad scrapeds
Rating
0.0
(0)
Developer
LurkAPI
Maintained by CommunityActor stats
1
Bookmarked
4
Total users
2
Monthly active users
15 days ago
Last modified
Categories
Share
Scrape ads from Meta's public Ad Library by URL, search keyword, ad ID, or advertiser page. Filter by country, language, platform, media type, date range, and category. Optional add-ons download ad creatives and add audience demographics where Meta exposes them.
๐ฌ What it does
Give it any Meta Ad Library input, and it will:
- Scrape as many ads as you want from any input, capped by your Maximum number of ads setting. Handles pagination behind the scenes.
- Return clean data for each ad: archive ID, advertiser page, ad text, call to action, link, dates, platforms, image and video URLs, plus more than 30 other fields.
- Optionally download the images and videos: ad images and SD or HD videos saved straight into your run's storage.
- Optionally add transparency data: spend, impressions, and audience demographics where Meta exposes them (political, housing, employment, and financial ads).
It handles Meta's bot defenses for you.
๐ How to use it
Step 1: Pick your input
You can mix any of these in one run. Results are de-duplicated across sources.
- Ads Library URLs: paste any link from
facebook.com/ads/library. Set your filters on the Meta site first, then copy the URL. - Search keyword: type a keyword in the Search field and use the filter section to pick country, language, platforms, media type, active status, dates, and category.
- Ad archive IDs: paste one or more numeric ad IDs and the actor will look each one up.
- Page IDs: paste numeric Facebook Page IDs to scrape every ad the page has run.
Step 2: Set limits and add-ons
- Set Maximum number of ads to control cost. Default is 100; raise it for bigger runs.
- Tick any paid add-ons you want: transparency demographics, save images, save SD videos, save HD videos. Each add-on is billed only when it returns a real result for a row.
- Untick any output fields you do not need. Hidden fields are removed from each row so your output stays small.
Step 3: Run and get results
Hit Start. Rows appear in the Output tab as they are pulled. Results are grouped into five tabs: Overview, Ads, Advertiser, Media, Transparency. Saved image and video files appear under Files.
Every row has a status field. Success means the ad was scraped cleanly. Age-gated: media requires login... means Meta blocks the creative for that ad without an account; the metadata is still included.
๐ฐ Pricing
You only pay for what you get. Every event is billed per result.
| Event | Rate | When it fires |
|---|---|---|
| Ad scraped | $0.50 / 1,000 | Once per ad row returned |
| Transparency add-on | $2.00 / 1,000 | When Meta exposes audience data for that ad |
| Save image | $0.50 / 1,000 | Once per image saved to your storage |
| Save SD video | $1.00 / 1,000 | Once per SD video saved |
| Save HD video | $2.00 / 1,000 | Once per HD video saved |
Add-ons only fire when they return a real result, so a run on commercial ads with the transparency add-on enabled will not be charged for transparency if Meta does not expose the data.
๐ก Good to know
- Search keywords match ad copy text. If your keyword is a brand name and returns few results, the actor automatically looks for advertiser pages with that name and includes their ads too.
- Meta caps results to the last 30 days unless you set a date range. Use the Start date filters to scan further back.
Impressions: high to lowis the default sort because it is the most reliable.Most recentis supported but Meta pagination on that sort can be inconsistent on larger runs.- Spend and impression ranges are returned by Meta only for special-category ads (political, housing, employment, financial). For commercial ads these fields are null.
- Files are stored in your Apify storage. How long they are kept depends on your Apify plan.
โ FAQ
Why does one ad show "Age-gated"? Meta hides the creative on age-gated ads (alcohol, medical, and similar categories) unless you are logged in. The actor still returns every other field for these rows but the media URLs come back empty.
My keyword returned very few ads. Is the actor broken?
The actor automatically detects this and looks for advertiser pages whose name matches your keyword. If your keyword is a brand name like medvi, results may be scattered across several brand pages; the actor finds them and pulls ads from each.
My run took longer than expected. Larger runs need more requests. Lower Maximum number of ads to cap each run, or split a wide search by date window or country into several shorter runs.
Can I download images and videos in one run?
Yes. Tick the save add-ons in the Input form. Saved files appear in the Files tab and the row's savedImageKeys, savedVideoSdKey, and savedVideoHdKey fields point to them.
What if a URL is blocked or unsupported?
The actor pushes a row with a clear status explaining what happened, so a run with no scraped ads always tells you why.
What does a status: "Partial: ..." row mean?
Meta's CDN occasionally throttles individual image downloads. The actor retries every image up to four times across different IPs before giving up. When some images still fail, the row's status says Partial: N/M images saved... and the URLs that did not download appear in imageUrlsNotSaved. You can retry those URLs later or rerun the actor. We only charge for the images we actually saved.
๐ Other tools you might like
โ๏ธ Disclaimer
This tool is intended for personal, research, and educational use. You are responsible for complying with Meta's Terms of Service and applicable laws in your jurisdiction. The developer is not liable for misuse. Data availability depends on Meta at run time.
Keywords: facebook ads scraper, meta ads scraper, instagram ads scraper, facebook ad library scraper, meta ad library api, ads transparency scraper, competitor ads scraper