Type capital of japan _ and the _ becomes Tokyo, instantly. The countries blank answers country facts from a dataset bundled inside the runtime: no network call, no API key, no latency.
What you type
One blank, many facts. The trigger phrase picks the field: population of, capital of, currency of, region of, language of / languages of, area of, and size of. So population of France _ gives 67.7M, currency of Brazil _ gives Brazilian real (BRL), and area of Russia _ gives 17,098,242 km².
Where the data comes from
A bundled offline table of 250 countries, generated from the open mledoze/countries and samayo/country-json datasets. The table is indexed by common name, two- and three-letter codes, and alternate spellings, so multi-word names and aliases work: united states, usa, uk, south korea all resolve.
Why offline is the design, not a compromise
The blank originally fetched restcountries.com live; that API was fully deprecated in June 2026 and every path started returning a deprecation notice. Bundling the data made the blank immune to that class of failure, and made it instant with no rate limit. Country facts are stable, and the repo ships the generator script to refresh the table when they do shift.
The blank is read-only (cycling is a no-op; a capital city has no next value), and the honest caveat is the flip side of offline: figures like population are as fresh as the bundled snapshot, not live census data. For prose, that trade is almost always right; the answer is instant and can never be down.
Related: The dictionary blank · What is a blank? · How OpenCues stays fast · GitHub repo