---
title: "List campaigns"
method: GET
path: "/ad_accounts/{ad_account_id}/campaigns"
tags: ["campaigns"]
---

# List campaigns

`GET /ad_accounts/{ad_account_id}/campaigns`

Get a list of the campaigns in the specified `ad_account_id`, filtered by the specified options.
- The token's user_account must either be the Owner of the specified ad account, or have one of the necessary
roles granted to them via [Business Access](https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts): Admin, Analyst, Campaign Manager.

## Path parameters

- `ad_account_id` string, required

## Query parameters

- `bookmark` string
- `page_size` integer
- `order` 'ASCENDING' | 'DESCENDING'
- `campaign_ids` CampaignIdType[]
- `entity_statuses` EntityStatus[]

## Response `200`

The request has succeeded.

- object
  - `bookmark` string, nullable
  - `items` Campaign[], required
    - `ad_account_id` string — Campaign's Advertiser ID.
    - `bid_options` CampaignBidOptions, nullable — Object describing the campaign level bid multipliers.
      - `age_bucket_multipliers` AgeBucketMultipliers, nullable — This represents a mapping from age bucket to a bid price adjustment. Multiplier values must be between 0 and 10. A value of 10 represents a 900% increase in bid price (from $1 to $10 for example). A value of 0 will stop distribution for this item on the specified age bucket in `MAX_BID` ad groups in `CATALOG_SALES` campaigns. All age bucket multipliers must be set at the same time. If a multiplier is not provided it is assumed to be 1 (no bid adjustment).
        - `AGE_BUCKET` '18-24' | '19+' | '20+' | '21+' | '25-34' | '35-44' | '45-49' | '50-54' | '55-64' | '65+'
      - `app_type_multipliers` AppTypeMultipliers, nullable — This represents a mapping from app type targeting criteria to a bid price adjustment. Multiplier values must be between 0 and 10. A value of 10 represents a 900% increase in bid price (from $1 to $10 for example). A value of 0 will stop distribution for this item on the specified app type in `MAX_BID` ad groups in `CATALOG_SALES` campaigns. All app type multipliers must be set at the same time. If a multiplier is not provided it is assumed to be 1 (no bid adjustment).
        - `APP_TYPE` 'android_mobile' | 'android_tablet' | 'ipad' | 'iphone' | 'web' | 'web_mobile'
      - `audience_multipliers` CampaignAudienceMultipliers — This represents a mapping from Audience ID to a bid price adjustment. Multiplier values must be between 0 and 10. A value of 10 represents a 900% increase in bid price (from $1 to $10 for example). A value of 0 will stop distribution for this item on the specified audience in `MAX_BID` ad groups in `CATALOG_SALES` campaigns. All audience multipliers must be set at the same time. If a multiplier is not provided it is assumed to be 1 (no bid adjustment).
        - `AUDIENCE_ID` string — Audience ID for the multiplier.
      - `freq_bid_multiplier_time_window` 'WEEK' | 'MONTH' | 'null', nullable — The time window for frequency bid multipliers.
      - `frequency_multipliers` FrequencyMultipliers, nullable — This represents a mapping from impression count to a bid price adjustment for frequency-based bidding. Keys are impression counts (0-10) representing how many times a user has seen the ad. Multiplier values must be between 0 and 10. A value of 10 represents a 900% increase in bid price. A value of 0 will stop distribution for this impression count. If a multiplier is not provided it is assumed to be 1 (no bid adjustment).
        - `IMPRESSION_COUNT` string — Impression count identifier.
      - `gender_multipliers` GenderMultipliers, nullable — This represents a mapping from gender targeting criteria to a bid price adjustment. Multiplier values must be between 0 and 10. A value of 10 represents a 900% increase in bid price (from $1 to $10 for example). A value of 0 will stop distribution for this item on the specified gender in `MAX_BID` ad groups in `CATALOG_SALES` campaigns. All gender multipliers must be set at the same time. If a multiplier is not provided it is assumed to be 1 (no bid adjustment).
        - `GENDER` 'unknown' | 'male' | 'female'
      - `placement_multipliers` PlacementMultipliers, nullable — This represents a mapping from placement to a bid price adjustment. Multiplier values must be between 0 and 10. A value of 10 represents a 900% increase in bid price (from $1 to $10 for example). A value of 0 will stop distribution for this item on the specified placement in `MAX_BID` ad groups in `CATALOG_SALES` campaigns. All placement multipliers must be set at the same time. If a multiplier is not provided it is assumed to be 1 (no bid adjustment).
        - `PLACEMENT` 'SEARCH' | 'BROWSE' | 'RELATED_PINS' — Placement type for bid multiplier targeting.
    - `created_time` integer — Campaign creation time. Unix timestamp in seconds.
    - `daily_spend_cap` integer, nullable — Note: The default for this field is null, which is treated the same as 0. For campaign budget optimization, a daily or lifetime spend cap must be set, but not both. For ad group level budgets, this field must be 0 or unset.
    - `default_ad_group_budget_in_micro_currency` integer, nullable — When transitioning from campaign budget optimization to non-campaign budget optimization, the default_ad_group_budget_in_micro_currency will propagate to each child ad groups daily budget. Unit is micro currency of the associated advertiser account.
    - `end_time` integer, nullable — Note: To clear this field on update, set the end time to -1. Timestamp in Unix format for scheduling when ads in the campaign stop appearing. Must occur after any end times for child ad groups. If `end_time` is not specified for the campaign, ads run indefinitely unless you update the campaign, changing their status to `paused`. Learn about [scheduling campaigns](/docs/api-features/managing-campaigns/#campaign-scheduling). Different end times can be set for the campaign's child ad groups, but they cannot occur after an `end_time` specified for the campaign. - If your campaign has a child ad group with an end time specified, and if you update that campaign with an `end_time` that is earlier than that of the ad group, the campaign `end_time` will supersede the ad group `end_time`, and the request will not return an error. - In this scenario, if you call [List campaigns](/docs/api/v5/campaigns-list) or [List ad groups](/docs/api/v5/ad_groups-list), the returned campaigns or ad groups are listed with the start and end times that you assigned them, regardless of supersedence.
    - `id` string, required — Campaign ID, must be associated with the ad account ID provided in the path.
    - `intended_promotion_type` 'LEGACY' | 'STANDARD_AD' | 'CATALOG' — Specifies the intended promotion type for the campaign. Note: This field is immutable unless the campaign is in draft status. **STANDARD_AD** - For ads derived from Pins. - Supported for all objective types except for current CATALOG\_SALES and WEB\_CONVERSION, which are being deprecated. - For simplified objective types. **CATALOG** - For creating product group promotions. - Supported for CONSIDERATION and SALES objective types. - For simplified objective types. **LEGACY** - Intended only for maintaining backward compatibility. - Must be used for CATALOG\_SALES and WEB\_CONVERSION. - Supported for CATALOG\_SALES and WEB\_CONVERSION objective types. **If you do not provide this parameter, the default is:** - LEGACY for CATALOG\_SALES and WEB\_CONVERSION - STANDARD_AD for other objective types
    - `is_automated_campaign` boolean, nullable — Note: This field is immutable unless the campaign is in draft status. Specifies whether the campaign was created in the automated campaign flow. When using Automated Campaigns, a daily spend cap must be set, and Pinterest Performance+ may not be used. The following objective types are supported: - CONSIDERATION - WEB\_CONVERSION - SALES - LEADS - CATALOG\_SALES
    - `is_campaign_budget_optimization` boolean, nullable — Note: This field is immutable unless the campaign is in draft status. Determines if a campaign automatically generates ad-group level budgets given a campaign budget to maximize campaign outcome. When using campaign budgets with a lifetime spend cap, the end time must be provided.
    - `is_carting` boolean — Whether the campaign contains a carting(where-to-buy link) ad.
    - `is_flexible_daily_budgets` boolean, nullable — Determine if a campaign has setup for flexible daily budgets, also known as "Pinterest Performance+ budgets". Flexible daily budgets are only supported for campaign budget optimization with a daily spend cap, and not a lifetime spend cap.
    - `is_ltv_optimized` boolean — Specifies whether the campaign is optimized for Lifetime Value (LTV). Only available for eligible advertisers.
    - `is_performance_plus` boolean — Note: This field is immutable unless the campaign is in draft status. You can only use this feature with the following objectives: - CONSIDERATION - WEB\_CONVERSION - SALES - LEADS - CATALOG\_SALES - APP\_INSTALL Enable Pinterest Performance+ for your campaign. To learn more, see [Pinterest Performance+ Setup](https://developers.pinterest.com/docs/api-features/pinterest-performance-plus-setup/)
    - `is_top_of_search` boolean — Note: This field is immutable unless the campaign is in draft status. [Restricted](/docs/getting-started/using-beta-and-restricted-features/) Have your ads and content appear at the top of search result lists in Pinterest. You can only use this feature with the following objectives: - CONSIDERATION - WEB\_CONVERSION - SALES - LEADS - CATALOG\_SALES You cannot use this feature with Pinterest Performance+ or Premiere Spotlight enabled.
    - `lifetime_spend_cap` integer, nullable — Note: The default for this field is null, which is treated the same as 0. For campaign budget optimization, a daily or lifetime spend cap must be set, but not both. For ad group level budgets, this field must be 0 or unset.
    - `name` string — Campaign name - 255 chars max.
    - `objective_type` 'AWARENESS' | 'CONSIDERATION' | 'VIDEO_VIEW' | 'WEB_CONVERSION' | 'CATALOG_SALES' | 'WEB_SESSIONS' | 'VIDEO_COMPLETION' | 'APP_INSTALL' | 'SALES' | 'LEADS' | 'CTV_CONSIDERATION', required — Campaign objective type. If set as one of ["AWARENESS", "CONSIDERATION", "WEB_CONVERSION", "CATALOG_SALES", "VIDEO_COMPLETION", "CTV_CONSIDERATION"] the campaign is considered as a Campaign Budget Optimization (CBO) campaign, meaning budget needs to be set at the campaign level rather than at the ad group level. ["WEB_SESSIONS"] is DEPRECATED. `VIDEO_VIEW` is deprecated; use `VIDEO_COMPLETION` instead. `CTV_CONSIDERATION` is in BETA. For update, only draft campaigns may update objective type.
    - `order_line_id` string, nullable — Note: To clear this field on update, set the order line ID to 0. Order line ID that appears on the invoice. The order line must not be expired.
    - `performance_plus_campaign_settings` PerformancePlusCampaignSettings, nullable — Pinterest Performance+ campaign settings.
      - `boost_prospecting_ad_group_bid` boolean — Whether to boost prospecting ad group bid.
      - `pinner_list_exclusions` string[] — List of campaign-level exclusion pinner list IDs.
    - `start_time` integer, nullable — Timestamp in Unix format for scheduling when ads in the campaign start to appear. Must precede any start times set for child ad groups. Defaults to current time if no time is specified. Learn about [scheduling campaigns](/docs/api-features/managing-campaigns/#campaign-scheduling). Different start times can be set for the campaign's child ad groups, but they cannot occur before a `start_time` specified for the campaign. - If your campaign has a child ad group with a start time specified, and if you update that campaign with a `start_time` that is later than that of the ad group, the campaign `start_time` will supersede the ad group `start_time`, and the request will not return an error. - In this scenario, if you call [List campaigns](/docs/api/v5/campaigns-list) or [List ad groups](/docs/api/v5/ad_groups-list), the returned campaigns or ad groups are listed with the start and end times that you assigned them, regardless of supersedence.
    - `status` 'ACTIVE' | 'PAUSED' | 'ARCHIVED' | 'DRAFT' | 'DELETED_DRAFT' — Entity status
    - `summary_status` 'RUNNING' | 'PAUSED' | 'NOT_STARTED' | 'COMPLETED' | 'ADVERTISER_DISABLED' | 'ARCHIVED' | 'DRAFT' | 'DELETED_DRAFT' — Summary status for campaign
    - `tracking_urls` TrackingUrls, nullable — Third-party tracking URLs. Up to three tracking URLs - with a max length of 2,000 - are supported for each event type. Tracking URLs set at the ad group or ad level can override those set at the campaign level. For more information, see [Third-party and dynamic tracking](https://help.pinterest.com/en/business/article/third-party-and-dynamic-tracking).
      - `audience_verification` string[]
      - `buyable_button` string[]
      - `click` string[]
      - `engagement` string[]
      - `impression` string[]
    - `type` string — Always "campaign".
    - `updated_time` integer — UTC timestamp. Last update time.

## Other responses

- `400` — The request could not be understood by the server due to unexpected data.
- `401` — Authentication is required and has either failed or not been provided.
- `403` — The request was valid, but the server is refusing action. The user might not have the necessary permissions for a resource.
- `404` — The requested resource could not be found on this server.
- `429` — The user has sent too many requests in a given amount of time and is being rate limited.
- `default` — An unexpected error response.

---

[API](https://skmtc.net/pinterest/apis/pinterest-rest-api.md) · [All operations](https://skmtc.net/pinterest/apis/pinterest-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pinterest/pinterest-rest-api/revisions/b698c180678a/schema)
