Adyntel is a Facebook ads scraper for the Facebook Ad Library. Send a domain or Facebook page URL, get back every Facebook and Instagram ad as JSON, plus the active ads count for that advertiser. 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
AgencyUse it as a Facebook ads scraper or a Facebook ad library scraper. Pass in a domain or Facebook page URL and 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.
Need just the number, not every creative? The Facebook Ad Library shows an active ads count on each advertiser, but there is no button to pull it in bulk. Adyntel returns it for you.
Every response includes number_of_ads — the count of active ads a domain is running on Facebook and Instagram. It is the fastest way to answer "how many active ads is this company running?" across a whole list.
country_codeNo manual searching of the Facebook Ad Library, and no counting by hand.
Just the active ads count (nike.com):
{
"status": "success",
"data": {
"page_name": "Nike",
"page_id": "15087023444",
"country_code": "US",
"number_of_ads": 342
}
}
One call returns the active ads count. Add country_code for the US (or any of 190+ markets) active ads count. 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.
Start without a list
The advertiser database covers the other direction: search 2.2M+ companies by ad activity, filter by company type and ad counts, and export the result.
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 Facebook ads library scraper API
publisher_platform field tells you which platforms each ad runs on.number_of_ads, which is the active ads count for that advertiser in the Facebook Ad Library. Send a domain to get the total, or add a country_code (e.g. US) for the active ads count in a specific market. You can extract the active ads count for thousands of domains in one batch.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.