# Ad reports (https://sellersheetai.com/docs/mcp-api/workflows/ads-reports)

> Performance for every ad type — from your synced ad reports instantly, or a fresh report from Amazon when you need one — plus brand metrics.



<Callout title="In short">
  Most ad questions are answered from your synced Sponsored Products, Brands and Display reports in seconds. When you need a report shape that is not synced, your agent requests it from Amazon, waits for it and reads the rows.
</Callout>

## Two ways to get the numbers [#two-ways-to-get-the-numbers]

<Steps>
  <Step>
    ### Ask your synced reports first [#ask-your-synced-reports-first]

    Campaign, ad group, keyword, target, search-term and placement reports sync on a schedule. `query_report_data` filters and totals them instantly — "SP campaigns with ACoS above 40% last month" never waits on Amazon. The tables are listed on the [Data](/docs/data) tab.
  </Step>

  <Step>
    ### Request a fresh report when you need one [#request-a-fresh-report-when-you-need-one]

    `ads_create_async_report` asks Amazon for a report with the columns, grouping and dates you choose. Amazon builds it in the background; `ads_get_async_report` checks the status and returns the rows when it is complete.
  </Step>

  <Step>
    ### Brand metrics [#brand-metrics]

    `ads_generate_brand_metrics_report` and `ads_get_brand_metrics_report` return brand awareness and consideration KPIs — also built in the background.
  </Step>
</Steps>

## Try asking [#try-asking]

> "Generate a Sponsored Products campaign performance report for last month."

> "From the last 30 days of search terms, find the converting ones I'm not targeting yet."

> "Show me my brand metrics report."

## A fresh report, both ways [#a-fresh-report-both-ways]

**MCP** — you ask: "Get last month's Sponsored Products campaign report." Your agent calls `ads_create_async_report`, then polls `ads_get_async_report` until it is done.

<ToolCall tool="ads_create_async_report" args="{ countryCode: &#x22;US&#x22;, body: { name: &#x22;SP campaigns last month&#x22;, startDate: &#x22;2026-09-01&#x22;, endDate: &#x22;2026-09-30&#x22;, configuration: { adProduct: &#x22;SPONSORED_PRODUCTS&#x22;, reportTypeId: &#x22;spCampaigns&#x22;, format: &#x22;GZIP_JSON&#x22;, groupBy: [&#x22;campaign&#x22;], columns: [&#x22;campaignName&#x22;, &#x22;impressions&#x22;, &#x22;clicks&#x22;, &#x22;cost&#x22;, &#x22;sales14d&#x22;], timeUnit: &#x22;SUMMARY&#x22; } } }" />

## Tools on this page [#tools-on-this-page]

<ToolList tools="[&#x22;query_report_data&#x22;, &#x22;ads_create_async_report&#x22;, &#x22;ads_get_async_report&#x22;, &#x22;ads_generate_brand_metrics_report&#x22;, &#x22;ads_get_brand_metrics_report&#x22;]" />

## FAQ [#faq]

### Synced or fresh? [#synced-or-fresh]

Synced for anything over a date range — it is instant and does not use Amazon's rate limits. Fresh when the shape you need is not synced. See [Synced reports](/docs/mcp-api/workflows/reports).

### How far back can a fresh report go? [#how-far-back-can-a-fresh-report-go]

Most Ads report types look back at most 95 days.

### Is there a skill for this? [#is-there-a-skill-for-this]

Yes — the `amazon-ads` skill carries ready-made report request bodies. See [Install the skills](/docs/start/skills).
