# Changelog

Contract changes, newest first. A change is listed here when a field's meaning, presence or type changes for callers, or when the field reference described one wrongly; additions that only fill in a previously empty field are not.

## 2026-09-04

rank on /v1/search items, /v1/serp/history points and /v1/domains/gap ranks now means the position among results of the same type -- the organic rank on organic results. It counted every block the page carried -- ads and SERP features included -- ahead of organic results, so an AI overview above your first organic result made it rank 3. Single-instance blocks (AI overview, featured snippet, People Also Ask) are always rank 1.

/v1/serp/history best_rank counts organic points only.

The "A rank tracker in a cron job", "Let an LLM pick what to optimize next" and "Track page performance over time" recipes now filter on type == "organic"; copy the updated snippets if you built on the old ones.

Field reference corrections on /v1/search: total_results can be null or 0; items[].price is {amount, currency, displayed}; items[].sitelinks[].type is "link"; items[].date is display text, not an ISO date.

featured_snippet stops appearing in result_types on search results pages that show a knowledge panel. It was being reported there for a knowledge panel fact row and for an expanded People Also Ask answer, and neither one is a featured snippet.
