Meta Ads Library API
Every active ad creative, spend range and targeting signal from Facebook and Instagram.
Why teams scrape the Meta Ads Library
the Meta Ads Library holds some of the most commercially useful public data on the web, and almost none of it is available through a stable official feed at the volume real products need. Rate limits, partner-only access and shifting page structures mean teams either give up on the source or maintain a fragile scraper that breaks every few weeks.
The Ads Library is a public record of what every advertiser is running right now — creatives, copy, run dates and, for political ads, spend and reach ranges. It is the single richest competitive-intelligence source on the open web, and the official access path is slow, partial and awkward to automate.
Irmu removes the infrastructure question entirely. One authenticated request handles proxy selection, browser rendering, anti-bot challenges and retries, and AI Extract turns the resulting page into validated JSON against a schema you define. You get ad_id, page_name, ad_creative_body, ad_creative_link_title, media_urls, start_date, platforms, spend_range, impressions_range, landing_url without writing or maintaining a single selector, and the same endpoint, quota and observability model you already use for every other source.
What it powers
Creative intelligence
Track which hooks and formats competitors keep running — longevity signals performance.
Launch detection
Spot new positioning or products the moment ads go live.
Funnel teardown
Follow landing URLs to map competitor offers and page structure.
Category benchmarking
Measure advertiser volume and creative churn across a whole vertical.
Fields available
Everything below comes back typed and validated against your schema.
ad_id
Library identifier for the creative
page_name
Advertiser page running the ad
ad_creative_body
Primary ad copy
ad_creative_link_title
Headline of the linked destination
media_urls
Image and video creative URLs
start_date
First date the ad ran
platforms
Facebook, Instagram, Messenger, Audience Network
spend_range
Reported spend band where disclosed
impressions_range
Reported impression band where disclosed
landing_url
Destination URL including UTM parameters
One call, no selectors
curl -X POST https://app.irmu.com/api/extract \
-H "Authorization: Bearer irmu_sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&q=crm",
"schema": {
"ad_id": "string",
"page_name": "string",
"ad_creative_body": "string",
"ad_creative_link_title": "string",
"media_urls": "string",
"start_date": "string"
}
}'Validated JSON
{
"data": {
"ad_id": "902114558273991",
"page_name": "Northwind CRM",
"ad_creative_body": "Stop paying for seats you don't use.",
"start_date": "2026-07-14",
"platforms": [
"facebook",
"instagram"
],
"landing_url": "https://northwind.example/pricing?utm_source=fb"
},
"credits_used": 20,
"status": 200
}Copy, paste, ship
import requests
res = requests.post(
"https://app.irmu.com/api/extract",
headers={"Authorization": "Bearer irmu_sk_live_..."},
json={
"url": "https://www.facebook.com/ads/library/?active_status=active&ad_type=all&q=crm",
"schema": {
"ad_id": "string",
"page_name": "string",
"ad_creative_body": "string",
"ad_creative_link_title": "string"
},
},
)
data = res.json()["data"]
print(data)Simple credits
Meta Ads Library API questions
Start extracting the Meta Ads Library data today
1,000 free credits every month. No card, no sales call.