Facebook Ads Library Scraper: Meta Ads by Keyword or Page avatar

Facebook Ads Library Scraper: Meta Ads by Keyword or Page

Pricing

from $0.80 / 1,000 ads

Go to Apify Store
Facebook Ads Library Scraper: Meta Ads by Keyword or Page

Facebook Ads Library Scraper: Meta Ads by Keyword or Page

Ads from Meta's public Ad Library by keyword or advertiser in any country: text, images, videos, links, call to action, start date and days running, platforms; political ads with spend and impressions. No login. $1 per 1,000 ads.

Pricing

from $0.80 / 1,000 ads

Rating

0.0

(0)

Developer

Zaiq

Zaiq

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Get the ads running (or that ran) on Facebook, Instagram, Messenger, Threads and the Audience Network from Meta's public Ad Library: search by keyword, or give an advertiser's Facebook Page, username, Page id or name, in any country. For each ad you get its text, images, videos, landing page, call to action, start date and how long it has been running, the platforms it runs on, and the advertiser. Political and issue ads add spend, impressions and who paid. No login, no cookies, no Facebook account.

$1 per 1,000 ads. Duplicates across your searches, ads filtered out by your keyword and failed searches are free.

What you can do with it

  • Competitor ad research: every ad a competitor is running right now, with the creatives and landing pages.
  • Creative inspiration: what is running for a product or a niche ("air fryer", "running shoes"), sorted the way the Ad Library sorts it, most impressions first.
  • Long-running winners: daysRunning shows how long each ad has been live; ads that run for months usually work.
  • Market and country checks: the same search in the US, the UK, Germany, India or South Africa.
  • Political and issue ads: spend and impression ranges, and who paid, for elections and causes.

Input

{
"searchTerms": ["running shoes", "air fryer"],
"advertisers": ["https://www.facebook.com/yourcompetitor", "Competitor Name", "123456789012345"],
"country": "US",
"activeStatus": "active",
"maxAdsPerSearch": 200
}
  • searchTerms: keywords the ads mention, one search per line. exactPhrase matches them as one phrase.
  • advertisers: one per line, as a Facebook Page link, a username, a Page id, an Ad Library link with view_all_page_id, or a name (matched among the advertisers of the ads that mention it, in your country). advertiserKeyword keeps only an advertiser's ads that mention certain words.
  • Filters: country (or ALL), activeStatus (active, inactive, all), mediaType (images, videos, memes), platforms, language, politicalAdsOnly, shownFrom and shownTo (ads shown in that period).
  • maxAdsPerSearch: up to 10,000 per search term or advertiser.

Output

One row per ad. An example (advertiser and links replaced):

{
"adId": "1433447338670685",
"adLibraryUrl": "https://www.facebook.com/ads/library/?id=1433447338670685",
"advertiser": "Example Store",
"advertiserPageId": "100000000000000",
"advertiserUrl": "https://www.facebook.com/examplestore/",
"isActive": true,
"startDate": "2026-09-10",
"endDate": "2026-10-12",
"daysRunning": 33,
"platforms": ["facebook", "instagram", "messenger", "threads"],
"format": "VIDEO",
"text": "Get your beauty essentials 💄",
"title": "Shop the range",
"linkUrl": "https://www.example.com/",
"ctaText": "Shop now",
"images": ["https://scontent.xx.fbcdn.net/..."],
"videos": [{ "hd": "https://video.xx.fbcdn.net/...", "sd": "https://video.xx.fbcdn.net/...", "preview": "https://..." }],
"cards": null,
"adsUsingThisCreative": 4,
"spend": null,
"impressions": null,
"searchType": "advertiser",
"searchQuery": "examplestore",
"country": "ZA",
"scrapedAt": "2026-10-12T12:48:00Z"
}
  • format: IMAGE, VIDEO, CAROUSEL, DPA (catalogue ads), DCO (dynamic creative) and so on. Carousel and catalogue ads list their items in cards.
  • adsUsingThisCreative: how many ads share this creative in the Ad Library.
  • Political and issue ads add spend and impressions ranges, currency, paidFor and countries.
  • The key-value store record SUMMARY lists every search, the advertiser it resolved to, its ad count and any notes (for example, an advertiser that shows no ads in the country you chose).

Pricing

  • $0.001 per ad ($1 per 1,000 ads), lower on Apify's Scale and Business plans (Store discounts).
  • Free: an ad already returned by another of your searches, ads left out by advertiserKeyword, and searches that fail or find nothing.
  • Plus Apify's standard run start fee. Your spending limit for the run is respected.

Use it from code, automations and AI agents

  • API: POST https://api.apify.com/v2/acts/zaiq~facebook-ads-library-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN with the input as JSON returns the ads in one call. The API tab has Python, JavaScript and cURL examples.
  • Python (pip install apify-client):
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("zaiq/facebook-ads-library-scraper").call(run_input={
"advertisers": ["https://www.facebook.com/yourcompetitor"],
"country": "US",
"maxAdsPerSearch": 500,
})
for ad in client.dataset(run["defaultDatasetId"]).iterate_items():
print(ad["startDate"], ad["daysRunning"], ad["format"], ad["text"])
  • No code: schedule a weekly run to watch competitors' new ads, send rows to Google Sheets, Zapier, Make or n8n from the Integrations tab, and get a webhook when a run finishes.
  • AI agents (MCP): https://mcp.apify.com?tools=zaiq/facebook-ads-library-scraper adds it as a tool to Claude, Cursor or any MCP client.

FAQ

Do I need a Facebook account or an access token? No. It reads the same public Ad Library that anyone can open without logging in. It does not use Meta's Ad Library API, which needs a verified developer account and covers only political and issue ads in most countries.

Which countries? Any country the Ad Library covers; pick one in country, or ALL.

How are ads ordered? Keyword searches come back the way the Ad Library sorts them: most impressions first. An advertiser's ads come back newest first.

Why did an advertiser return no ads? It may not advertise in the country you chose, or only have stopped ads: try activeStatus all or another country. SUMMARY says which Page the advertiser resolved to.

What about ads that stopped running? Set activeStatus to inactive or all. Meta keeps most ads in the library for a limited time; political and issue ads for seven years.

Limits

  • About 10 ads per page from the Ad Library; a 1,000-ad search takes a couple of minutes.
  • Up to 6 searches at a time.