Meta Ad Library Scraper: Cheap Facebook Ads avatar

Meta Ad Library Scraper: Cheap Facebook Ads

Pricing

from $0.08 / 1,000 ad scrapeds

Go to Apify Store
Meta Ad Library Scraper: Cheap Facebook Ads

Meta Ad Library Scraper: Cheap Facebook Ads

Facebook & Instagram ads from the Meta Ad Library by page, keyword or ad link, for $0.10 per 1,000 all-in. Built to undercut Meta (Facebook & Instagram) Ads Library Scraper: its $0.15/1k plus platform usage came to $0.17-0.24/1k in our Oct 2026 tests.

Pricing

from $0.08 / 1,000 ad scrapeds

Rating

0.0

(0)

Developer

TidyHarvest

TidyHarvest

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

9

Monthly active users

13 days ago

Last modified

Features

Limited permissions

Share

Get Facebook and Instagram ads out of the Meta Ad Library: ad text, headline, landing page, call to action, image and video URLs, carousel cards, start and end dates and platforms, for any brand's page, any keyword, or a single ad link, for about half what the most popular budget scraper costs in our tests. $0.10 per 1,000 ads, and that's the whole bill: no start fee, no platform usage on top.

Paste a Facebook page (facebook.com/nike), a brand name, an Ad Library URL from your browser, or type a keyword. No login, no cookies, no Facebook account.

Compared with Meta (Facebook & Instagram) Ads Library Scraper

Built to undercut Meta (Facebook & Instagram) Ads Library Scraper (jmlp/meta-ad-library-scraper), the cheapest popular Ad Library actor. Its card says $0.15 per 1,000 ads, but your Apify platform usage (its runs default to 4 GB of memory, plus residential proxy traffic) comes on top. In October 2026 we ran both on the same inputs at the same time, in two rounds, and measured what each run actually cost:

This actorMeta (Facebook & Instagram) Ads Library Scraper
A brand page, 300 ads: what you pay$0.03$0.06-0.07
A keyword search, 1,000 ads: what you pay$0.10$0.20-0.22
10 small advertisers, 2,800 ads$0.28$0.49-0.50
40 mixed pages, searches and ad links (up to 100 ads each)$0.26 (2,552 ads)$0.58 (3,141 ads)
All-in price per 1,000 ads (7 runs)$0.10$0.17-0.24
Time for the 40 mixed sources (two runs each)164-168 s213-221 s
Rows whose text is a template placeholder ({{product.brand}})0%13% (1,429 of 11,345)
Outputflat columns, ISO datesFacebook's raw nested fields

Where it does more or does better: it is faster on one big search (1,000 keyword ads in 81-122 s vs 238-241 s here; 10 advertisers in 146 s vs 192 s; a brand page of 300 ads took about the same, 66-144 s vs 69-75 s), and it can split a page's full history into date ranges to scrape it in parallel.

How to use it

  1. Paste one or more Facebook pages, page names, Ad Library URLs or ad links (one per line), or type search terms.
  2. Optional: pick countries and whether you want active, inactive or all ads.
  3. Set Max ads (100 for a first look; 0 for every ad) and click Start. Results stream into the dataset as they come.
{ "urls": ["https://www.facebook.com/nike", "gymshark"], "maxItems": 500 }
{ "searchTerms": ["protein powder"], "countries": ["US"], "activeStatus": "active", "maxItems": 1000 }

Use it from n8n, Make, Zapier or code

  • n8n: add the Apify node, operation Run Actor and get dataset items, actor tidyharvest/meta-ad-library-scraper, and paste the input JSON above.
  • Make: the Apify module Run an Actor, then Get Dataset Items, with the same input.
  • API: one call returns the ads as JSON.
$curl -X POST "https://api.apify.com/v2/acts/tidyharvest~meta-ad-library-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" -H "Content-Type: application/json" -d '{ "searchTerms": ["protein powder"], "countries": ["US"], "maxItems": 50 }'

FAQ

Why do I see fewer ads for a brand than on facebook.com? Meta shows logged-out visitors fewer ads for some pages (alcohol and other age-restricted brands). The run adds a free limited-by-facebook row with "N of about M ads".

Can I paste an ad id without a link? Yes, a bare id works, and so does facebook.com/ads/library/?id=.... A deleted ad gives a free ad-not-found row and the run still succeeds.

Do filters work on a pasted Ad Library search URL? Yes, the form's filters apply to every source.

Is a single-ad run worth it? Runs are billed per ad, so a one-ad run costs a fraction of a cent. For many ads, put them all in one run (one line each in URLs) instead of starting one run per ad: it is faster and cheaper for you.

What you get

One row per ad, with the same columns every time: adArchiveId, adLibraryUrl, pageId, pageName, pageUrl, pageLikeCount, isActive, startDate, endDate, activeDays, platforms, displayFormat, body, title, linkUrl, linkDomain, ctaText, imageUrls, videos (HD/SD URLs + preview), cards (carousel and dynamic-ad variations), collationCount, spend/impressions (political ads), position and source. ISO dates throughout. Dynamic and catalog ads come back with the text the site shows, never a {{product.name}} placeholder.

Pricing

  • $0.10 per 1,000 ads on the Free and Bronze plans, $0.09 on Silver, $0.08 on Gold and above.
  • Nothing else: no start fee, and Apify platform usage (compute, proxies) is included, not passed on to you.
  • Empty searches and bad inputs cost nothing; they get a free status row.

Need more?

This is the lean edition. Facebook Ads Library Scraper (same team, same engine) adds EU/UK reach and audience data per ad, a count-only mode for lead lists, an only-new-ads mode for scheduled monitoring, one-ad-per-advertiser lead lists, and every Ad Library filter as a form field.

Limits and notes

  • Meta's "~N results" is an estimate; you get every ad the Ad Library actually shows a logged-out visitor.
  • Ads Meta shows only to logged-in users can't be returned; ads whose media is hidden are flagged mediaRequiresLogin.
  • Media URLs are Facebook CDN links that expire after a while: download what you need to keep.
  • A run moved by Apify to another server continues where it stopped, without duplicates.

The Meta Ad Library is a public transparency database. This actor reads it as a logged-out visitor would: no login, no account. Ads are businesses' public advertising; if you store names of individuals (pages run by people, political disclaimers), data-protection law applies to you. Ad creatives belong to their advertisers: analysis is generally fine, republishing is not.

Feedback and requests

We welcome feedback: a field or option you wish this had, a change to how it works, or a scraper you would like us to build. Open an issue in the Issues tab of this page and tell us what you need. We read every one, and we build the requests that come up most. If this actor works well for you, a short review helps other people find it.