Meta Ad Library Scraper 📢 (Facebook & Instagram ads) avatar

Meta Ad Library Scraper 📢 (Facebook & Instagram ads)

Pricing

from $0.18 / 1,000 ads

Go to Apify Store
Meta Ad Library Scraper 📢 (Facebook & Instagram ads)

Meta Ad Library Scraper 📢 (Facebook & Instagram ads)

Every ad a brand or a keyword is running on Facebook and Instagram: ad text, headline, landing page, button, start date, platforms, images and videos. Search by keyword or advertiser page, any country, active or all ads. No API key, no login.

Pricing

from $0.18 / 1,000 ads

Rating

0.0

(0)

Developer

Tagada Data

Tagada Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

See every ad a brand (or a keyword) is running on Facebook and Instagram right now: the ad text, headline, landing page, button, start date, platforms, images and videos. Copy what works, track a competitor's new creatives, or find brands that advertise in your niche. It reads Meta's public Ad Library, the same one you can open in a browser, so there is no API key, no Facebook login and no ID verification.

Price: $0.25 per 1,000 ads (less on Bronze, Silver and Gold plans), platform costs included.

What you get

One row per ad, ready for a spreadsheet:

FieldWhat it is
pageName, pageId, pageUrlThe advertiser (Facebook Page), with its likes and categories
bodyText, title, linkDescriptionThe ad copy, the headline and the line under it
linkUrl, displayUrlThe landing page the ad sends people to, and the link shown on the ad
ctaText, ctaTypeThe button ("Shop now", "Learn more", "Sign up")
startDate, daysRunning, isActive, endDateWhen the ad started, how long it has been running, and when it stopped
platformsWhere it runs: facebook, instagram, messenger, audience_network, threads, whatsapp
displayFormatimage, video, carousel, dynamic_product (catalogue ads), dynamic_creative
imageUrls, videoUrls, videoThumbnailUrlsThe creatives
cardsEach card of a carousel or catalogue ad: headline, text, link, image or video
collationCountHow many versions of this ad share the same creative (a good sign it is a winner)
spendRange, impressionsRange, paidForByFor political and issue ads, as Meta discloses them
adArchiveId, adLibraryUrlThe ad's ID and its page in the Ad Library
searchQuery, country, capturedAtWhich keyword or advertiser found it, and when

Ads that have been running for a long time (daysRunning) and ads with many versions (collationCount) are usually the ones that make money for the advertiser. Sort by those two columns first.

How to use it

All ads of a brand: put its Facebook page in "Advertiser pages". Any of these work: https://www.facebook.com/nike, nike, the page ID 15087023444, a facebook.com/people/... or profile.php?id= link, or the Ad Library link you get from "See all ads" on the page.

{
"pageUrlsOrIds": ["https://www.facebook.com/hoka", "https://www.facebook.com/allbirds"],
"country": "US",
"activeStatus": "active",
"maxAdsPerSearch": 200
}

Every ad that mentions a keyword: put words in "Search keywords". Put a phrase in quotes to match it exactly, as in the Ad Library search box.

{
"searchTerms": ["running shoes", "\"protein powder\""],
"country": "GB",
"mediaType": "video",
"maxAdsPerSearch": 300
}

Political and issue ads, with spend and impressions ranges:

{
"searchTerms": ["climate"],
"adType": "political",
"country": "US",
"activeStatus": "all",
"maxAdsPerSearch": 100
}

You can also paste an Ad Library search link you built in your browser under "Advertiser pages": its country and filters are kept.

Output example

A real row from a run on "running shoes" (US, active ads):

