The envelope
List and report endpoints returninfo and data:
group_by dimensions you asked for plus the metrics you asked for, and nothing else.
Pagination
Passlimit for the page size and, for the next page, cursor set to the previous response’s info.next_cursor. next_cursor is null on the last page.
A cursor belongs to the query that produced it. Changing anything except limit — dates, filters, grouping — and reusing the cursor returns 400 invalid_cursor rather than a silently wrong page.
Dates
start_dateandend_dateare inclusive calendar days,YYYY-MM-DD.- Answer reports use UTC days, the days RankRaft’s daily scans are filed under. Answers exist once a day, so finer time slices do not exist.
- Traffic reports (
/v1/reports/bots,/v1/reports/referrals) take an optional IANAtimezone(defaultUTC) for day boundaries and fordateandhourbuckets. - Answer reports span at most 92 days; traffic reports at most 400 days.
- Timestamps in responses are ISO 8601 in UTC (
2026-10-16T09:00:00.000Z).
Numbers
visibility_scoreis 0–100, as on the dashboard.- Rates and shares (
mention_rate,citation_rate,prompt_coverage,share_of_voice,citation_share, sentiment shares,verified_share) are fractions from 0 to 1. average_positionis 1-based (1 = named first) andnullwhen the brand was never named.- To compare two periods, make two requests and subtract. Never average daily rows to get a period figure; ask for the period directly.