Search boundaries
GET /v1/boundaries/searchFreeNo key neededRead-only
Finds administrative boundaries (countries, states, counties, cities, districts) and postcode areas by name, in any language. Filter by country, kind or admin_level; bias toward a point with near. Free and public. Returns candidates with id, kind, admin_level, country, parents, bbox, centroid and population, but no polygon: pass the id to get_boundary for that.
MCP tool search_boundaries · CLI geocode search-boundaries · RPC POST /v1/ops/search_boundaries
Input
| Field | Type | Description |
|---|---|---|
qquery, required | string | A place name, e.g. "Berlin", "Alameda County", "75011". |
countryquery | string | Limit to countries: ISO 3166-1 alpha-2, comma-separated (e.g. US or de,at,ch). |
kindquery | "country" | "state" | "region" | "province" | "county" | "district" | "municipality" | "city" | "borough" | "ward" | "neighbourhood" | "postal_code" | Only this kind (normalized across countries): country, state, region, province, county, district, municipality, city, borough, ward, neighbourhood, postal_code. |
admin_levelquery | integer | Only this OSM admin_level (2 = country; meaning varies by country below that). |
nearquery | string | lat,lon to prefer results near, e.g. 37.77,-122.42. |
limitquery | integer | At most this many results (1–40, default 10). Default 10. |
Example request
curl "https://geo-coder-service.vercel.app/v1/boundaries/search?q=Alameda%20County&country=US"Example response
Errors
Failures are RFC 9457 problems. Common ones here: 400 invalid_input, 429 rate_limited.