{
"adArchiveId": "1244156561167144",
"adLibraryUrl": "https://www.facebook.com/ads/library/?id=1244156561167144",
"pageId": "103032366405927",
"pageName": "HOKA",
"pageUrl": "https://facebook.com/hoka",
"pageLikeCount": 1221127,
"pageCategories": ["Outdoor & Sporting Goods Company"],
"isActive": true,
"startDate": "2026-04-01",
"endDate": null,
"daysRunning": 198,
"platforms": ["facebook", "instagram"],
"displayFormat": "image",
"bodyText": "The legs give out. The heart doesn’t. Together We Fly Higher.",
"title": "FLY HUMAN FLY™",
"linkDescription": "From first summits to 5Ks, HOKA designs running shoes and gear built to help you go your own way - farther and faster than ever before. FLY HUMAN FLY.",
"linkUrl": "https://www.hoka.com/en/us/fly-human-fly/?utm_source=facebookinstagram&utm_medium=psm&utm_campaign=EvergreenKeyCitiesLA&utm_term=BroadFitness&utm_content=Ad11",
"displayUrl": "HOKA.com",
"ctaText": "Learn more",
"ctaType": "LEARN_MORE",
"imageUrls": ["https://scontent.fbhx1-2.fna.fbcdn.net/v/t39.35426-6/657233080_968546429006472_8278936364514793068_n.jpg?..."],
"videoUrls": [],
"videoThumbnailUrls": [],
"cardCount": 0,
"cards": [],
"collationCount": 2,
"collationId": "955107020207956",
"paidForBy": null,
"brandedContentPartner": null,
"spendRange": null,
"impressionsRange": null,
"reachEstimate": null,
"currency": null,
"targetedOrReachedCountries": [],
"containsAiGeneratedMedia": false,
"searchQuery": "running shoes",
"searchType": "keyword",
"country": "US",
"searchUrl": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&media_type=all&q=running+shoes&search_type=keyword_unordered",
"capturedAt": "2026-10-15T23:26:08.327Z"
}

Pricing

Pay per ad delivered, platform usage included (nothing else is billed to you):

PlanPer adPer 1,000 ads
Free$0.00025$0.25
Bronze$0.000225$0.225
Silver$0.0002$0.20
Gold$0.000175$0.175

Plus $0.001 once per run. A search that finds no ads costs nothing beyond that. Set a maximum charge on the run and it stops cleanly when it is reached.

FAQ

Do I need a Facebook account, an access token or the Ad Library API? No. The official Ad Library API needs a token and an identity check, and it only covers political ads outside the EU. This actor reads the public Ad Library pages that anyone can open, for every kind of ad.

How do I spy on a competitor's Facebook ads? Put their Facebook page link under "Advertiser pages", keep "Active ads", and schedule the run weekly. New adArchiveIds are new creatives; a high daysRunning means the ad keeps getting budget.

Can I see stopped (inactive) ads? Choose "All ads" or "Stopped ads only". Meta keeps stopped ads for every advertiser in EU countries. Elsewhere it keeps them mainly for political and issue ads, so a US search on "All ads" mostly returns active ones.

Why do I get fewer ads than I asked for? Because Meta has fewer for that search, and the run says so in its final status ("Meta had no more ads for ... after 42"). Check the country: an advertiser can run ads in France and none in the US.

Do you get spend, reach or impressions? For political and issue ads, yes: Meta's spend range, impressions range and "Paid for by". For other ads Meta does not publish spend, so those fields stay empty.

Do the image and video links expire? Yes. They are Meta's CDN links and stop working after some days. Download the files you want to keep soon after the run.

What is a dynamic product or dynamic creative ad? Catalogue ads (dynamic_product) and ads Meta assembles from several texts and images (dynamic_creative). Their main fields show the first card; every card is in cards.

Which countries can I search? 66 countries from the list, or "All countries". The country is Meta's own filter: ads shown to people in that country.

Can I filter by image or video ads? Yes, with "Media type". It uses Meta's own media filter.

Is it legal to scrape the Meta Ad Library? The Ad Library is a public transparency tool that Meta publishes for everyone. This actor reads only what that public page shows, without logging in. How you use the data is up to you and your local laws.

Facebook ads library scraper, Meta ads library export, Instagram ads spy tool, competitor ad research, ad creative library, Facebook ad spy, winning ads finder, dropshipping ad research.