Turn the Meta Ad Library into a data source. Send a domain or Facebook page URL, get back every Facebook and Instagram ad as JSON. Look up one company or run it across thousands.
No credit card required
"After testing multiple qualification points (company size, marketing roles, website features), the #1 filter we've used to find high quality B2C/DTC brands has been qualifying for active Meta ads. Adyntel has been very accurate and gives us a lot of good data around brand's ad campaigns, their integration makes using their tool stupid easy in Clay."
Christian Plascencia
Co-Founder @ RevGrowth
AgencyPass in a domain or Facebook page URL. Get back structured data for every active ad that company is running on Facebook and Instagram.
For the company:
continuation_token for large ad librariesFor each ad:
Example response (shopify.com):
{
"status": "success",
"data": {
"page_id": "20409006880",
"country_code": "ALL",
"continuation_token": "AQHSLCvINjglGZ21w8YWrk17vcI7lEBCi1CtbeCvaLrgPo5a4rD_...",
"platform": ["facebook", "instagram"],
"number_of_ads": 5907,
"unique_landing_pages": ["https://www.shopify.com/free-trial", "..."],
"results": [
[{
"ad_archive_id": "1616561949512060",
"snapshot": {
"page_name": "Shopify",
"body": { "text": "" },
"caption": "shopify.com",
"cta_text": "Learn more",
"cta_type": "LEARN_MORE",
"display_format": "DCO",
"cards": [{ "title": "Convierte tu web en una tienda", "link_url": "https://www.shopify.com/...", "original_image_url": "https://..." }]
},
"is_active": true,
"start_date": 1765180800,
"end_date": 1771574400,
"publisher_platform": ["FACEBOOK", "INSTAGRAM", "MESSENGER"]
}],
[ /* more ads... */ ]
]
}
}
Each call returns ~30 ads and a continuation_token. Page through until complete. 1 credit per call.
Run one domain or batch millions. Same structure every time.
Run it for:
Creative research
Pull all ads from your top competitors. The response includes direct image and video URLs. Feed them to your design team. Collation counts show how many creative variants they're testing per concept.
Competitive monitoring
Schedule daily checks on your top competitors. Track when new creatives appear and when campaigns go dark. Build your own timeline of their ad activity through repeated API calls.
DTC and e-commerce qualification
Meta is the primary paid channel for DTC brands and consumer apps. Ad activity here is a stronger qualification signal for these companies than Google would be. Flag which accounts are running paid ads before outreach.
Agency prospecting
High collation counts mean active creative testing — an in-house team or an agency. Companies with many collation groups and frequent new creatives are likely spending enough to need outside help.
Inbound enrichment
Trigger an API call when a prospect signs up. If your customers are DTC brands or consumer apps, Meta activity tells you more than Google would. Route them based on format mix, platform split, or whether they're running lead form ads.
Example responses (same structure):
// gymshark.com
{
"number_of_ads": 1488,
"page_id": "129669023798560",
"results": [ /* ~30 ads per page */ ],
"continuation_token": "AQHSTsu5MSGd7dN4..."
}
// clickup.com
{
"number_of_ads": 595,
"page_id": "304981139881438",
"unique_landing_pages": ["clickup.com/lp/features/calendar", "..."],
"results": [ /* ~30 ads per page */ ],
"continuation_token": "AQHS4flqHBLhIzZ..."
}
// asana.com
{
"number_of_ads": 787,
"page_id": "180143175668",
"results": [ /* ~30 ads per page */ ],
"continuation_token": "AQHS1Bp-VNZyA17M..."
}
Each call returns ~30 ads and a continuation_token. Same fields for every domain. 1 credit per call.
Clean JSON. Every field has the same structure across all responses. No parsing edge cases.
Add as HTTP API enrichment or use Adyntel's direct integration. Map fields to columns. Build conditional logic:
number_of_ads > 10: tag as "active advertiser"display_format = "VIDEO": add to "video advertiser" listplatforms includes "INSTAGRAM": tag as Instagram advertiserStore as custom fields: meta_ad_count (number), meta_start_date (date), meta_primary_format (text), meta_page_id (text). Trigger sequences when ad count changes or new formats appear.
Store full JSON in JSONB column. Query by format, platform, or page name. Track changes over time by storing responses daily.
Pass structured ad data as context: "Analyze these 23 Meta ads from Notion: [JSON]. Extract their main value props and messaging themes." Get competitive intelligence without manual analysis.
Import via Apps Script or Power Query. Flatten JSON into rows. Track ad count by company, pivot by format and platform, sort by start date.
Standard HTTP POST. Parse with built-in JSON libraries. No SDK. No wrapper. Works anywhere you can make an HTTP request.
response = requests.post('https://api.adyntel.com/facebook', json={
'api_key': key,
'email': email,
'company_domain': 'notion.so'
})
all_ads = [ad for group in response.json()['results'] for ad in group]
Start with 50 free credits so you can test the product. No credit card required.
Need more than 50k credits? Contact us for a custom plan.
Adyntel's Meta ads library scraper API
publisher_platform field tells you which platforms each ad runs on.country_code for those markets and set active_status to inactive or all. By default only active ads are returned.country_code for any of the 190+ supported countries.media_type accepts image, video, or meme.continuation_token. Pass the token in the next call. Repeat until the token is null.