June 10, 2026
Topics are now instant, plus Polish pages with their own URLs
What's new
Topics respond in milliseconds — every time.
GET /v1/topics/:slug(facets, difficulty breakdown, co-occurring tags, samples) and topic-filtered questions (?topic=/?topics_any=on/v1/questionsand/v1/questions/random) used to take several seconds when they missed the cache — the exact pattern quiz apps hit hardest, like?topic=us-presidents&difficulty=expert. These answers are now precomputed every time the question base is updated and served directly, so the worst case equals the best case: single-digit to low double-digit milliseconds. The transient503 topic_detail_timeoutdocumented in the previous release is gone entirely — there is nothing left to time out.Polish pages with their own URLs. The Polish version of the site now lives under
/pl/(home, pricing, data, security, about, comparisons, use cases) instead of a cookie toggling content on shared URLs. The language switcher works reliably across navigation, both languages are independently indexable with correcthreflang, and your language preference is remembered.
Details
- Topic counts, facets, and sample questions refresh together with every content sync — the same freshness model the
/v1/topicslisting already used. Sample questions on a topic page rotate with each sync. - Topic filters now return quiz-ready questions only (
multipleandboolean). Open-endedtext_inputquestions — a tail of a few hundred records — are no longer matched by?topic=; they remain reachable via?type=text_inputwithout a topic filter. - /docs/errors-and-retries updated: the topic-specific
503row is removed. - No action needed — existing keys, requests, and SDK code keep working unchanged.