# OpenStreetMap (Geocoding & Places) AI Agent Connect

> Geocode any city or address to coordinates and back — forward/reverse geocoding, place search and location details via OpenStreetMap. No API key.

## Overview
- **Category:** developer-tools
- **Price:** Free
- **Endpoint:** https://edge.vinkius.com/vk_preview_3QuVjPOmNYqBYIf8F6k0iU0kxV1H68aITxE7HCwu/ai-agent-connect
- **Tags:** geocoding, reverse-geocoding, coordinates, openstreetmap, nominatim, location-search

## Description

Give your AI agent a reliable sense of place. **Geocoding & Places** turns names and addresses into precise latitude/longitude, resolves coordinates back into cities and full addresses, searches for matching places, and returns complete location details — all through natural conversation.

### What you can do

- **Forward geocoding** — Convert a city name or street address into exact WGS84 latitude/longitude
- **Reverse geocoding** — Turn a latitude/longitude pair into a city, country and full formatted address
- **Place search** — Search free text and get a ranked list of matching places, each with its own id and coordinates
- **Location details** — Fetch the complete profile of a place (address components, bounding box, type) by id or coordinates

### How it works

1. Subscribe to this server
2. No credentials required — it uses the free OpenStreetMap **Nominatim** service, with automatic fallback to **Photon**
3. Every response comes back in one consistent shape, no matter which provider answered — the fallback is fully transparent

### Who is this for?

- **Developers** — add geocoding to apps and agents without signing up for a paid maps API
- **Data teams** — enrich records with coordinates or resolve coordinates to human-readable places
- **Logistics & travel** — look up addresses, validate locations and plan around real coordinates
- **Anyone** — ask "where is X?" or "what's at these coordinates?" and get a precise answer

## Tools

### get_latitude_longitude
Use search_location to see multiple candidates, or get_location_details for the full record.

Convert a city name or street address into latitude/longitude coordinates. Use for "what are the coordinates of X?" or "geocode this address"

### get_location
Coordinates are WGS84 decimal degrees.

Convert latitude/longitude coordinates into a place: city, country and full address. Use for "what city is at these coordinates?" or "reverse geocode this point"

### search_location
Each item carries a place_id you can pass to get_location_details.

Search for places matching free text and return a ranked list of candidates. Use when a query is ambiguous or when you need several options to choose from

### get_location_details
place_id resolves via Nominatim. Coordinates ("lat,lon" in `place_id`, or the latitude/longitude params) resolve via reverse geocoding with automatic Photon fallback.

Fetch the complete details of a place, identified either by a place_id (from search_location / get_latitude_longitude) or by coordinates. Returns name, address components and bounding box

## Prompt Examples

**Prompt:** 
```
What are the coordinates of the Eiffel Tower?
```

**Response:** 
```
The Eiffel Tower is located at latitude 48.858370, longitude 2.294481 (Paris, France).
```

**Prompt:** 
```
What city is at 40.7128, -74.0060?
```

**Response:** 
```
Those coordinates are in New York City, United States — the full address resolves to the Manhattan area of New York, NY.
```

**Prompt:** 
```
Search for places called Springfield
```

**Response:** 
```
I found several matches for "Springfield": Springfield, Illinois; Springfield, Missouri; and Springfield, Massachusetts — each with its own coordinates and place_id you can inspect further.
```

## Frequently Asked Questions

**Does this server require an API key or account?**
No. It uses the free OpenStreetMap Nominatim service and falls back to Photon automatically. Neither requires an API key, so you can start geocoding immediately.

**What happens if one provider is down?**
The server queries Nominatim first and automatically falls back to Photon on any failure or empty result. Both are normalized to the same response shape, so the fallback is completely transparent to you.

**How do I get full details for a place I found in a search?**
Every search result includes a place_id. Pass that id to get_location_details to retrieve the full record, or pass coordinates directly if you already have them.
