Powered by OpenStreetMap · EU-hosted

Addresses to coordinates. In milliseconds.

A fast, fair geocoding API built on OpenStreetMap. Forward, reverse and lookup — worldwide, with no vendor lock-in and none of the pricing shocks of the big providers.

request.sh
$ curl "https://geo.baube.net/v1/search?q=Schlossplatz+Stuttgart&format=jsonv2" \ -H "Authorization: Bearer gk_live_••••" [ { "lat": "48.7784", "lon": "9.1801", "display_name": "Schlossplatz, Stuttgart-Mitte, Stuttgart, BW, DE", "type": "square", "licence": "Data © OpenStreetMap contributors, ODbL 1.0." } ]
<80 ms
median latency
200+
countries covered
99.9%
uptime target
€0
setup fee
What you get

Three endpoints. One API. Full control.

No mandatory SDK, no fine print about data storage like the hyperscalers. Plain REST, JSON or GeoJSON, compatible with the familiar Nominatim schema.

/v1/search

Forward geocoding

From an address or free text to coordinates — structured or as a simple query. Includes address details, bounding box and an importance score.

/v1/reverse

Reverse geocoding

From lat/lon to the nearest address. Ideal for tracking, check-ins and "where am I?" features.

/v1/lookup

OSM lookup

Fetch details for specific OSM objects (node/way/relation) by ID. Perfect for enriching existing datasets.

— rate limits

Fair, predictable limits

Clear requests-per-second and requests-per-day per plan. You get rate-limit headers on every response — no guessing.

— privacy

EU hosting & privacy

Servers in the EU, no sharing your queries with third parties. GDPR-friendly, with no Google dependency.

— billing

Self-service

Start instantly, upgrade or cancel anytime via the customer portal. Transparent billing through Stripe.

Sandbox

Try it right now

Type an address. This demo calls your own endpoint (once deployed). Until then it shows a sample response in the exact response format.

// response appears here …
Pricing

Pay for volume, not marketing.

Cancel monthly. Every plan includes forward, reverse & lookup, JSON + GeoJSON and full coverage. Prices net, plus VAT.

Need more than 1M requests/day or an SLA? → geo@baube.net

Integration

Wired up in 2 minutes

cURL JavaScript Python

      

Authentication via the Authorization: Bearer header. Every response includes X-RateLimit-* headers so your client can back off cleanly. The response format is 1:1 compatible with Nominatim — existing code often runs unchanged.

Read the full docs →
FAQ

Common questions

Where does the data come from?

From OpenStreetMap, the world's largest open geodata project. We run our own, regularly updated Nominatim instance for it — no forwarding to the public OSM API.

Can I use and store the results commercially?

Yes. OpenStreetMap data is under the ODbL. Individual geocoding results you store in your application count as an insubstantial extract. You do need to credit OpenStreetMap as the source (attribution) — we include the ready-made attribution text in every response.

What happens if I exceed my limit?

You get HTTP 429 with a clear error message and the matching rate-limit headers. There are no surprise charges — you're throttled, not overbilled. Upgrade anytime from the dashboard.

How fast is the API?

Typical response times are in the tens of milliseconds for cached queries, otherwise usually under 200 ms. Servers are in the EU.

Can I cancel monthly?

Yes, anytime via the customer portal. There's no minimum term and no setup fee.