Maps
Nearby POIs via OpenStreetMap Overpass API
Find nearby points of interest by category (cafe, restaurant, hotel, hospital, pharmacy, atm, bank, fuel, parking, supermarket, school, park, museum, ...) within a radius — it builds the correct Overpass QL (which agents botch), runs it, and normalizes results into a distance-sorted list with name, coordinates, address, opening hours, phone, and website. Answers 'cafes near me', 'closest pharmacy to these coordinates', 'hotels within 1km', 'find ATMs nearby'.
Price$0.01per request
MethodPOST
Route/v1/maps/osm-poi
StatusLive
MIME typeapplication/json
Rate limit60/minute
Cache3600s public
mapsosm-poioverpasspoiplacesnearbyopenstreetmapamenity
API URL
Integration docshttps://x402.hexl.dev/v1/maps/osm-poiExample request
{
"latitude": 48.8584,
"longitude": 2.2945,
"category": "cafe",
"radiusMeters": 500,
"limit": 5
}Example response
{
"center": {
"latitude": 48.8584,
"longitude": 2.2945
},
"category": "cafe",
"count": 1,
"pois": [
{
"id": "node/7008116686",
"name": "Café Ribe",
"category": "cafe",
"latitude": 48.8564807,
"longitude": 2.2928406,
"distanceMeters": 257,
"address": null,
"city": null,
"openingHours": null,
"phone": null,
"website": null
}
],
"radiusMeters": 500,
"query": "[out:json][timeout:25];(node[\"amenity\"=\"cafe\"](around:500,48.8584,2.2945);way[\"amenity\"=\"cafe\"](around:500,48.8584,2.2945);relation[\"amenity\"=\"cafe\"](around:500,48.8584,2.2945););out center tags;"
}Input schema
{
"type": "object",
"required": [
"latitude",
"longitude",
"category"
],
"properties": {
"latitude": {
"type": "number",
"examples": [
48.8584
]
},
"longitude": {
"type": "number",
"examples": [
2.2945
]
},
"category": {
"type": "string",
"examples": [
"cafe",
"restaurant",
"pharmacy"
]
},
"radiusMeters": {
"type": "number",
"examples": [
1000
]
},
"limit": {
"type": "number",
"examples": [
20
]
}
}
}Output schema
{
"type": "object",
"additionalProperties": true
}