---
title: "/2026-01/marketing-solutions/campaigns/search"
method: POST
path: "/2026-01/marketing-solutions/campaigns/search"
tags: ["Campaign"]
---

# /2026-01/marketing-solutions/campaigns/search

`POST /2026-01/marketing-solutions/campaigns/search`

## Request

- Base URL: `https://api.criteo.com`
- URL: `https://api.criteo.com/2026-01/marketing-solutions/campaigns/search`
- Auth: OAuth 2
  - Authorization code: `https://api.criteo.com/oauth2`
  - Client credentials
  - Token URL: `https://api.criteo.com/oauth2/token` scopes: `MarketingSolutions_Campaign_Read`
- TypeScript: <https://skmtc.dev/criteo/apis/criteo-api/docs/2026-01/marketing-solutions/campaigns/search/post.ts> (a function with typed inputs; its response is checked against the schema)

Search endpoint for campaigns
            
A campaign, or in other words a marketing campaign, is an entity that defines advertising objectives and success criteria.

## Request body

- CampaignSearchRequestV23Q1: Request payload for the campaign search endpoint.
  - `filters` CampaignSearchFiltersV23Q1: 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.
    - `advertiserIds` string[], nullable: Advertiser IDs to filter on (string-encoded integers).
    - `campaignIds` string[], nullable: Campaign IDs to filter on (string-encoded integers).

## Response `200`

Returns a list of marketing campaigns' data.

- CampaignV23Q1ListResponse: Data model for a list of response resources
  - `data` CampaignV23Q1Resource[], nullable
    - `attributes` CampaignV23Q1, nullable: Campaign read model The {id} field is the campaign identifier (string-encoded integer).
      - `advertiserId` string, nullable: Advertiser id of the campaign (string-encoded integer)
      - `budgetAutomation` CampaignBudgetAutomationV23Q1, nullable: Budget automation, also known as automated budget or budget pacing, lets users configure KPIs and budgets once at the campaign level while Criteo dynamically routes spend toward the best-performing ad sets. When enabled is false, automatedBudgetConfiguration is null. When enabled is true, automatedBudgetConfiguration.adSetOptimizationObjective is expected.
        - `automatedBudgetConfiguration` AutomatedBudgetConfigurationV23Q1, nullable: Detailed configuration used when campaign budget automation is enabled.
          - `adSetOptimizationObjective` 'conversions' | 'revenue' | 'visits' | 'videoViews', nullable: Optimization objective used to automate budget allocation across ad sets. Expected when budgetAutomation.enabled is true. Possible values are "conversions", "revenue", "visits", and "videoViews".
        - `enabled` boolean, nullable: Whether budget automation is enabled for this campaign. This field is always present in the response.
      - `goal` 'unspecified' | 'acquisition' | 'retention', nullable: Goal of the campaign Serialized values are {unspecified}, {acquisition} and {retention}. Acquisition and retention are defined as follows: - Acquisition: campaign with the goal of acquiring new customers. The success of an acquisition campaign is measured by the number of new customers it brings. - Retention: campaign with the goal of retaining existing customers. The success of a retention campaign is measured by the number of existing customers it retains.
      - `id` string, nullable: Id of the entity (duplicate of the parent id).
      - `name` string, nullable: Name of the campaign
      - `spendLimit` CampaignSpendLimitV23Q1, nullable: Campaign spend-limit configuration. A capped spend limit restricts campaign spending per renewal period. An uncapped spend limit does not impose a spending ceiling.
        - `spendLimitAmount` NillableDecimal, nullable: Placeholder object for value for which "null" is a valid business value
          - `value` number, double, nullable: The value. If missing or null the value is set to "null"
        - `spendLimitRenewal` 'undefined' | 'daily' | 'monthly' | 'lifetime', nullable: The period over which the campaign spend limit is applied. When spendLimitType is "capped", this is "daily", "monthly", or "lifetime". When spendLimitType is "uncapped", this is "undefined".
        - `spendLimitType` 'capped' | 'uncapped', nullable: Controls whether the campaign has a spend limit. "capped" returns a non-null spendLimitAmount.value and a spendLimitRenewal of "daily", "monthly", or "lifetime". "uncapped" returns spendLimitAmount.value as null and spendLimitRenewal as "undefined".
    - `id` string, nullable: Id of the entity
    - `type` string, nullable: Canonical type name of the entity
  - `errors` CommonProblem[], nullable
    - `code` string, nullable: A machine-readable error code, expressed as a string value.
    - `detail` string, nullable: A human-readable explanation specific to this occurrence of the problem
    - `instance` string, nullable: A URI that identifies the specific occurrence of the problem.
    - `source` object, nullable: A machine-readable structure to reference to the exact location(s) causing the error(s)
    - `stackTrace` string, nullable
    - `title` string, nullable: A short human-readable description of the problem type
    - `traceId` string, nullable: The request correlation ID this problem comes from.
    - `traceIdentifier` string, nullable: The request correlation ID this problem comes from. (deprecated, use traceId instead)
    - `type` 'unknown' | 'access-control' | 'authentication' | 'authorization' | 'availability' | 'deprecation' | 'quota' | 'validation', nullable: The problem's category.
  - `warnings` CommonProblem[], nullable
    - `code` string, nullable: A machine-readable error code, expressed as a string value.
    - `detail` string, nullable: A human-readable explanation specific to this occurrence of the problem
    - `instance` string, nullable: A URI that identifies the specific occurrence of the problem.
    - `source` object, nullable: A machine-readable structure to reference to the exact location(s) causing the error(s)
    - `stackTrace` string, nullable
    - `title` string, nullable: A short human-readable description of the problem type
    - `traceId` string, nullable: The request correlation ID this problem comes from.
    - `traceIdentifier` string, nullable: The request correlation ID this problem comes from. (deprecated, use traceId instead)
    - `type` 'unknown' | 'access-control' | 'authentication' | 'authorization' | 'availability' | 'deprecation' | 'quota' | 'validation', nullable: The problem's category.

---

[API](https://skmtc.dev/criteo/apis/criteo-api.md) - [All operations](https://skmtc.dev/criteo/apis/criteo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/criteo/apis/criteo-api/revisions/c1721589426a?raw)
