Facebook Ad Library API: Search Ads and Competitor Creative
The Facebook Ad Library is Meta’s public database of ads running across its products. An Ad Library API makes that data usable in competitor monitoring, creative research, compliance review, and campaign analysis workflows.
CreatorCrawl exposes five Meta Ad Library tasks through REST:
| Task | Endpoint |
|---|---|
| Search companies | GET /api/facebook/adLibrary/search/companies |
| Search ads | GET /api/facebook/adLibrary/search/ads |
| Get company ads | GET /api/facebook/adLibrary/company/ads |
| Get one ad | GET /api/facebook/adLibrary/ad |
| Transcribe a video ad | GET /api/facebook/adLibrary/ad/transcript |
The official Meta Ad Library API remains the right source when its access model and documented archive scope fit your application. CreatorCrawl provides a single-key read path alongside its other public social-data endpoints.
Search Meta ads by keyword
curl "https://app.creatorcrawl.com/api/facebook/adLibrary/search/ads?query=running%20shoes&country=US&status=ACTIVE&media_type=VIDEO" \
-H "x-api-key: YOUR_API_KEY"
Filters include:
- Keyword or exact-phrase matching
- Country and language
- Active, inactive, or all ads
- Image, video, meme, mixed, or no-media formats
- Start and end dates
- Impression or recent sorting
- Cursor pagination
- Trimmed responses for smaller payloads
Use the POST version of the same endpoint when a pagination cursor grows too large for a practical query string.
curl -X POST "https://app.creatorcrawl.com/api/facebook/adLibrary/search/ads" \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{"query":"running shoes","country":"US","status":"ACTIVE","cursor":"LONG_CURSOR"}'
Find a company’s page ID
Company-specific lookup is more precise than a general keyword search. Resolve the advertiser first:
curl "https://app.creatorcrawl.com/api/facebook/adLibrary/search/companies?query=nike" \
-H "x-api-key: YOUR_API_KEY"
Then request its ads with either pageId or companyName:
curl "https://app.creatorcrawl.com/api/facebook/adLibrary/company/ads?pageId=PAGE_ID&country=US&status=ACTIVE" \
-H "x-api-key: YOUR_API_KEY"
Retrieve creative detail
The single-ad endpoint accepts an Ad Library ID or URL. Responses can include advertiser, active status, run dates, body text, images, videos, display format, destination URL, call to action, and available delivery data.
curl "https://app.creatorcrawl.com/api/facebook/adLibrary/ad?id=AD_ID&trim=true" \
-H "x-api-key: YOUR_API_KEY"
For public video ads, request a transcript:
curl "https://app.creatorcrawl.com/api/facebook/adLibrary/ad/transcript?id=AD_ID" \
-H "x-api-key: YOUR_API_KEY"
The upstream uses published captions when available and otherwise attempts to transcribe the public video. Ads without a video or available transcript return no transcript.
Build a competitor creative monitor
- Resolve each competitor’s Ad Library page ID.
- Request active company ads on a schedule.
- Deduplicate by ad archive ID.
- Store first-seen and last-seen timestamps.
- Extract body text, headline, CTA, destination, images, and video metadata.
- Transcribe only new video creatives.
- Alert when a new concept, offer, landing page, or format appears.
This produces a useful creative history without pretending that an ad’s presence proves spend, performance, or targeting. Public delivery fields vary by ad category and region.
Research questions the data can answer
- Which hooks and offers recur across a competitor’s active ads?
- How often does the advertiser rotate creative?
- Which landing pages and CTAs appear most often?
- Does the mix lean toward video, static image, or multi-card formats?
- Which claims or product categories are new this month?
- What language appears in video ads but not in the visible primary text?
See the Facebook API hub for the complete public-data surface and the Facebook scraper guide for page, post, group, and comment examples. Create an API key to start with free credits.
Explore CreatorCrawl
Try the free social media tools
Test transcripts, comments, profiles, channels, and tweets in your browser before moving to bulk API access.
More from the Blog
Facebook Marketplace Scraper API: Search Listings by Location
Search public Facebook Marketplace listings by keyword and location, paginate results, and retrieve listing details through a REST API.
Read articleFacebook Scraper API: Profiles, Posts, Comments and Groups
A developer guide to scraping public Facebook profiles, posts, comments, Reels, groups, events, Marketplace listings, and ads through an API.
Read articleFacebook Video Transcript API: Extract Reel and Post Text
Extract a transcript from a public Facebook video or Reel with one API request, then process the text in Python or an AI workflow.
Read article