Developers and agents
Three GET endpoints, one header, JSON back. There's also an MCP server for coding agents and pipelines, plus plain-text docs written for LLMs.
Try the API
Response appears here.
Reference
| Endpoint | Parameters | Returns |
|---|---|---|
GET /search | q (required), limit 1–50, lat+lon to prefer nearby, geometry=true for street and river lines | results with name, kind, category, town, county, lat, lon, steps, answer; plus confidence, more, near, postcode |
GET /suggest | q (required), limit 1–20, lat+lon | results with name, kind, town, county, lat, lon |
GET /reverse | lat, lon (required), kind (settlement, street, feature, poi), limit 1–50 | postcode, areas, settlement, street, nearby results with distance_m |
Send your key as X-API-Key. Errors are {"error": "…"} with 400, 401, 403 (key not allowed from this site), 429 (slow down; see Retry-After) or 503. Every response has an attribution string that must be shown wherever results are. The full spec is at /openapi.yaml.
Reading results: results marked answer: true are right answers. When several of them have equal steps, they're equally good places with the same name (Newport, say), so ask the user which they meant, taking kind into account. more: true means not all of them fitted.
MCP server
Tools: search_places, describe_location, resolve_places (up to 100 lines at once) and map_link (a link to a map with pins, to show a person where something is). UK only, with no house numbers and no routing.
Docs for LLMs
- /llms.txt: the index, for agents that look for it.
- /llms-full.txt: every page in one file, to paste into a prompt.
- /docs/api.md, /docs/mcp.md, /docs/maps.md: the same pages, separately.
- SKILL.md: an agent skill for "add UK place search and a map to this app". Save it as
.claude/skills/geosearch/SKILL.mdin your project.
Limits
Each key allows 600 requests a minute, with short bursts. This is a proof of concept on one small server, so please don't load-test it. If you need more, ask.