Dimensions
Split a report into rows by time, engine, country, prompt, domain, or page.
Dimensions split a report into groups, and the report returns 1 row per group. Send up to 3 dimensions in the dimensions parameter, separated by commas:
?dimensions=week,engineEach dimension adds 1 or more columns to every row:
| Dimension | Columns it adds | Reports |
|---|---|---|
day | day, for example "2026-09-14" | all 3 |
week | week: the date of the Monday that starts the ISO week | all 3 |
month | month: the date of the 1st day of the month | all 3 |
engine | engine | all 3 |
country | country, in capital letters | all 3 |
prompt | prompt_id, prompt_text | all 3 |
domain | domain, is_own_domain, domain_rating | citations |
url | url, domain, is_own_domain, domain_rating, title, content_type, content_subtype, platform | citations |
Rules
- You can send up to 3 dimensions, and each one only once.
- You can send only 1 of
day,week, andmonth. - With no dimension, the visibility report has 1 row for the whole date range, and the brands report has 1 row per brand.
- The citations report always splits by
domainor byurl. If you send neither, it addsdomain, which does not count toward the 3. Sending bothdomainandurlis an error.meta.dimensionsshows the dimensions the report used.
A request that breaks these rules gets status 400 with the error code dimension_invalid and param: "dimensions".
Example
Daily visibility in the US, for a chart:
curl -G https://api.lumirank.ai/v1/reports/visibility \
-H "Authorization: Bearer $LUMIRANK_API_KEY" \
-d dimensions=day -d country=US