/2025-07/marketing-solutions/campaigns/search
curl --request POST \
--url https://api.criteo.com/2025-07/marketing-solutions/campaigns/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": {
"advertiserIds": [
"<string>"
],
"campaignIds": [
"<string>"
]
}
}
'import requests
url = "https://api.criteo.com/2025-07/marketing-solutions/campaigns/search"
payload = { "filters": {
"advertiserIds": ["<string>"],
"campaignIds": ["<string>"]
} }
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: ['<string>'], campaignIds: ['<string>']}})
};
fetch('https://api.criteo.com/2025-07/marketing-solutions/campaigns/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/2025-07/marketing-solutions/campaigns/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' => [
'<string>'
],
'campaignIds' => [
'<string>'
]
]
]),
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/2025-07/marketing-solutions/campaigns/search"
payload := strings.NewReader("{\n \"filters\": {\n \"advertiserIds\": [\n \"<string>\"\n ],\n \"campaignIds\": [\n \"<string>\"\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/2025-07/marketing-solutions/campaigns/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {\n \"advertiserIds\": [\n \"<string>\"\n ],\n \"campaignIds\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/2025-07/marketing-solutions/campaigns/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 \"<string>\"\n ],\n \"campaignIds\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"attributes": {
"advertiserId": "<string>",
"budgetAutomation": {
"automatedBudgetConfiguration": {},
"enabled": true
},
"id": "<string>",
"name": "<string>",
"spendLimit": {
"spendLimitAmount": {
"value": 123
}
}
},
"id": "<string>",
"type": "Campaign"
}
],
"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>"
}
]
}/2025-07/marketing-solutions/campaigns/search
Search endpoint for campaigns
A campaign, or in other words a marketing campaign, is an entity that defines advertising objectives and success criteria.
POST
/
2025-07
/
marketing-solutions
/
campaigns
/
search
/2025-07/marketing-solutions/campaigns/search
curl --request POST \
--url https://api.criteo.com/2025-07/marketing-solutions/campaigns/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": {
"advertiserIds": [
"<string>"
],
"campaignIds": [
"<string>"
]
}
}
'import requests
url = "https://api.criteo.com/2025-07/marketing-solutions/campaigns/search"
payload = { "filters": {
"advertiserIds": ["<string>"],
"campaignIds": ["<string>"]
} }
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: ['<string>'], campaignIds: ['<string>']}})
};
fetch('https://api.criteo.com/2025-07/marketing-solutions/campaigns/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/2025-07/marketing-solutions/campaigns/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' => [
'<string>'
],
'campaignIds' => [
'<string>'
]
]
]),
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/2025-07/marketing-solutions/campaigns/search"
payload := strings.NewReader("{\n \"filters\": {\n \"advertiserIds\": [\n \"<string>\"\n ],\n \"campaignIds\": [\n \"<string>\"\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/2025-07/marketing-solutions/campaigns/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": {\n \"advertiserIds\": [\n \"<string>\"\n ],\n \"campaignIds\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.criteo.com/2025-07/marketing-solutions/campaigns/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 \"<string>\"\n ],\n \"campaignIds\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"attributes": {
"advertiserId": "<string>",
"budgetAutomation": {
"automatedBudgetConfiguration": {},
"enabled": true
},
"id": "<string>",
"name": "<string>",
"spendLimit": {
"spendLimitAmount": {
"value": 123
}
}
},
"id": "<string>",
"type": "Campaign"
}
],
"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
application/json
Filters for searching for campaigns
Request payload for the campaign search endpoint.
Filters for searching campaigns.
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
Was this page helpful?
/2025-07/marketing-solutions/campaigns/{campaign-id}
Previous
/2025-07/marketing-solutions/marketplace-performance-outcomes/advertisers
Next
⌘I