# Ad Exchange Buyer API API

> Ad Exchange Buyer API API on Apizie: 38 endpoints (Gets one account by ID., Updates an existing account., Updates an existing account. This method supports patch semantics., Retrieves the authenticated user's list of accounts., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-adexchangebuyer`
- Category: Analytics
- Status: byok
- Source: https://developers.google.com/ad-exchange/buyer-rest
- Page: https://zieapi.vercel.app/api/analytics/googleapis-adexchangebuyer
- OpenAPI: https://zieapi.vercel.app/api/analytics/googleapis-adexchangebuyer/openapi.json

Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.

## Endpoints

### Gets one account by ID.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-accounts-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | integer | yes | The account id |

### Updates an existing account.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-accounts-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| confirmUnsafeAccountChange | boolean | no | Confirmation for erasing bidder and cookie matching urls. |
| id | integer | yes | The account id |
| body | object | yes | JSON request body |

### Updates an existing account. This method supports patch semantics.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-accounts-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| confirmUnsafeAccountChange | boolean | no | Confirmation for erasing bidder and cookie matching urls. |
| id | integer | yes | The account id |
| body | object | yes | JSON request body |

### Retrieves the authenticated user's list of accounts.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-accounts-list` (byok)

### Returns the billing information for one account specified by account ID.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-billing-info-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | integer | yes | The account id. |

### Retrieves a list of billing information for all accounts of the authenticated user.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-billing-info-list` (byok)

### Returns the budget information for the adgroup specified by the accountId and billingId.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-budget-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id to get the budget information for. |
| billingId | string | yes | The billing id to get the budget information for. |

### Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-budget-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id associated with the budget being updated. |
| billingId | string | yes | The billing id associated with the budget being updated. |
| body | object | yes | JSON request body |

### Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-budget-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id associated with the budget being updated. |
| billingId | string | yes | The billing id associated with the budget being updated. |
| body | object | yes | JSON request body |

### Add a deal id association for the creative.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-creatives-add-deal` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | integer | yes | The id for the account that will serve this creative. |
| buyerCreativeId | string | yes | The buyer-specific id for this creative. |
| dealId | string | yes | The id of the deal id to associate with this creative. |

### Gets the status for a single creative. A creative will be available 30-40 minutes after submission.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-creatives-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | integer | yes | The id for the account that will serve this creative. |
| buyerCreativeId | string | yes | The buyer-specific id for this creative. |

### Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-creatives-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | integer | no | When specified, only creatives for the given account ids are returned. |
| buyerCreativeId | string | no | When specified, only creatives for the given buyer creative ids are returned. |
| dealsStatusFilter | string | no | When specified, only creatives having the given deals status are returned. |
| maxResults | integer | no | Maximum number of entries returned on one result page. If not set, the default is 100. Optional. |
| openAuctionStatusFilter | string | no | When specified, only creatives having the given open auction status are returned. |
| pageToken | string | no | A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from… |

### Submit a new creative.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-creatives-insert` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Lists the external deal ids associated with the creative.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-creatives-list-deals` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | integer | yes | The id for the account that will serve this creative. |
| buyerCreativeId | string | yes | The buyer-specific id for this creative. |

### Remove a deal id associated with the creative.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-creatives-remove-deal` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | integer | yes | The id for the account that will serve this creative. |
| buyerCreativeId | string | yes | The buyer-specific id for this creative. |
| dealId | string | yes | The id of the deal id to disassociate with this creative. |

### Delete the specified deals from the proposal
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-marketplacedeals-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| proposalId | string | yes | The proposalId to delete deals from. |
| body | object | yes | JSON request body |

### Add new deals for the specified proposal
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-marketplacedeals-insert` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| proposalId | string | yes | proposalId for which deals need to be added. |
| body | object | yes | JSON request body |

### List all the deals for a given proposal
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-marketplacedeals-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pqlQuery | string | no | Query string to retrieve specific deals. |
| proposalId | string | yes | The proposalId to get deals for. To search across all proposals specify order_id = '-' as part of the URL. |

### Replaces all the deals in the proposal with the passed in deals
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-marketplacedeals-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| proposalId | string | yes | The proposalId to edit deals on. |
| body | object | yes | JSON request body |

### Add notes to the proposal
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-marketplacenotes-insert` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| proposalId | string | yes | The proposalId to add notes for. |
| body | object | yes | JSON request body |

### Get all the notes associated with a proposal
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-marketplacenotes-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pqlQuery | string | no | Query string to retrieve specific notes. To search the text contents of notes, please use syntax like "WHERE note.note = "foo" or "WHERE… |
| proposalId | string | yes | The proposalId to get notes for. To search across all proposals specify order_id = '-' as part of the URL. |

### Update a given private auction proposal
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-marketplaceprivateauction-updateproposal` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| privateAuctionId | string | yes | The private auction id to be updated. |
| body | object | yes | JSON request body |

### Retrieves the authenticated user's list of performance metrics.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-performance-report-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id to get the reports. |
| endDateTime | string | yes | The end time of the report in ISO 8601 timestamp format using UTC. |
| maxResults | integer | no | Maximum number of entries returned on one result page. If not set, the default is 100. Optional. |
| pageToken | string | no | A continuation token, used to page through performance reports. To retrieve the next page, set this parameter to the value of… |
| startDateTime | string | yes | The start time of the report in ISO 8601 timestamp format using UTC. |

### Gets a specific pretargeting configuration
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-pretargeting-config-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id to get the pretargeting config for. |
| configId | string | yes | The specific id of the configuration to retrieve. |

### Updates an existing pretargeting config.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-pretargeting-config-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id to update the pretargeting config for. |
| configId | string | yes | The specific id of the configuration to update. |
| body | object | yes | JSON request body |

### Updates an existing pretargeting config. This method supports patch semantics.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-pretargeting-config-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id to update the pretargeting config for. |
| configId | string | yes | The specific id of the configuration to update. |
| body | object | yes | JSON request body |

### Deletes an existing pretargeting config.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-pretargeting-config-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id to delete the pretargeting config for. |
| configId | string | yes | The specific id of the configuration to delete. |

### Retrieves a list of the authenticated user's pretargeting configurations.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-pretargeting-config-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id to get the pretargeting configs for. |

### Inserts a new pretargeting configuration.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-pretargeting-config-insert` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | string | yes | The account id to insert the pretargeting config for. |
| body | object | yes | JSON request body |

### Gets the requested product by id.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-products-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| productId | string | yes | The id for the product to get the head revision for. |

### Gets the requested product.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-products-search` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pqlQuery | string | no | The pql query used to query for products. |

### Get a proposal given its id
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-proposals-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| proposalId | string | yes | Id of the proposal to retrieve. |

### Create the given list of proposals
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-proposals-insert` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Update the given proposal
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-proposals-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| proposalId | string | yes | The proposal id to update. |
| revisionNumber | string | yes | The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The… |
| updateAction | string | yes | The proposed action to take on the proposal. This field is required and it must be set when updating a proposal. |
| body | object | yes | JSON request body |

### Update the given proposal. This method supports patch semantics.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-proposals-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| proposalId | string | yes | The proposal id to update. |
| revisionNumber | string | yes | The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The… |
| updateAction | string | yes | The proposed action to take on the proposal. This field is required and it must be set when updating a proposal. |
| body | object | yes | JSON request body |

### Search for proposals using pql query
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-proposals-search` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pqlQuery | string | no | Query string to retrieve specific proposals. |

### Update the given proposal to indicate that setup has been completed.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-proposals-setupcomplete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| proposalId | string | yes | The proposal id for which the setup is complete |

### Gets the requested publisher profile(s) by publisher accountId.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-pubprofiles-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| accountId | integer | yes | The accountId of the publisher to get profiles for. |

## Example
```
curl "https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-accounts-get" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Ad Exchange Buyer API API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/analytics:googleapis-adexchangebuyer/adexchangebuyer-accounts-get with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Ad Exchange Buyer API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Ad Exchange Buyer API itself also needs your own key from googleapis.com.

### Can AI agents use the Ad Exchange Buyer API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-adexchangebuyer.

### What is the status of the Ad Exchange Buyer API API?
Needs your own provider key (bring your own key)
