Facebook Ad Library Scraper - Active Ads & Creatives
Pricing
from $22.00 / 1,000 results
Facebook Ad Library Scraper - Active Ads & Creatives
Scrape Facebook's public Ad Library for any brand. Returns active ad count, per-creative text, CTA, start date, and platform mix (Facebook, Instagram, Messenger, Audience Network).
Pricing
from $22.00 / 1,000 results
Rating
0.0
(0)
Developer
Thirdwatch
Maintained by CommunityActor stats
0
Bookmarked
10
Total users
5
Monthly active users
6 days ago
Last modified
Categories
Share
Facebook Ad Library Scraper
Scrape public Meta Ad Library results for brands, keywords, and ad categories. The actor talks to Meta Ad Library's public GraphQL surface directly, so it avoids browser rendering while still returning ad IDs, page details, creative text, CTA/link fields, media URLs, dates, and platform mix where Meta exposes the data.
Value prop
Meta's Ad Library is one of the most accessible public sources for seeing which ads are currently active for a brand or keyword. This actor packages that public Ad Library view into Apify dataset rows so growth teams, agencies, researchers, and compliance teams can monitor ad activity without manually searching the Library one brand at a time.
Best fit:
- Growth teams tracking competitor creative angles and CTAs.
- Agencies building swipe files and pitch research.
- Brand teams auditing their own active ad inventory.
- Researchers monitoring political, issue, housing, employment, or credit ads.
- Compliance teams checking regulated ad categories.
What's new
- Brand and keyword search against Meta Ad Library's public GraphQL responses.
- Country filtering with
ALLor ISO country codes such asUS,IN,GB,CA, andAU. - Ad category targeting for all ads, political and issue ads, housing ads, employment ads, and credit ads where available.
- Optional creative capture limit so you can run count-only checks or collect sample ads.
What data you get
| Field | Description |
|---|---|
brand | Brand or keyword searched |
country | Country filter applied, or ALL |
adType | Ad category requested |
url | Meta Ad Library search URL |
active | Whether active matching ads were detected |
adCount | Matching ad count reported by Meta when available |
creatives | Array of captured ad rows |
creativeCount | Number of ad rows captured |
Creative fields
| Field | Description |
|---|---|
ad_archive_id | Meta Ad Library ID |
page_id / page_name | Advertiser page details |
is_active | Whether Meta marks the ad as active |
start_date / end_date | Unix timestamps returned by Meta |
publisher_platform | Platforms such as Facebook, Instagram, Messenger, Threads, or Audience Network |
body_text | Primary creative text when available |
cta_text / link_url | CTA and destination link when available |
image_url / video_url | First detected media URL when available |
Quick-start input examples
Track active ads for brands worldwide
{"brands": ["allbirds", "hoka", "on running"],"country": "ALL","adType": "all","maxCreatives": 20}
Check one country
{"brands": ["nykaa", "myntra"],"country": "IN","adType": "all","maxCreatives": 50}
Political or issue ad monitoring
{"brands": ["climate policy", "election campaign"],"country": "US","adType": "political_and_issue_ads","maxCreatives": 100}
Count-only monitoring
{"brands": ["example brand"],"country": "ALL","adType": "all","maxCreatives": 0}
Sample output snippet
{"brand": "allbirds","country": "US","adType": "all","url": "https://www.facebook.com/ads/library/?active_status=all&ad_type=all&country=US&q=allbirds","active": true,"adCount": 17,"creatives": [{"ad_archive_id": "2351811061967398","page_id": "1770436946575287","page_name": "Clove & Twine","is_active": true,"start_date": 1775113200,"end_date": 1781679600,"publisher_platform": ["FACEBOOK", "INSTAGRAM", "AUDIENCE_NETWORK"],"body_text": "Custom merch made simple.","cta_text": "Shop now","link_url": "https://example.com","image_url": "https://..."}],"creativeCount": 1}
Use cases
- Competitor ad monitoring: See whether a brand is running active ads and collect examples of visible copy.
- Creative research: Build a swipe file of CTAs, hooks, platform mix, and messaging angles.
- Brand auditing: Check your own active ads by country and category.
- Agency research: Prepare pitches with public competitor ad examples.
- Political and issue monitoring: Track active political or issue ad visibility in supported countries.
- Regulated category checks: Review housing, employment, and credit ad examples where Meta exposes them.
Pricing examples
This actor uses pay-per-result pricing on Apify. In the standard output, one dataset item is returned per searched brand or keyword, with creatives nested inside that row.
Example cost formula:
number of searched brands or keywords x current price per result = estimated run cost
Example at a hypothetical $0.002 per result:
| Brands or keywords searched | Example cost |
|---|---|
| 25 | $0.05 |
| 100 | $0.20 |
| 1,000 | $2.00 |
Check the actor pricing tab for the current live price. If you need pricing per captured creative instead of per searched brand, ask for a custom output shape.
Limitations
- Coverage varies by country and ad category because Meta controls what the public Ad Library exposes.
- In some regions, commercial ads may be less visible than political, issue, housing, employment, or credit ads.
- Meta can change the public GraphQL document IDs or response shape; the actor keeps the request isolated so this can be refreshed quickly.
- Apify cloud direct egress can return false zero-count responses from Meta, so the default uses residential proxy while still avoiding browser compute.
- Text snippets and media URLs depend on what Meta includes in the public snapshot payload.
- Spend, impression, demographic, and disclaimer fields are not consistently available for standard commercial ads.
- A brand active in one country can return no results in another country filter.
Competitor and comparison notes
- Compared with Meta's Ad Library UI: This actor is better for repeatable monitoring, exports, and multiple-brand checks. The UI is better for manual review of a small number of ads.
- Compared with Meta APIs: API access and field availability depend on Meta's permissions and ad category rules. This actor is designed for public Ad Library pages and self-serve Apify workflows.
- Compared with social post scrapers: This actor focuses on active paid ads, not organic posts.
- Compared with full creative intelligence platforms: This actor is a lightweight data extraction tool. It does not include built-in spend estimation, creative scoring, or dashboard analytics.
Pairs well with Instagram Scraper for organic post monitoring and TikTok Scraper for cross-platform competitor tracking.
FAQ
Do I need a Facebook account? No. The actor uses public Meta Ad Library GraphQL responses.
Why do results differ by country? Meta shows different ad inventory by region, and availability can vary by ad category and local rules.
Can I get ad spend data? Not reliably for standard commercial ads. Spend ranges are most commonly exposed for regulated categories such as political or issue ads where Meta provides disclosures.
Can I get images or videos? Yes when Meta includes media URLs in the public snapshot payload. Some ads expose only partial creative metadata.
Can I monitor the same brands every day? Yes. Schedule the actor in Apify and compare counts or creative snippets over time.
Support and custom builds
Need media capture, spend/disclaimer fields where available, deduplication, daily monitoring, Slack alerts, Looker/Sheets exports, or a custom ad intelligence workflow? Contact Thirdwatch at thirdwatch.dev or through the Apify actor support channel.
Last verified: 2026-06