# Get an analytics report (/api/reports/get-analytics-report)

`GET https://api.comecero.com/api/v1/reports/{name}`

Reads one analytics report for your shop, such as `business-mrr`, `business-subscription-months` (churn) or `storefront-overview`. The shop and the mode come from your token: a live token reads live data, a test token reads test data. Every report and its columns are listed in the [Reports API guide](/docs/reports/reports-api). Business and usage numbers update every hour, cart counts once a day, storefront numbers as visits happen. The same report for the same period is answered from memory for 15 minutes. At most 100,000 rows: `truncated` is `true` when there were more. `ready` is `false` for a new shop whose reports are still being prepared. Needs a secret API key or a signed-in dashboard user with permission to read reports. Never a limited token. About 120 report requests a minute per token (40 at once); over that, `429` with `Retry-After`. When the analytics server is busy or slow, an error of type `external_server_error` or `external_server_timeout` answers: try again, or ask for a shorter period.

## Parameters

- `name` (path, required): The report's name, from [List the analytics reports](/api/reports/list-analytics-reports).
- `from` (query): The first day, `yyyy-MM-dd` in UTC, included. Left out: the report's usual number of days up to today. A report with no period ignores it.
- `to` (query): The last day, `yyyy-MM-dd` in UTC, included. At most 1,096 days after `from`.
- `currency` (query): For money reports: a 3-letter currency code. Default `USD`. Amounts in other currencies are converted; items with no rate are counted in `unconverted`.
- `format` (query): `csv` returns the same rows as CSV with a header line. A text cell that starts with `=`, `+`, `-` or `@` gets a `'` in front, so a spreadsheet never runs it.

Responses: 200, 400, 401, 403, 404.

Full schemas: operation `get_analytics_report` in /openapi.json.