get_amazon_campaign_performance

Amazon Ads Read

Amazon Ads performance report (Reporting v3): impressions, clicks, CTR, spend, purchases, sales, ACOS, ROAS — totals plus per-campaign breakdown

Endpoint

POST https://api.adspirer.ai/api/v1/tools/get_amazon_campaign_performance/execute

Headers

Description

Amazon Ads performance report (Reporting v3): impressions, clicks, CTR, spend, purchases, sales, ACOS, ROAS — totals plus per-campaign breakdown. Works for Sponsored Products or Sponsored Brands. Report generation takes ~10-60s.

Request body

All tool arguments are wrapped in an arguments object.

FieldTypeDescription
profile_idstring optionalAmazon Ads profile ID (advertiser account). Omit to use the user's selected account. Find IDs with list_amazon_profiles.
offsetinteger optionalRow offset (default 0). Paging is capped at the top ~5,000 by spend AND each page is a billed call — prefer FILTERS over paging to reach specific rows. default: 0
limitinteger optionalRows per page (default/max 1000). Summary totals always cover ALL matching rows regardless of this. default: 1000
campaign_idstring optionalOnly rows in this campaign ID.
campaign_name_containsstring optionalOnly campaigns whose name contains this text (case-insensitive).
searchstring optionalSubstring match on the entity (search term / keyword / ASIN), case-insensitive.
match_typestring optionalFilter to a match type (EXACT / PHRASE / BROAD).
min_spendnumber optionalOnly rows that spent at least this much.
max_spendnumber optionalOnly rows that spent at most this much.
min_salesnumber optionalOnly rows with at least this much sales.
min_clicksinteger optionalOnly rows with at least this many clicks.
min_impressionsinteger optionalOnly rows with at least this many impressions.
min_acosnumber optionalOnly rows with ACOS% at or above this (finds inefficient spend). Rows with no sales have no ACOS and are excluded — use zero_sales for those.
max_acosnumber optionalOnly rows with ACOS% at or below this (finds efficient spend).
min_roasnumber optionalOnly rows with ROAS at or above this.
max_roasnumber optionalOnly rows with ROAS at or below this.
zero_salesboolean optionalOnly rows that spent with ZERO sales (wasted spend). Combine with min_spend to set a threshold.
sort_bystring optionalSort key: spend (default) | sales | acos | roas | clicks | impressions.
sort_dirstring optionalasc | desc (default desc; use asc with sort_by=acos for most-efficient-first).
start_datestring optionalYYYY-MM-DD (default: last 30 days)
end_datestring optionalYYYY-MM-DD (default: yesterday)
ad_productstring optional'SPONSORED_PRODUCTS' or 'SPONSORED_BRANDS' default: "SPONSORED_PRODUCTS"
group_by_ad_groupboolean optionalBreak out by ad group as well as campaign default: false

Example request

{
  "arguments": {
    "profile_id": "string",
    "offset": 0,
    "limit": 1000,
    "campaign_id": "string",
    "campaign_name_contains": "string",
    "search": "string"
  }
}

Example responses

200 — Success

{
  "success": true,
  "data": {
    "text": "(tool-specific textual output for get_amazon_campaign_performance)",
    "quota": {
      "used": 42,
      "limit": 150,
      "tier": "plus",
      "period_end": "2026-05-01"
    }
  },
  "tool": "get_amazon_campaign_performance"
}

400 — Tool-level error (bad arguments / multi-account selection)

{
  "success": false,
  "error": "You have 25 meta_ads accounts connected. Please specify which account to use by passing the ad_account_id parameter:\n  - Acme Holdings (ad_account_id=\"act_123456789\")\n  - Acme EU (ad_account_id=\"act_987654321\")",
  "is_error": true,
  "tool": "get_amazon_campaign_performance"
}

402 — Quota exhausted

{
  "success": false,
  "error": "\ud83d\udea8 Monthly limit reached (150/150 tool calls on Plus tier).\nUpgrade to Pro at https://adspirer.ai to keep building.",
  "is_error": true,
  "tool": "get_amazon_campaign_performance",
  "quota": {
    "used": 150,
    "limit": 150,
    "tier": "plus",
    "period_end": "2026-05-01",
    "upgrade_url": "https://adspirer.ai"
  }
}

Try it live


Adspirer REST API — get an API key at adspirer.ai/keys · adspirer.ai