Nexscope

Amazon Ads Reporting

Create advertising reports, check their progress, and download completed reports. Call the Amazon Ads Reporting API via REST or MCP from 10 credits per call.

Cost10 credits / call
Try online
POST · https://api.nexscope.ai/api/skill-api/v1/skills/amazon-ads-reporting/runMCP · nexscope_amazon_ads_reporting
API

What this API does

Create advertising reports, check their progress, and download completed reports. The request accepts connectionId, reportId, reportTypeId, adProduct, groupBy. Its documented result includes content, contentType, dataSnapshotMonth, documentToken, page, pageItemCount, pageSize, reportId.

Amazon Ads Reporting API use cases

Review advertising evidence

To review advertising evidence, a marketplace analyst submits connectionId and reportId to Amazon Ads Reporting. The returned content, contentType, dataSnapshotMonth help inspect the advertising information returned for the request.

Prepare an advertising research brief

A marketplace analyst uses Amazon Ads Reporting with connectionId and reportId to prepare an advertising research brief. The returned content, contentType, dataSnapshotMonth help assemble evidence before changing an advertising workflow.

Compare campaign inputs and results

For this workflow, a marketplace analyst calls Amazon Ads Reporting with connectionId and reportId to compare campaign inputs and results. The result helps compare campaign evidence without assuming performance improvements.

Amazon Ads Reporting API FAQ

What does the Amazon Ads Reporting API return?

Create advertising reports, check their progress, and download completed reports. The documented output includes content, contentType, dataSnapshotMonth, documentToken, page, pageItemCount, pageSize, reportId. It corresponds to the supplied connectionId, reportId, reportTypeId, adProduct, groupBy. Optional fields can be absent; a missing value should not be interpreted as a measured zero. Example values illustrate the response shape, rather than live account results.

How many credits does the Amazon Ads Reporting API cost?

The current documented cost is 10 credits / call. This is the same cost shown at the top of this page. If a range or estimate is displayed, the final charge depends on the request. Review your available credits and the pricing page before calling the API, and check API usage records for the actual charge.

How do I call the Amazon Ads Reporting API from my app or an MCP client?

Send a POST request to https://api.nexscope.ai/api/skill-api/v1/skills/amazon-ads-reporting/run with your API key as a Bearer token and the JSON inputs shown in API integration. In a compatible MCP client such as Claude or Cursor, connect Nexscope and call nexscope_amazon_ads_reporting. Use the MCP arguments shown in the MCP guide, or switch Online test to MCP to review its request before adding it to your app.

View plans and creditsConnect this API with MCP

Try this API
Endpoint
https://api.nexscope.ai/api/skill-api/v1/skills/amazon-ads-reporting/run
MCP method
nexscope_amazon_ads_reporting

Step 1 of 3 · Authenticate

Authentication

All run endpoints require a user API key. Send it as a bearer token in the Authorization header.

Authorization: Bearer nk-xxxxxxxxxxxxxxxxx
Missing or invalid API keys return an authentication error. Manage keys from .

Step 2 of 3 · Send a request

POSThttps://api.nexscope.ai/api/skill-api/v1/skills/amazon-ads-reporting/run

Run an API

Create requires startDate/endDate plus configuration, or startDate/endDate plus reportTypeId/adProduct/groupBy/columns. Poll requires reportId. Download requires documentToken.

Example request

Replace YOUR_API_KEY, then run this command in your terminal.

curl -X POST 'https://api.nexscope.ai/api/skill-api/v1/skills/amazon-ads-reporting/run' \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "adProduct": "SPONSORED_PRODUCTS",
  "columns": [
    "campaignId",
    "impressions"
  ],
  "connectionId": 123,
  "endDate": "2026-07-31",
  "groupBy": [
    "campaign"
  ],
  "reportTypeId": "spCampaigns",
  "startDate": "2026-07-01"
}'

Code example

{
  "adProduct": "SPONSORED_PRODUCTS",
  "columns": [
    "campaignId",
    "impressions"
  ],
  "connectionId": 123,
  "endDate": "2026-07-31",
  "groupBy": [
    "campaign"
  ],
  "reportTypeId": "spCampaigns",
  "startDate": "2026-07-01"
}

Step 3 of 3 · Inspect the result

Check the response

Read code for the request status and data for the result. Open the parameter and response reference for the full field definitions.

HTTP status codes

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.
POSThttps://api.nexscope.ai/api/skill-api/v1/skills/amazon-ads-reporting/run

Run this API

Send a JSON request to execute this API and receive the documented response payload.

Endpoint

MethodPOST
Pathhttps://api.nexscope.ai/api/skill-api/v1/skills/amazon-ads-reporting/run
AuthBearer API key
Content-Typeapplication/json

Amazon Ads operation guide

This endpoint supports three report stages with an owned connectionId: omit reportId and documentToken to create a report, provide reportId to poll it, or provide a backend-issued documentToken to download a completed report. Creation needs startDate and endDate, plus a complete configuration or the documented report type, ad product, grouping, and columns.

Poll an existing report instead of creating another request while it is pending. Download tokens are opaque; provider URLs and credentials are not returned.

Request parameters

