Get an analytics report
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.
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.
AuthorizationBearer <token>A secret, trusted or limited token. See Authentication.
name*stringThe report's name, from List the analytics reports.
from?stringThe 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.
dateto?stringThe last day, yyyy-MM-dd in UTC, included. At most 1,096 days after from.
datecurrency?stringFor money reports: a 3-letter currency code. Default USD. Amounts in other currencies are converted; items with no rate are counted in unconverted.
format?"csv"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.
"csv"The report.
- response
One analytics report for your shop, as rows of named columns.
object?"report"Always report.
"report"name?stringThe report's name.
account_id?stringYour shop. Always the token's own shop.
test?booleanTrue for test data (a test token), false for live data.
date_start?|The first day covered, in UTC. Null for a report with no period.
datedate_end?|The last day covered, in UTC. Null for a report with no period.
datecurrency?|The currency of the money columns. Null for a report that holds no money.
columns?array<string>The column names, in order. Each report's columns are listed in the Reports API guide.
data?array<>The rows, each an object keyed by column name.
truncated?booleanTrue when there were more than 100,000 rows. Ask for a shorter period.
ready?booleanFalse for a new shop whose reports are still being prepared (within an hour of its first data).
curl -X GET 'https://api.comecero.com/api/v1/reports/string'{ "object": "report", "name": "business-mrr", "account_id": "AB1234", "test": true, "date_start": "2026-08-01", "date_end": "2026-10-31", "currency": "USD", "columns": [ "account_id", "month_end", "mrr", "arr", "subscriptions", "unconverted" ], "data": [ { "account_id": "AB1234", "month_end": "2026-08-31", "mrr": 1250, "arr": 15000, "subscriptions": 25, "unconverted": 0 }, { "account_id": "AB1234", "month_end": "2026-09-30", "mrr": 1300, "arr": 15600, "subscriptions": 26, "unconverted": 0 } ], "truncated": false, "ready": true}Get the tax report GET
Totals your taxed sales per currency, tax country and state or province: subtotal, shipping, tax, total and total less tax. Only payments and refunds with tax above zero are counted, so use it for tax returns, not for total sales. With no dates, the report covers last month in the report time zone. A `date_end` later than today is cut back to the end of today, and a `date_start` later than today is refused. The range is read against the date each transaction completed. Amounts are in the payment currency, or the settlement currency with `currency_type=settlement`. They are never converted. Needs a secret or trusted token with permission to read reports.
Overview
Next Page