Nexscope logo

Amazon Ads Reporting API

REST API and MCP service documentation generated from server-side API definitions. Responses shown here are the direct payload returned by each API execution.

API selector
API

API overview

Create Amazon Ads reports by omitting reportId, poll by supplying it, or download with a backend documentToken. View request parameters, response fields, and MCP usage.

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

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 .
POSThttps://claw-callback.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.

Slugamazon-ads-reporting
HeadersAuthorization: Bearer nk_...
Content-Type: application/json
Request bodyAPI-specific JSON object.
Response bodyDirect API response payload. No data/result wrapper is added.

Status codes

CodeDescription
200API executed successfully. Body is the direct response payload.
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.

Example request

curl -X POST https://api.nexscope.ai/api/skill-api/v1/skills/amazon-ads-reporting/run \
  -H "Authorization: Bearer nk_xxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{   "reportTypeId": "spCampaigns",   "startDate": "2026-07-01",   "columns": [     "campaignId",     "impressions"   ],   "endDate": "2026-07-31",   "groupBy": [     "campaign"   ],   "connectionId": 123,   "adProduct": "SPONSORED_PRODUCTS" }'
POSThttps://claw-callback.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 direct response payload.

Open tester

Endpoint

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

Request body

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

Request example

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

Response body

Returns safe report lifecycle results without upstream URLs or credentials.

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

Response example

Direct response payload. No extra wrapper is added.

{
  "status": "PENDING",
  "reportId": "report-id",
  "documentToken": "opaque-document-token",
  "content": {},
  "contentType": "application/json"
}

Responses

CodeDescription
200API executed successfully. Body is the direct response payload.
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.

Related APIs

MCP

Use the MCP endpoint when an agent needs to discover and call API tools with JSON-RPC.

GET /api/skill-api/v1/mcp
POST /api/skill-api/v1/mcp
Authorization: Bearer nk_xxxxxxxxxxxxxxxxx
Content-Type: application/json

Call a tool

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

Online test

Execute the current API with your API key and JSON payload.

Try it

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

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