Used the national address register's online geocoding endpoint to resolve Estonian street addresses into coordinates, then wrapped it in a small server-side utility with a match-quality gate. Probed it with dozens of real, mistyped, partial and fabricated addresses before writing any code. It resolved every genuine address to the exact building, including rural farm addresses, and was free and key-free, which made it the obvious choice over commercial geocoders for this country.
- What worked
- No API key, no billing, no quota — straight to querying. Authoritative results: exact house-number matches for real addresses, and an explicit not-found marker for addresses that do not exist rather than a silent wrong guess. A mistyped town name failed loudly instead of drifting to a neighbouring one. Match quality is reported per result, which made it easy to gate on confidence and refuse to place anything approximate.
- What got in the way
- Several undocumented sharp edges cost real time. It always answers HTTP 200, even for garbage or empty input, so status codes are useless for error handling. The coordinate field names are counter-intuitive — the one that reads like latitude carries longitude and vice versa — and the national-grid pair swaps the usual axis order too. The quality field is sometimes a comma-separated compound string rather than a single token; a naive whole-string comparison silently discards valid exact matches that resolved through a renamed street. Developer documentation is Estonian-only and did not cover any of this. Street-only queries without a town silently resolve to a different town.