LLM versus geocoder

A language model will always give you coordinates. The question is how far they are from the address. Here is what published studies measured, and how to let a model call a geocoder instead.

Know the limits AI agents Research

What the studies found

StudyWhat was measuredFinding
Abbasi et al. 2025, arXiv 2506.00203GPT-4o and Gemini 2.0 Flash: coordinates of a known monument, elevations and regions of Austriasystematic and random errors in the coordinates of one landmark; neither model reconstructed the federal states without misclassifications
GeoHaluBench, Wang et al. 2025, arXiv 2507.1958620 language models on facts from a geographic knowledge graphgeospatial hallucinations across all 20; a dedicated alignment step improved the benchmark score by 29.6 %
arXiv 2512.14228 (December 2025)a model fine-tuned to georeference written locality descriptions of biological collections65 % of records within 10 km on average; best region 85 % within 10 km and 67 % within 1 km
MESSY STREETS, arXiv 2609.01612 (June 2026)geocoders, not models, on verbatim web addressescommercial geocoders ahead of open-source ones by up to 49 points of recall, mostly because they return a candidate for non-canonical addresses

Read November 8, 2026, from each paper's abstract on arXiv. A kilometre is a good answer for a collection record and a wrong one for a delivery: an address needs metres.

Why a model is not a geocoder

  • A model has no list of the houses of a street. It writes coordinates that look right, and it writes them as confidently when they are wrong.
  • It cannot say “not found”: a geocoder that returns nothing is telling you something.
  • The same address can get a different point on another day or another model version.

Use both: the model reads, the geocoder finds

Let the model do what it is good at, reading a messy line or a whole e-mail, and give it a geocoder as a tool. With GridPin the tool runs on the same machine: MCP for Claude, Cursor and other MCP clients, a LangChain package, and tools for LlamaIndex, CrewAI, PydanticAI, smolagents and the OpenAI Agents SDK. When the street exists in several towns and the address names none, the tool answers with a question to put to the user instead of a guess; when it finds nothing, it says why.