Introduction
An account represents a brand, agency, marketplace seller, or retailer. It serves as a business and billing entity that contains campaigns.
Accounts are created by Criteo. Please reach out to your account representative
Endpoint
Method | Endpoint | Description |
|---|
GET | /accounts
| Get all Accounts |
Account Attributes
Attribute | Data Type | Description |
|---|
id
| string | Account ID, from a demand or supply account (generated internally by Criteo) Accepted values: string of int64 Writeable? N / Nullable? N |
name
| string | Account name, arbitrary and defined at account creation Accepted values: up to 510-chars string Writeable? Y / Nullable? N |
type
| enum | Account type, withsupplybeing the account type forRetailersanddemandthe account type for the different types of advertisers (brand, marketplace sellers, agencies, etc) Accepted values:demand,supply Writeable? N / Nullable? N |
subtype
| enum | Account sub-type, specific for demand accounts Accepted values:brand,seller Writeable? N / Nullable? Y |
countries
| list\ | Countries associated with the account Accepted values: 2-chars country code (inISO-3166alpha-2 code; e.g.US,FR) Writeable? N / Nullable? N |
currency
| string | Default currency for bulling, budgeting, bid settings & campaign performance metrics Accepted values: 3-chars currency code (inISO-4217; e.g.USD,EUR) Writeable? N / Nullable? N |
parentAccountLabel
| string | Label used to associate multiple accounts Accepted values: up to 510-chars string Default: same asname Writeable? Y / Nullable? N |
timeZone
| string | Account time zone Accepted values: time zone identifiers fromIANA (TZ database)(e.g.America/New_York,Europe/Paris,Asia/Tokyo,UTC) Writeable? N / Nullable? N |
companyName
| string | This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company associated with the advertisement. Accepted values: up to 255-chars string Writeable? Y / Nullable? Y |
onBehalfCompanyName
| string | This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company (on behalf ofcompanyName) associated with the advertisement Accepted values: up to 255-chars string Writeable? Y / Nullable? Y |
Digital Service Act (DSA)
In compliance with the Digital Services Act (DSA), marketplaces within the European Union will receive information about the company name associated with each advertisement.
Get All Accounts
This endpoint lists all accounts accessible via your API credentials.
Results are paginated using pageIndex and pageSize query parameters; if omitted, defaults to 0 and 25, respectively. See API Response.
View in the API ReferenceYou can also see this endpoint in the API reference.
Sample Request
curl -X GET "https://api.criteo.com/{version}/retail-media/accounts?pageIndex=0&pageSize=25" \
-H "Authorization: Bearer <MY_ACCESS_TOKEN>"
import requests
url = "https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0"
payload={}
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer <MY_ACCESS_TOKEN>'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0")
.method("GET", body)
.addHeader("Accept", "application/json")
.addHeader("Authorization", "Bearer <MY_ACCESS_TOKEN>")
.build();
Response response = client.newCall(request).execute();
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Accept' => 'application/json',
'Authorization' => 'Bearer <MY_ACCESS_TOKEN>'
));
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
Sample Response
{
"metadata": {
"totalItemsAcrossAllPages": 2,
"currentPageSize": 25,
"currentPageIndex": 0,
"totalPages": 1
},
"data": [
{
"id": "5",
"type": "RetailMediaAccount",
"attributes": {
"name": "Supply Demo Test Account",
"type": "supply",
"subtype": null,
"countries": [
"US"
],
"currency": "USD",
"parentAccountLabel": "Supply Demo Test Account",
"timeZone": "America/New_York",
"companyName": "Supply Demo Test Account",
"onBehalfCompanyName": "Supply Demo Test Account"
}
},
{
"id": "368471940340928512",
"type": "RetailMediaAccount",
"attributes": {
"name": "RM API Account",
"type": "demand",
"subtype": "brand",
"countries": [
"US"
],
"currency": "USD",
"parentAccountLabel": "API Account",
"timeZone": "America/New_York",
"companyName": "RM API Account",
"onBehalfCompanyName": "RM API Account"
}
}
]
}
Responses
Response | Description |
|---|
🟢200 | Call executed with success |
What’s next