curl --request POST \
--url https://api.criteo.com/preview/marketing-solutions/ad-sets/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": {
"advertiserIds": [
"12345"
]
}
}
'import requests
url = "https://api.criteo.com/preview/marketing-solutions/ad-sets/search"
payload = { "filters": { "advertiserIds": ["12345"] } }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({filters: {advertiserIds: ['12345']}})
};
fetch('https://api.criteo.com/preview/marketing-solutions/ad-sets/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.criteo.com/preview/marketing-solutions/ad-sets/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'filters' => [
'advertiserIds' => [
'12345'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.criteo.com/preview/marketing-solutions/ad-sets/search"
payload := strings.NewReader("{\n \"filters\": {\n \"advertiserIds\": [\n \"12345\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.criteo.com/preview/marketing-solutions/ad-sets/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {\n \"advertiserIds\": [\n \"12345\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/preview/marketing-solutions/ad-sets/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": {\n \"advertiserIds\": [\n \"12345\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"attributes": {
"advertiserId": "<string>",
"attributionConfiguration": {},
"bidding": {
"bidAmount": 123
},
"budget": {
"budgetAmount": 123
},
"campaignId": "<string>",
"datasetId": "<string>",
"name": "<string>",
"schedule": {
"endDate": {
"value": "2023-11-07T05:31:56Z"
},
"startDate": {
"value": "2023-11-07T05:31:56Z"
}
},
"targeting": {
"deliveryLimitations": {
"devices": [],
"environments": [],
"operatingSystems": []
},
"frequencyCapping": {
"value": {
"maximumImpressions": 123
}
},
"geoLocation": {
"countries": {
"value": {
"values": [
"<string>"
]
}
},
"subdivisions": {
"value": {
"values": [
"<string>"
]
}
},
"zipCodes": {
"value": {
"values": [
"<string>"
]
}
}
}
}
},
"id": "<string>",
"type": "ReadAdSetV26Q1"
}
],
"errors": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"traceIdentifier": "<string>"
}
],
"warnings": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"traceIdentifier": "<string>"
}
]
}/preview/marketing-solutions/ad-sets/search
Search for ad sets based on provided criteria. This returns the full configuration of ad sets matching those criteria. Field projection can be used if only a subset of fields is required, instead of the full configuration.
If specific fields are precised in the user prompt, use meta.fields field projection in order to query only the value of these fields, else, provide every field.
curl --request POST \
--url https://api.criteo.com/preview/marketing-solutions/ad-sets/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": {
"advertiserIds": [
"12345"
]
}
}
'import requests
url = "https://api.criteo.com/preview/marketing-solutions/ad-sets/search"
payload = { "filters": { "advertiserIds": ["12345"] } }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({filters: {advertiserIds: ['12345']}})
};
fetch('https://api.criteo.com/preview/marketing-solutions/ad-sets/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.criteo.com/preview/marketing-solutions/ad-sets/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'filters' => [
'advertiserIds' => [
'12345'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.criteo.com/preview/marketing-solutions/ad-sets/search"
payload := strings.NewReader("{\n \"filters\": {\n \"advertiserIds\": [\n \"12345\"\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.criteo.com/preview/marketing-solutions/ad-sets/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {\n \"advertiserIds\": [\n \"12345\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/preview/marketing-solutions/ad-sets/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": {\n \"advertiserIds\": [\n \"12345\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"attributes": {
"advertiserId": "<string>",
"attributionConfiguration": {},
"bidding": {
"bidAmount": 123
},
"budget": {
"budgetAmount": 123
},
"campaignId": "<string>",
"datasetId": "<string>",
"name": "<string>",
"schedule": {
"endDate": {
"value": "2023-11-07T05:31:56Z"
},
"startDate": {
"value": "2023-11-07T05:31:56Z"
}
},
"targeting": {
"deliveryLimitations": {
"devices": [],
"environments": [],
"operatingSystems": []
},
"frequencyCapping": {
"value": {
"maximumImpressions": 123
}
},
"geoLocation": {
"countries": {
"value": {
"values": [
"<string>"
]
}
},
"subdivisions": {
"value": {
"values": [
"<string>"
]
}
},
"zipCodes": {
"value": {
"values": [
"<string>"
]
}
}
}
}
},
"id": "<string>",
"type": "ReadAdSetV26Q1"
}
],
"errors": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"traceIdentifier": "<string>"
}
],
"warnings": [
{
"code": "<string>",
"detail": "<string>",
"instance": "<string>",
"source": {},
"stackTrace": "<string>",
"title": "<string>",
"traceId": "<string>",
"traceIdentifier": "<string>"
}
]
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
request payload of the search endpoint
Filter on ad set ids.
Multiple filters are combined with an implicit AND operation. Identifiers are string-encoded integers; invalid values are ignored. If no filter is provided (both arrays are null or empty), the search returns all accessible campaigns.
Show child attributes
Show child attributes
Optional metadata for searching ad sets
Show child attributes
Show child attributes
Was this page helpful?