Product
Changelog.
User-facing changes to the API, docs, and service, newest first.
Category browse pages reach all of the first 1,000 places
- Category browse accepts any page with offset + limit up to 1,000, so following meta.next_offset with any limit no longer runs into a rejected offset near the end.
- meta.next_offset is null once the next page would pass the first 1,000 places. If more places match, the response carries a pagination_limit_reached warning instead of looking like the end of the results.
Uptime checks moved to a dedicated monitor
- The website and dashboard are checked every 5 minutes by a separate Cloudflare Worker, with Sentry alerts on failures and if the monitor itself stops. See status.
Better ranking for category searches
- When q is read as a category, results are ranked by confidence band first, then distance, so low-confidence listings geocoded to a city center no longer outrank verified places nearby.
- Category browse windows filter by exact great-circle distance, which fixes explicit category browses that could come back empty near the edge of the radius.
Search names and categories together
- A q that names a kind of place, such as pharmacy or fire station, also searches that category. meta.interpreted_as explains the reading, and mode=name opts out.
- Each result carries a match field: name, address, category, or name_and_category.
- A search with no results is retried once with a relaxed q (legal suffixes, asides, and connector words removed) and flagged with a query_relaxed warning.
Empty-result explanations and a categories endpoint
- New GET /v1/categories lists the category vocabulary with a text filter, so you can look up valid slugs instead of guessing.
- Empty first pages explain themselves: unknown_category suggests close category slugs, and no_results_within_radius says how far away the closest match is.
- quota_exhausted errors include quota_limit, reset_at, upgrade_url, and a Retry-After header, and every error carries a docs_url.
- A per-account cap on searches in flight returns an unbilled 429, so one busy account cannot slow down everyone else.
- The hosted MCP server gained category search and a list_categories tool.
Fewer timeouts in dense areas
- Text and category searches are bounded to rows near the requested point before reading place data, and queue wait now counts toward the query deadline.
Faster category browse
- Category browse uses a normalized category index, fixing timeouts on broad categories.
Global coverage
- Every country where Overture has indexable Places data now has at least one documented supported query path. Quality still varies by country.
Source release in health checks
- The public Places API health endpoint reports the Overture source release being served.