---
title: "List PPC campaigns with placement performance"
method: GET
path: "/v1/sellers/{sellerId}/marketplaces/{marketplace}/ppc/campaigns"
tags: ["v1"]
---

# List PPC campaigns with placement performance

`GET /v1/sellers/{sellerId}/marketplaces/{marketplace}/ppc/campaigns`

Returns a paginated list of Sponsored Products campaigns for the specified seller account and marketplace, each with totals for the reporting window (impressions, clicks, spend, sales, units, orders, CTR, CPC, ACOS, ROAS) and, by default, a per-placement breakdown with that placement bid adjustment. Optionally narrow to the campaigns advertising one ASIN (`asin`) or one variation family (`parentAsin`).

The reporting window defaults to the last 30 days and cannot exceed 90 days.

Rate limited to approximately 60 requests per minute per API key.

## Path parameters

- `marketplace` string, required
- `sellerId` string, required

## Query parameters

- `startDate` string
- `endDate` string
- `asin` string
- `parentAsin` string
- `search` string
- `includePlacements` boolean
- `sortBy` 'name' | 'state' | 'bidStrategy' | 'budget' | 'impressions' | 'clicks' | 'ctr' | 'cpc' | 'spend' | 'unitsSold' | 'sales' | 'acos' | 'cvr' | 'tosImpressionShare' | 'tosImpressions' | 'tosClicks' | 'tosSpend' | 'tosSales' | 'tosUnitsSold' | 'rosImpressions' | 'rosClicks' | 'rosSpend' | 'rosSales' | 'rosUnitsSold' | 'ppImpressions' | 'ppClicks' | 'ppSpend' | 'ppSales' | 'ppUnitsSold' | 'offImpressions' | 'offClicks' | 'offSpend' | 'offSales' | 'offUnitsSold' | 'tosBidAdjustment' | 'rosBidAdjustment' | 'ppBidAdjustment' | 'tosCtr' | 'tosCpc' | 'tosAcos' | 'rosCtr' | 'rosCpc' | 'rosAcos' | 'ppCtr' | 'ppCpc' | 'ppAcos' | 'offCtr' | 'offCpc' | 'offAcos'
- `sortOrder` 'ASC' | 'DESC'
- `state` 'ENABLED' | 'PAUSED'
- `currentPage` number
- `pageSize` number

## Response `200`

- PpcCampaignsExternalListDto
  - `currentPage` number, required
  - `pageSize` number, required — Number of items per page
  - `hasNext` boolean, required — True when there is a next page. Otherwise, false
  - `hasPrev` boolean, required — True when there is a previous page. Otherwise, false
  - `lastPage` number, required — Last page or total page count
  - `total` number, required — Total number of items
  - `data` PpcCampaignDto[], required — List of items
    - `campaignId` number, required
    - `name` string, required
    - `type` 'SPONSORED_PRODUCTS' | 'SPONSORED_BRANDS' | 'SPONSORED_DISPLAY', nullable, required
    - `state` string, required
    - `targetingType` 'MANUAL' | 'AUTO' | 'T00020' | 'T00030', nullable, required
    - `bidStrategy` object, nullable, required
    - `budget` CampaignBudgetDto, required
      - `type` object, nullable, required
      - `amount` object, nullable, required
      - `currencyCode` object, nullable, required
    - `impressions` number, required
    - `clicks` number, required
    - `ctr` object, nullable, required
    - `cpc` object, nullable, required
    - `cvr` object, nullable, required
    - `spend` number, required
    - `unitsSold` number, required
    - `orders` number, required
    - `sales` number, required
    - `tosImpressionShare` object, nullable, required
    - `acos` object, nullable, required
    - `roas` object, nullable, required
    - `tacos` object, nullable, required
    - `asinCount` number, required
    - `placements` CampaignPlacementsDto
      - `topOfSearch` PlacementMetricsDto, required
        - `bidAdjustment` object, nullable, required
        - `impressions` number, required
        - `clicks` number, required
        - `ctr` object, nullable, required
        - `cpc` object, nullable, required
        - `spend` number, required
        - `unitsSold` number, required
        - `sales` number, required
        - `acos` object, nullable, required
      - `restOfSearch` PlacementMetricsDto, required
        - `bidAdjustment` object, nullable, required
        - `impressions` number, required
        - `clicks` number, required
        - `ctr` object, nullable, required
        - `cpc` object, nullable, required
        - `spend` number, required
        - `unitsSold` number, required
        - `sales` number, required
        - `acos` object, nullable, required
      - `productPage` PlacementMetricsDto, required
        - `bidAdjustment` object, nullable, required
        - `impressions` number, required
        - `clicks` number, required
        - `ctr` object, nullable, required
        - `cpc` object, nullable, required
        - `spend` number, required
        - `unitsSold` number, required
        - `sales` number, required
        - `acos` object, nullable, required
      - `offAmazon` PlacementMetricsDto, required
        - `bidAdjustment` object, nullable, required
        - `impressions` number, required
        - `clicks` number, required
        - `ctr` object, nullable, required
        - `cpc` object, nullable, required
        - `spend` number, required
        - `unitsSold` number, required
        - `sales` number, required
        - `acos` object, nullable, required
      - `homePageBidAdjustment` object, nullable, required

## Other responses

- `400` — Invalid query parameters
- `401` — Api key is invalid
- `403` — Unauthorized to access the resource
- `404` — Resource not found
- `429` — Rate limit exceeded (approximately 60 requests/min per API key).
- `500` — Internal error

## Changes

- **2026-09-23** `5119643563da` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/datadive/apis/data-dive-developer-apis/changes/v1/sellers/:sellerId/marketplaces/:marketplace/ppc/campaigns/get.md)

---

[API](https://skmtc.dev/datadive/apis/data-dive-developer-apis.md) · [All operations](https://skmtc.dev/datadive/apis/data-dive-developer-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/datadive/apis/data-dive-developer-apis/revisions/6fe0b8ec046c?raw)
