Meta Ads Library Scraper: Facebook & Instagram Ads avatar

Meta Ads Library Scraper: Facebook & Instagram Ads

Pricing

from $3.15 / 1,000 ad saveds

Go to Apify Store
Meta Ads Library Scraper: Facebook & Instagram Ads

Meta Ads Library Scraper: Facebook & Instagram Ads

Scrape the Meta Ads Library for Facebook and Instagram ads by keyword, Page or Ad Library URL: ad copy, creatives, CTA, platforms, start and end dates, landing pages and advertiser details. Optional only-new monitor for competitor tracking.

Pricing

from $3.15 / 1,000 ad saveds

Rating

0.0

(0)

Developer

Northloop Labs

Northloop Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

Scrape the public Meta Ads Library for Facebook and Instagram ads (and other Meta placements Meta lists) by keyword, Facebook Page or Ad Library URL. For every ad you get the ad copy, CTA, creative image/video URLs, platforms, start/end dates, landing URL, Page name/ID and a link back to the Ad Library.

Track new competitor ads: turn on Only new ads, schedule the Actor, and each run saves only ads that were not seen before (state lives in a key-value store in your Apify account).

No Facebook login and no Meta developer app.

What you can use it for

  • Competitor research: see the creatives and offers rivals are running on Meta right now.
  • Ad creative swipe files: collect image and video ads with copy for inspiration or AI analysis.
  • Brand / agency monitoring: schedule daily runs and get only new ads for watched keywords or Pages.
  • Political / issue transparency: filter to political and issue ads where Meta exposes them.

How to scrape Meta Ads Library ads

FieldDescription
searchTermsKeywords (unordered match), one per line
pageIdsNumeric Facebook Page IDs
pageUrlsFacebook Page URLs (https://www.facebook.com/nike)
startUrlsFull Ads Library search or single-ad URLs
country2-letter code (US, GB, DE...) or ALL
activeStatusACTIVE, INACTIVE or ALL
adTypeALL or POLITICAL_AND_ISSUE_ADS
mediaTypeALL, IMAGE, VIDEO or MEME
maxResultsHard cap on ads saved (and charged)
maxAdsPerSearchOptional cap per keyword / Page / URL
onlyNewSkip ads already in the monitor store
monitorStoreNameKV store name (default meta-ads-monitor)
proxyCountryResidential exit country (default = search country)

Input example

{
"searchTerms": ["nike", "adidas"],
"country": "US",
"activeStatus": "ACTIVE",
"mediaType": "ALL",
"maxResults": 50
}

Page watch:

{
"pageUrls": ["https://www.facebook.com/nike"],
"country": "US",
"onlyNew": true,
"maxResults": 100
}

Output example

{
"adArchiveId": "1234567890",
"pageId": "15087023444",
"pageName": "Nike",
"isActive": true,
"displayFormat": "IMAGE",
"bodyText": "Just Do It.",
"title": "Nike Air",
"ctaText": "Shop Now",
"linkUrl": "https://www.nike.com/",
"imageUrls": ["https://scontent.xx.fbcdn.net/..."],
"videoUrls": [],
"publisherPlatforms": ["FACEBOOK", "INSTAGRAM"],
"startDate": "2024-11-14T00:00:00.000Z",
"endDate": null,
"adLibraryUrl": "https://www.facebook.com/ads/library/?id=1234567890",
"searchLabel": "keyword \"nike\"",
"country": "US",
"scrapedAt": "2026-10-24T12:00:00.000Z"
}

Spend, impressions and reach fields are filled when Meta publishes them (often for political / EU transparency ads); otherwise they stay null.

Pricing

Pay per event (platform usage included; Apify takes its usual Store cut from the prices below):

EventPriceWhen
Actor start$0.005 per GB of memoryEvery run (default 2 GB → $0.01)
Meta Ads Library session$0.15Once per run, only after Meta accepts a browser session. If every attempt is blocked, this is not charged.
Ad saved$0.0045 ($4.50 / 1,000)Each unique ad written to the dataset. Duplicates and already-seen ads in only-new mode are free.

Examples: 50 ads ≈ $0.01 + $0.15 + $0.225 = ~$0.39. 1,000 ads in one session ≈ $0.01 + $0.15 + $4.50 = ~$4.66.

No OCR charge. Ad copy (bodyText, title, CTA) comes from Meta's public Ads Library fields (GraphQL / page JSON). Image and video creatives are returned as URLs only — we do not run OCR on creatives, so there is no separate OCR event and no hidden compute cost bundled into ad-result.

Undercuts Apify's official Facebook Ads Library Scraper on Free ($4.50 vs $5.80 / 1k ads) and stays competitive at Gold after Store discounts, with a flat session fee and an only-new monitor.

Reliability notes

  • Meta serves a client challenge (__rd_verify_) to bare HTTP clients. This Actor opens a real Camoufox browser over Apify residential proxies, then reads Ads Library GraphQL responses.
  • Meta changes GraphQL shapes often. When a run returns 0 ads for a query that should have results, open an issue — we patch quickly.
  • Session waves: if Meta blocks every residential IP in a run, nothing is saved and no session fee is charged. Retry in a few minutes or change proxyCountry.

Use with AI agents, MCP, Make, Zapier, n8n and the API

AI agents and the Apify MCP server

https://mcp.apify.com?tools=northloop-labs/meta-ads-library-scraper

API

curl -X POST "https://api.apify.com/v2/acts/northloop-labs~meta-ads-library-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["nike"], "country": "US", "maxResults": 30}'
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("northloop-labs/meta-ads-library-scraper").call(
run_input={"searchTerms": ["nike"], "country": "US", "maxResults": 30}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Data & privacy

  • The Actor reads only the public Meta Ads Library, which Meta publishes for transparency. It collects ad creatives, ad text, Page names/IDs, platforms and dates that Meta shows publicly.
  • It collects no personal data about people who saw or clicked ads (no targeting audiences for commercial ads beyond what Meta already shows on the page).
  • Results are written only to the run's default Apify dataset in your account. In only-new mode, seen ad IDs are kept in a key-value store in your account (monitorStoreName), which you can delete anytime. No external storage or webhooks.

The Ads Library is a public transparency tool. The Actor reads it the same way a browser does, at a moderate pace, through residential proxies. Ad creatives can be protected by copyright and trademarks — use them for research and analysis, not to republish as your own. This is not legal advice; check the rules that apply to your use.

FAQ

How much does it cost?

About $4.66 per 1,000 ads in a single session at the default 2 GB memory, including the session fee. Smaller runs pay the same session fee once. Store discounts (Bronze/Silver/Gold) lower the per-ad price further; the session fee stays flat.

Why is there a session fee?

Meta requires a trusted browser session. Opening one uses residential proxy traffic. The fee is charged only when that session succeeds.

Does it need a Facebook login?

No.

Does it OCR ad images?

No. Text fields come from Meta's public data. Creative image/video URLs are included so you can download or OCR them yourself if you need to.

Can I watch one brand every day?

Yes: set pageUrls or pageIds, turn on onlyNew, save a task and schedule it.

How this Actor was made

This Actor was made with AI. An AI agent wrote and tested the code, this README and the store listing, and a human owns and maintains the Actor.

More Actors from Northloop Labs

Feedback

Want TikTok or LinkedIn ad libraries, richer EU transparency fields, or a filter that's missing? Open an issue in the Issues tab.