Amazon Ads
Amazon Ads: ads Api/v1/query/advertiser Accounts API
Amazon Ads: ads Api/v1/query/advertiser Accounts API.
MCP tool name
nexscope_data_amazon_ads_developer_proxy_ads_api_v1_query_advertiser_accountsMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "data-amazon-ads-developer-proxy-ads-api-v1-query-advertiser-accounts-1",
"method": "tools/call",
"params": {
"name": "nexscope_data_amazon_ads_developer_proxy_ads_api_v1_query_advertiser_accounts",
"arguments": {
"body": "{}",
"contentType": "application/json",
"method": "POST"
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
connectionId | integer | required | An Amazon Ads connection owned by the authenticated Nexscope user. Example: {} |
method | string | required | The three stages of Ads v1 are all `POST`. Example: {} |
body | string | optional | JSON string; account query can be `{}`, report creation/polling see dedicated reference respectively. Example: {} |
contentType | string | optional | Typically `application/json`. Example: {} |
pollInterval | integer | optional | 5–300 seconds; official recommendation is to poll every minute. Example: 60 |
maxAttempts | integer | optional | 1–120, default waiting window of approximately 10 minutes. Example: 10 |
reportId | string | optional | After passing in, account mapping and creation will be skipped, and existing reports will only be polled. Example: {} |
confirmationToken | string | optional | For mutations, first preview without a token, then confirm using the returned single-use token. Example: {} |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
success | boolean | optional | Whether the entry script completes report processing. Example: {} |
status | string | optional | `PENDING`, `PROCESSING`, `COMPLETED`, `FAILED` or `STILL_PROCESSING`. Example: {} |
reportId | string | optional | Report ID. Example: {} |
reportKind | string | optional | `audience` or `search-impression-share`. Example: {} |
profileId | number | optional | Ads profile used. Example: {} |
advertiserAccountId | string | optional | The Ads v1 account ID mapped to. Example: {} |
fields | array | optional | The actual fixed field combination (as returned). Example: {} |
totalRows | integer | optional | The total number of rows after merging; 0 is a legally empty report. Example: {} |
dataFiles[] | array | optional | Local CSV slice file and row number. Example: {} |
preview[] | array | optional | Results preview. Example: {} |
resumeHint | object | optional | Continue parameters during STILL_PROCESSING. Example: {} |
_cacheable | boolean | optional | Successful results are cached for 24 hours; failed/incomplete is false. Example: {} |
part | integer | optional | Fragment serial number. Example: {} |
path | string | optional | Local CSV file path. Example: {} |
rowCount | integer | optional | The number of rows in this shard. Example: {} |
Examples
Example arguments
{
"body": "{}",
"contentType": "application/json",
"method": "POST"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}