NameTypeRequiredDescription
connectionIdintegerrequired
Owned Amazon Ads connection ID.
Example: 123
reportIdstringoptional
Existing report ID; when present the API polls that report.
Example: report-id
reportTypeIdstringoptional
Report type required by a new report unless configuration supplies it.
Example: spCampaigns
adProductstringoptional
Ad product required by a new report unless configuration supplies it.
Example: SPONSORED_PRODUCTS
groupByarrayoptional
Report grouping fields.
Example: [ "campaign" ]
columnsarrayoptional
Requested report columns.
Example: [ "campaignId", "impressions", "clicks" ]
namestringoptional
Optional report name.
Example: Campaign report
startDatestringoptional
Inclusive report start date for a new report.
Example: 2026-07-01
endDatestringoptional
Inclusive report end date for a new report.
Example: 2026-07-31
timeUnitstringoptional
Optional report time unit.
Example: DAILY
formatstringoptional
Optional report format.
Example: GZIP_JSON
filtersarrayoptional
Optional report filters.
Example: []
configurationobjectoptional
Complete Amazon Ads reporting configuration; may replace reportTypeId/adProduct/groupBy/columns.
Example: {}
documentTokenstringoptional
Backend-issued token for downloading a completed report.
Example: opaque-document-token

Response example

Platform response envelope. code 0 indicates success or acceptance; data contains the business result.

{
  "code": 0,
  "cost": "-1",
  "data": {
    "content": {},
    "contentType": "application/json",
    "documentToken": "opaque-document-token",
    "reportId": "report-id",
    "status": "PENDING"
  },
  "msg": null,
  "time": "2026-01-01 00:00:00",
  "traceId": null,
  "ts": "0"
}

Response fields

NameTypeRequiredDescription
codeintegerrequired
0 means accepted or successful; nonzero is a platform error.
coststringrequired
Elapsed milliseconds, never credits; -1 outside web requests.
dataanyrequired
Data value used by this API operation.
msgstring | nullrequired
Msg value used by this API operation.
timestringrequired
Server local time: yyyy-MM-dd HH:mm:ss.
traceIdstring | nullrequired
Trace id value used by this API operation.
tsstringrequired
Epoch milliseconds.

Any of option 1

NameTypeRequiredDescription
dataobjectrequired
Data value used by this API operation.
data.contentobjectoptional
Downloaded report content when available.
Example: {}
data.contentTypestringoptional
Downloaded report content type.
Example: application/json
data.costTimeintegeroptional
Execution time reported by the upstream provider.
Example: null
data.costTokenintegeroptional
Token cost reported by the upstream provider.
Example: null
data.dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.
Example: null
data.documentTokenstringoptional
Safe opaque token used for download.
Example: opaque-document-token
data.pageintegeroptional
Current page returned by the upstream provider.
Example: null
data.pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
Example: null
data.pageSizeintegeroptional
Page size returned by the upstream provider.
Example: null
data.reportIdstringoptional
Provider report ID.
Example: report-id
data.sourceToolstringoptional
Provider-specific source tool name.
Example: null
data.sourceTypestringoptional
Provider-specific source platform type.
Example: null
data.statusstringoptional
Report status.
Example: PENDING
data.titlestringoptional
Provider-specific response title.
Example: null
data.totalPageintegeroptional
Total page count returned by the upstream provider.
Example: null
data.typestringoptional
Provider-specific render or payload type.
Example: null

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

Responses

CodeDescription
200Default HTTP response for both success and many business errors. Only outer JSON code 0 indicates success or asynchronous acceptance; inspect data for the result.
429Execution admission rate limit; honor Retry-After when present.
503Execution admission is temporarily unavailable; honor Retry-After when present.
Opt-inX-Nexscope-Http-Status: semantic maps controller-handled business errors to HTTP status on run and task routes. Pre-authentication failures, such as a missing API key (code 11209), may still return HTTP 200 before this mapping. Always check the outer JSON code; malformed requests and infrastructure failures may also return non-200 HTTP responses.

Data source, freshness, and limitations

Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.

Step 1 of 2 · Connect your MCP client

MCP

V2 recommended

Connect remote agents through the standard MCP 2025-11-25 Streamable HTTP endpoint. Use OAuth 2.1 Authorization Code with PKCE, or an API key for compatibility.

POST https://api.nexscope.ai/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/json
Authentication

OAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.

Step 2 of 2 · Call the tool

Call a tool

{
  "jsonrpc": "2.0",
  "id": "tool-call-1",
  "method": "tools/call",
  "params": {
    "name": "nexscope_amazon_ads_reporting",
    "arguments": {
      "adProduct": "SPONSORED_PRODUCTS",
      "columns": [
        "campaignId",
        "impressions"
      ],
      "connectionId": 123,
      "endDate": "2026-07-31",
      "groupBy": [
        "campaign"
      ],
      "reportTypeId": "spCampaigns",
      "startDate": "2026-07-01"
    }
  }
}

Legacy MCP v1

Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.

GET / POST /mcp/legacy

Online test

Execute the current API with your API key and JSON payload. Online tests use this site's configured API environment; the Endpoint and copyable examples use the public integration address.

10 credits / callAPI usage records

Try it

Send a real request with the same contract shown in the reference.

Endpoint
/api/skill-api/v1/skills/amazon-ads-reporting/run
MCP method
nexscope_amazon_ads_reporting
cURL
curl -X POST \
  https://api.nexscope.ai/api/skill-api/v1/skills/amazon-ads-reporting/run \
  -H "Authorization: Bearer nk-..." \
  -H "Content-Type: application/json" \
  -d '{ "adProduct": "SPONSORED_PRODUCTS", "columns": [ "campaignId", "impressions" ], "connectionId": 123, "endDate": "2026-07-31", "groupBy": [ "campaign" ], "reportTypeId": "spCampaigns", "startDate": "2026-07-01" }'
Response
No response yet. Run the request to see the response here.