Forward geocoding – search locations by name or address
Search for locations by name, address, or place using OpenStreetMap Nominatim. Returns coordinates and details for matching locations. Worldwide coverage. The endpoint is a pass-through to the upstream Nominatim instance, so any Nominatim parameter (e.g. viewbox, bounded, extratags, namedetails, polygon_geojson) is forwarded as-is; only the parameters most relevant to typical use are documented here.
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
q | string | ✓ | Search query (free-form address or place name) | London Eye |
format | string | Output format Values: json, jsonv2, xml, geojson, geocodejson Default: jsonv2 | jsonv2 | |
limit | integer | Maximum number of results to return Default: 10 | 5 | |
addressdetails | integer | Include detailed address breakdown (0 or 1) Values: 0, 1 Default: 0 | 1 | |
countrycodes | string | Comma-separated ISO 3166-1alpha2 country codes to limit search | gb,us | |
accept-language | string | Preferred language for results (ISO 639-1 codes) | en |
Try It Out
https://capi.busmaps.com:8443Required parameters only
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/nominatim/search?q=London Eye"Common usage with optional parameters
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/nominatim/search?q=London Eye&limit=5"Popular parameters
curl -H "capi-key: Bearer YOUR_API_KEY" \
-H "capi-host: busmaps.com" \
"https://capi.busmaps.com:8443/nominatim/search?q=London Eye&format=jsonv2&limit=5&addressdetails=1&countrycodes=gb,us&accept-language=en"Response Example
HTTP 200 - Success
[
{
"address": {
"ISO3166-2-lvl4": "GB-ENG",
"ISO3166-2-lvl8": "GB-LBH",
"city": "London",
"city_district": "London Borough of Lambeth",
"country": "United Kingdom",
"country_code": "gb",
"postcode": "SE1 7PB",
"quarter": "South Bank",
"road": "Westminster Bridge Road",
"state": "England",
"state_district": "Greater London",
"suburb": "Lambeth",
"tourism": "London Eye"
},
"addresstype": "tourism",
"boundingbox": [
"51.5027354",
"51.5039478",
"-0.1198608",
"-0.1194922"
],
"category": "tourism",
"display_name": "London Eye, Westminster Bridge Road, South Bank, Lambeth, London Borough of Lambeth, London, Greater London, England, SE1 7PB, United Kingdom",
"importance": 9.99999999995449e-06,
"lat": "51.5033416",
"lon": "-0.11967649999999999",
"name": "London Eye",
"osm_id": 204068874,
"osm_type": "way",
"place_id": 275272080,
"place_rank": 30,
"type": "attraction"
},
{
"address": {
"ISO3166-2-lvl6": "AL-10",
"amenity": "London Eye",
"city": "Shkodër",
"country": "Shqipëria",
"country_code": "al",
"county": "Qarku i Shkodrës",
"house_number": "6",
"municipality": "Bashkia Shkodër",
"postcode": "4001",
"quarter": "Vasil Shanto",
"road": "Rruga Dr. Selaudin Bekteshi",
"state": "Shqipëria Veriore",
"suburb": "Lagjja 3"
},
"addresstype": "amenity",
"boundingbox": [
"42.0685708",
"42.0686708",
"19.5142695",
"19.5143695"
],
"category": "amenity",
"display_name": "London Eye, 6, Rruga Dr. Selaudin Bekteshi, Vasil Shanto, Lagjja 3, Shkodër, Bashkia Shkodër, Qarku i Shkodrës, Shqipëria Veriore, 4001, Shqipëria",
"importance": 9.99999999995449e-06,
"lat": "42.0686208",
"lon": "19.5143195",
"name": "London Eye",
"osm_id": 3877861155,
"osm_type": "node",
"place_id": 55383262,
"place_rank": 30,
"type": "bar"
}
]Response Schema
Title: Nominatim Forward Geocoding Response View Full JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Nominatim Forward Geocoding Response",
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "City"
},
"amenity": {
"type": "string",
"description": "Amenity name/type at the location"
},
"state": {
"type": "string",
"description": "State/region"
},
"postcode": {
"type": "string",
"description": "Postal code"
},
"municipality": {
"type": "string",
"description": "Municipality"
},
"highway": {
"type": "string",
"description": "Highway feature at the location"
},
"country": {
"type": "string",
"description": "Country name"
},
"ISO3166-2-lvl4": {
"type": "string",
"description": "ISO 3166-2 subdivision code (level 4)"
},
"road": {
"type": "string",
"description": "Street/road name"
},
"city_district": {
"type": "string",
"description": "City district"
},
"tourism": {
"type": "string",
"description": "Tourism feature at the location"
},
"country_code": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code"
},
"ISO3166-2-lvl8": {
"type": "string",
"description": "ISO 3166-2 subdivision code (level 8)"
},
"state_district": {
"type": "string",
"description": "State district"
},
"suburb": {
"type": "string",
"description": "Suburb"
},
"quarter": {
"type": "string",
"description": "Quarter"
},
"county": {
"type": "string",
"description": "County"
},
"house_number": {
"type": "string",
"description": "House number"
},
"ISO3166-2-lvl6": {
"type": "string",
"description": "ISO 3166-2 subdivision code (level 6)"
}
},
"required": [
"city",
"road",
"state",
"postcode",
"country_code",
"suburb",
"quarter",
"country"
],
"description": "Address components breakdown (if addressdetails=1)"
},
"osm_type": {
"type": "string",
"description": "OpenStreetMap element type (node, way, relation)"
},
"importance": {
"type": "number",
"description": "Search result importance score"
},
"addresstype": {
"type": "string",
"description": "Type of address component returned"
},
"name": {
"type": "string",
"description": "Display name"
},
"boundingbox": {
"type": "array",
"items": {
"type": "string"
},
"description": "Bounding box coordinates [minlat, maxlat, minlon, maxlon]"
},
"type": {
"type": "string",
"description": "Type discriminator for the object"
},
"place_id": {
"type": "integer",
"description": "Unique identifier for the place in OSM Nominatim"
},
"lon": {
"type": "string",
"description": "Longitude in decimal degrees"
},
"osm_id": {
"type": "integer",
"description": "OpenStreetMap element ID"
},
"lat": {
"type": "string",
"description": "Latitude in decimal degrees"
},
"place_rank": {
"type": "integer",
"description": "Nominatim importance rank of the place"
},
"category": {
"type": "string",
"description": "OSM category/class (highway, building, amenity, tourism, etc.)"
},
"display_name": {
"type": "string",
"description": "Full human-readable address"
}
},
"required": [
"type",
"osm_type",
"place_id",
"importance",
"category",
"lon",
"osm_id",
"addresstype",
"lat",
"display_name",
"place_rank",
"name",
"boundingbox"
]
}
}
Response Codes
Search completed successfully (may return empty array if no results)
Invalid search parameters
Internal server error