Adligator API Documentation
Programmatic access to the Adligator ads library: search ads, fetch detailed ad information, and download creatives in the highest available resolution.
Getting started
The Adligator API is a RESTful HTTP API. All endpoints are served over HTTPS from the base URL below and return JSON (except the download endpoint, which responds with a redirect).
https://api.adligator.com/api/v1- API access requires an active Team plan.
- Create your API key in the Developer Portal. The key is shown only once — store it securely.
- Pass the key in the
X-API-Keyheader with every request.
The API is currently in beta and free of charge. Limits and pricing may change once the beta ends.
Authentication
Authenticate every request with the X-API-Key header. Keys look like adl_ followed by 40 characters.
curl "https://api.adligator.com/api/v1/ads?limit=5" \
-H "X-API-Key: adl_your_api_key_here"Requests without a valid key are rejected:
401 Unauthorized— the header is missing or the key is unknown.403 Forbidden— the key is deactivated or your plan does not include API access.
Rate limits
Limits are applied per API key and per endpoint. Daily counters reset at midnight UTC.
| Endpoint | Requests per second | Requests per day |
|---|---|---|
GET /ads | 2 | 1,000 |
GET /ads/:id | 5 | 2,000 |
GET /ads/:id/download | 2 | 500 |
Every response includes rate limit headers:
X-RateLimit-Limit-Second: 2
X-RateLimit-Limit-Day: 1000
X-RateLimit-Remaining-Day: 987 When a limit is exceeded, the API responds with 429 Too Many Requests and a Retry-After header (in seconds). Rejected requests do not count towards your daily quota.
GET Search ads
GET /api/v1/adsSearches the ads library. Returns a paginated list with minimal ad information; use the details endpoint for media descriptors and the download endpoint for original files. All query parameters are optional. List parameters accept comma-separated values.
Query parameters
| Parameter | Type | Description |
|---|---|---|
isActive | boolean | Only ads that are currently active (or inactive). |
title | string | Full-text search in the ad title. |
body | string | Full-text search in the ad body text. |
countries | list | Comma-separated ISO 3166-1 alpha-2 country codes, e.g. US,DE,FR. |
textLanguages | list | Comma-separated ISO 639-1 language codes, e.g. en,es. |
publishedOnPlatforms | list | Platforms: FB, INST, AN, MSG, THR, WAPP. |
displayFormat | string | Ad format: IMAGE, VIDEO, DCO, CAROUSEL, EVENT, DPA, TEXT. |
buttonTypes | list | CTA button types, e.g. LEARN_MORE, SHOP_NOW, SIGN_UP. |
categories | list | Ad categories, e.g. POLITICAL, HOUSING, EMPLOYMENT, CREDIT. |
fbOriginalPageId | string | Filter by the Facebook page that published the ad. |
excludedFbOriginalPages | list | Exclude ads from these Facebook page ids. |
domainZone | string | Landing page domain zone, e.g. com, io. |
domainOrIp | string | Landing page domain or IP address. |
appLinkOrId | string | App store link or application id the ad promotes. |
appPlatforms | list | App platforms: IOS, ANDROID. |
fromPublishedAt | date | Ads first seen on or after this date (ISO 8601). |
toPublishedAt | date | Ads first seen on or before this date (ISO 8601). |
fromActiveDays | integer | Minimum number of days the ad has been active. |
toActiveDays | integer | Maximum number of days the ad has been active. |
lastSeenDaysAgo | integer | Only ads seen within the last N days (0–365). |
countriesUpTo | integer | Only ads running in at most N countries (1–30). |
minCopiesCount | integer | Minimum number of ad copies (duplicates) detected. |
hasText | boolean | Only ads that contain (or do not contain) text. |
hasLeadForm | boolean | Only ads with (or without) a lead form. |
limit | integer | Page size, 1–100. Default: 20. |
page | integer | Page number, starting at 1. Default: 1. |
orderField | string | Field to sort by, e.g. startDate, activeDaysCount. |
orderDirection | string | Sort direction: ASC or DESC. |
Example request
curl "https://api.adligator.com/api/v1/ads?countries=US,DE&isActive=true&title=fitness&limit=2" \
-H "X-API-Key: adl_your_api_key_here"Example response
{
"data": [
{
"id": "9a1f4c9e-2b7d-4f1a-8c3e-5d6b7a8c9d0e",
"isActive": true,
"displayFormat": 1,
"publishedOnPlatforms": ["FB", "INST"],
"countries": ["US", "DE"],
"countriesAmount": 2,
"textLanguages": ["en"],
"startDate": "2026-05-14T00:00:00.000Z",
"endDate": null,
"lastSeenAt": "2026-07-03T09:12:44.000Z",
"activeDaysCount": 50,
"copiesCount": 12,
"title": "Get fit in 30 days",
"linkUrl": "https://example.com/offer",
"buttonType": "LEARN_MORE",
"isAAAEligible": true,
"fbPage": {
"fbOriginalPageId": "104201234567890",
"pageName": "Fit Life",
"pageLikesCount": 53210,
"profileUri": "https://facebook.com/fitlife"
}
}
],
"pagination": {
"page": 1,
"limit": 2,
"totalPages": 187
}
}GET Get ad details
GET /api/v1/ads/:id Returns full information for a single ad, including media descriptors with preview URLs. Media objects expose a mediaId that you pass to the download endpoint to retrieve the highest-resolution file.
Path parameters
| Parameter | Type | Description |
|---|---|---|
id | UUID | The ad identifier, as returned by the search endpoint. |
Example request
curl "https://api.adligator.com/api/v1/ads/9a1f4c9e-2b7d-4f1a-8c3e-5d6b7a8c9d0e" \
-H "X-API-Key: adl_your_api_key_here"Example response
{
"data": {
"id": "9a1f4c9e-2b7d-4f1a-8c3e-5d6b7a8c9d0e",
"isActive": true,
"displayFormat": 1,
"publishedOnPlatforms": ["FB", "INST"],
"countries": ["US", "DE"],
"title": "Get fit in 30 days",
"linkUrl": "https://example.com/offer",
"buttonType": "LEARN_MORE",
"isAAAEligible": true,
"adArchiveId": "1234567890123456",
"categories": [0],
"bodyHtml": "Join the challenge today...",
"entityType": "REGULAR",
"linkDescription": "30-day fitness challenge",
"caption": "example.com",
"images": [],
"videos": [
{
"mediaId": "7c2e1f0a-9b8d-4e3c-a1b2-c3d4e5f60789",
"videoUrl": "https://cdn2.adligator.com/videos/sd/....mp4",
"previewImageUrl": "https://cdn2.adligator.com/previews/....jpg"
}
],
"cards": []
}
}Media URLs in this response are preview quality (resized images / SD video). Use the download endpoint to get the original file.
GET Download media
GET /api/v1/ads/:id/download?mediaId=:mediaId Resolves the highest-resolution file (original image or HD video) for a media item of an ad and responds with 302 Found and a Location header pointing at the file. Follow the redirect to download it.
Parameters
| Parameter | Type | Description |
|---|---|---|
id | UUID | The ad identifier (path parameter). |
mediaId | string | The media identifier from the details endpoint. Optional when the ad has exactly one media item; required otherwise. |
Example request
curl -L -o creative.mp4 \
"https://api.adligator.com/api/v1/ads/9a1f4c9e-2b7d-4f1a-8c3e-5d6b7a8c9d0e/download?mediaId=7c2e1f0a-9b8d-4e3c-a1b2-c3d4e5f60789" \
-H "X-API-Key: adl_your_api_key_here"Example response
HTTP/1.1 302 Found
Location: https://cdn2.adligator.com/videos/hd/....mp4Errors
Errors use conventional HTTP status codes and a consistent JSON body:
{
"statusCode": 401,
"message": "Invalid API key.",
"error": "Unauthorized"
}| Status | Meaning |
|---|---|
400 | Invalid query parameters or malformed ad id. |
401 | Missing or unknown API key. |
403 | Key deactivated, or the account has no active Team plan. |
404 | Ad or media item not found. |
429 | Rate limit exceeded. Check the Retry-After header. |