Ads
Query ads
Returns the advanced public ads query surface. This endpoint supports the full current ads filtering set through a public camelCase contract with structured JSON for advanced growth, country, market, and ranking filters while keeping the response aligned with the standard public ad summary shape. Search terms are optional in this route.
post/v1/ads/query
Request
- Base URL: https://api.trendtrack.io (the document declares no server; this is the origin it was published from)
- URL: https://api.trendtrack.io/v1/ads/query
- Auth: HTTP bearer
Request body
Example request
{
"search": [
"summer dress",
"linen"
],
"page": 1,
"limit": 50,
"platforms": [
"facebook"
],
"growthRank": {
"anyOf": [
{
"all": [
{
"minChange": 20
}
]
}
]
},
"adCountries": {
"include": [
"US",
"CA"
],
"exclude": [
"BR",
"IN"
]
},
"trafficGrowth": {
"anyOf": [
{
"all": [
{
"value": 50
}
]
}
]
},
"adsGrowth": {
"anyOf": [
{
"all": [
{
"value": 50
}
]
}
]
},
"pageReachGrowth": {
"anyOf": [
{
"all": [
{
"value": 50
}
]
}
]
},
"adReachGrowth": {
"anyOf": [
{
"all": [
{
"value": 50
}
]
}
]
},
"shopifyApps": [
"41c143a7-0000-4000-8000-000000000000"
],
"excludeShopifyApps": [
"52d254b8-0000-4000-8000-000000000000"
],
"creationCountry": {
"include": [
"US",
"CA"
],
"exclude": [
"BR",
"IN"
]
},
"market": {
"main": [
"US"
],
"among": [
"CA",
"GB"
],
"exclude": [
"AU"
]
},
"technologies": [
"shopify"
]
}Response
Paginated advanced ads query response using the public ads contract. The response also includes the X-Request-Id header.
Example response
{
"requestId": "5d93d8de-0f6d-46a4-bd10-2e519b7e96bc",
"data": [
{
"id": "facebook_123456789",
"collationId": "3810635369204881",
"platform": "facebook",
"status": "active",
"createdAt": "2026-04-18T12:30:00.000Z",
"firstSeenAt": "2026-04-10T00:00:00.000Z",
"lastSeenAt": "2026-04-19T00:00:00.000Z",
"daysRunning": 9,
"media": {
"type": "video",
"thumbnailUrl": "https://cdn.example.com/ads/ad-1-thumb.jpg",
"mediaUrl": "https://cdn.example.com/ads/ad-1.mp4"
},
"advertiser": {
"id": "1234567890",
"name": "Example Brand",
"logoUrl": "https://cdn.example.com/pages/example-brand.png",
"facebookPageId": "1234567890",
"liveAdsCount": 42,
"reach30d": 152340,
"totalReach": 842100,
"countriesCount": 8,
"facebookLikes": 125000,
"instagramFollowers": 89000
},
"content": {
"title": "Summer Sale",
"body": "Up to 30% off selected products.",
"transcript": "Save 30% on every order.",
"callToAction": "Shop now",
"landingPageUrl": "https://example.com/products/summer-sale",
"landingPageDomain": "example.com",
"ctaDescription": "Free shipping on orders over $50.",
"ctaLinkDescription": "Shop the full collection"
},
"metrics": {
"reach": 152340,
"aggregatedReach": 284100,
"estimatedSpend": 4262,
"duplicates": 4,
"reachDelta1d": 1200,
"reachDelta7d": 8200,
"reachDelta30d": 38400
},
"audience": {
"targetedCountries": [
"US",
"FR"
],
"mainCountry": "FR",
"gender": "all",
"ageMin": 18,
"ageMax": 65
},
"rank": {
"positionInPage": 3,
"currentRank": 12,
"rankDelta": -4,
"improvementPct": 0.25
},
"flags": {
"isEuAd": true,
"hasPartnerBadge": true
}
}
],
"pagination": {
"page": 1,
"limit": 25,
"total": 235,
"totalPages": 10
}
}Changes
No recorded changes to this operation across all 1 revision of this API.