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

Choose an integration method

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"
}'

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
200HTTP request completed. Check JSON code; only 0 indicates business success or acceptance.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.
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

Code example

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

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.contentanyoptional
Content value used by this API operation.
data.contentTypeanyoptional
Content type value used by this API operation.
data.costTimeanyoptional
Cost time value used by this API operation.
data.costTokenanyoptional
Cost token value used by this API operation.
data.dataSnapshotMonthanyoptional
Data snapshot month value used by this API operation.
data.documentTokenanyoptional
Document token value used by this API operation.
data.pageanyoptional
Page value used by this API operation.
data.pageItemCountanyoptional
Page item count value used by this API operation.
data.pageSizeanyoptional
Page size value used by this API operation.
data.reportIdanyoptional
Report id value used by this API operation.
data.sourceToolanyoptional
Source tool value used by this API operation.
data.sourceTypeanyoptional
Source type value used by this API operation.
data.statusanyoptional
Status value used by this API operation.
data.titleanyoptional
Title value used by this API operation.
data.totalPageanyoptional
Total page value used by this API operation.
data.typeanyoptional
Type value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.contentobject | array | stringoptional
Downloaded report content when available.
Example: {}

Any of option 2

NameTypeRequiredDescription
data.contentnulloptional
Content value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.contentTypestringoptional
Downloaded report content type.
Example: application/json

Any of option 2

NameTypeRequiredDescription
data.contentTypenulloptional
Content type value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.costTimeintegeroptional
Execution time reported by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.costTimenulloptional
Cost time value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.costTokenintegeroptional
Token cost reported by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.costTokennulloptional
Cost token value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.dataSnapshotMonthstringoptional
Data snapshot month returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.dataSnapshotMonthnulloptional
Data snapshot month value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.documentTokenstringoptional
Safe opaque token used for download.
Example: opaque-document-token

Any of option 2

NameTypeRequiredDescription
data.documentTokennulloptional
Document token value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.pageintegeroptional
Current page returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.pagenulloptional
Page value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.pageItemCountintegeroptional
Item count on the current page returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.pageItemCountnulloptional
Page item count value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.pageSizeintegeroptional
Page size returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.pageSizenulloptional
Page size value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.reportIdstringoptional
Provider report ID.
Example: report-id

Any of option 2

NameTypeRequiredDescription
data.reportIdnulloptional
Report id value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.sourceToolstringoptional
Provider-specific source tool name.
Example: null

Any of option 2

NameTypeRequiredDescription
data.sourceToolnulloptional
Source tool value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.sourceTypestringoptional
Provider-specific source platform type.
Example: null

Any of option 2

NameTypeRequiredDescription
data.sourceTypenulloptional
Source type value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.statusstringoptional
Report status.
Example: PENDING

Any of option 2

NameTypeRequiredDescription
data.statusnulloptional
Status value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.titlestringoptional
Provider-specific response title.
Example: null

Any of option 2

NameTypeRequiredDescription
data.titlenulloptional
Title value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.totalPageintegeroptional
Total page count returned by the upstream provider.
Example: null

Any of option 2

NameTypeRequiredDescription
data.totalPagenulloptional
Total page value used by this API operation.

Any of option 1

NameTypeRequiredDescription
data.typestringoptional
Provider-specific render or payload type.
Example: null

Any of option 2

NameTypeRequiredDescription
data.typenulloptional
Type value used by this API operation.

Any of option 2

NameTypeRequiredDescription
datanullrequired
Data value used by this API operation.

Responses

CodeDescription
200HTTP request completed. Check JSON code; only 0 indicates business success or acceptance.
400Request JSON or required API parameters are invalid.
401API key is missing, invalid, or cannot be matched to a user.
5xxAPI execution or upstream service failed.

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.