# ads_get_async_report (https://sellersheetai.com/docs/mcp-api/tools/ads_get_async_report)

> Poll an Amazon Advertising report's status; auto-downloads and returns the rows in data.report once status=COMPLETED.

Access: **READ** · toolset amazon_ads · family ads.reporting

Amazon Ads API · getAsyncReport · GET /reporting/reports/{reportId} Docs: https://advertising.amazon.com/API/docs/en-us/offline-report-prod-3p#tag/Asynchronous-Reports/operation/getAsyncReport

## Call it

MCP tool call:

```json
{
  "name": "ads_get_async_report",
  "arguments": {
    "store": "myStore-US",
    "countryCode": "<countryCode>",
    "reportId": "<reportId>"
  }
}
```

Tool API (early access — contact us):

```bash
curl -X POST https://api.sellersheetai.com/api/v1/tools/ads_get_async_report \
  -H "Authorization: Bearer $SELLERSHEET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"store":"myStore-US","countryCode":"<countryCode>","reportId":"<reportId>"}'
```

## Arguments

| Name | Type | Required | Description |
|---|---|---|---|
| `store` | string | yes | the store ref `<store>-<CC>` (name-country, e.g. 'myStore-US') — one of get_user_context's store_refs, verbatim. |
| `countryCode` | string | yes | the Ads profile's 2-letter country code (e.g. 'US'). |
| `reportId` | string | yes | data.reportId from ads_create_async_report. |

## Result

- `data.status` — PENDING | PROCESSING | COMPLETED | FAILED.
- `data.report` — the rows (a list of dicts, one per groupBy dimension, e.g. campaign/ad group/keyword) once COMPLETED, else null.

## Gotchas

- On FAILED (Amazon's failureReason is in notification.message), create a new report with corrected params rather than retrying the same reportId.