Essentials
Pagination & ranges
Pages
Lists take page (from 1) and page_size (up to 100), and answer with a page object saying where you are:
"page": { "page": 1, "page_size": 50, "total": 128 }total counts the rows after any filters, so paging is while page * page_size < total. Defaults are 50 rows, except content opportunities at 25. Engine detail is fixed at 25 and takes no page_size.
Ranges and the latest run
Endpoints that measure a window take range: 7d, 30d or 90d. Two things about it are worth knowing:
- It is anchored to your newest run, not to today. On a plan that sweeps every other day, a
7dwindow still contains the latest results rather than going empty on an off day. - Deltas compare it with the window immediately before it —
7dagainst the 7 days before that.
Other endpoints report the latest run instead: every answer recorded since the start of the day your newest answer landed on. Engine detail, competitor standings, gaps and results all work that way, which is why their numbers can differ from a 7d window of the same project.
How far back the data goes
History is limited by the plan’s retention_days (read it from Get plan and usage). Older results are hidden from every read, never deleted — move up a plan and the history reappears.
Score versions
Scores carry the version of the formula that produced them, e.g. 2.0.0+r3 on every trend point. When the scoring or the judge changes, the version changes with it.
Never trend across versions
A chart that mixes twoscore_versionvalues shows a step that no one caused. Group by version, or filter to the current one — which is what the dashboard’s charts do.Units
| Kind of number | Unit |
|---|---|
| Scores and rates — GEO score, visibility, win rate, citation rate, sentiment shares | 0–100, one decimal |
A single answer’s quality | 0–1 (0.5 and above is a win) |
Anything ending _delta or _pp | percentage points, or score points |
net_score (sentiment) | −100 to 100 |
coverage, confidence, similarity, correlation | 0–1 (correlation −1 to 1) |
| Money | rupees a month, before GST |