Geocoding that runs on every keystroke.

Address search, autocomplete and reverse lookup over one worldwide index of addresses and places. One key, GeoJSON back. A keystroke costs a tenth of a search, so the field never needs throttling.

10,000 units free every month. No credit card, no sales call.

Live APIready

Type two characters, or pick an example.

GET /search/geocode/v1/autocomplete?q=&limit=5

Pick a result and the globe turns to it.

Where it lands in your product.

Nobody ships an endpoint. They ship a checkout that doesn't bounce, a “use my location” button that works, a pin someone can drag. This is what the three calls look like from the outside.

Checkout · Shipping address
Address
Damrak 1
  • Damrak 11012 LG Amsterdam
  • Damrak 101012 LG Amsterdam
  • Damrak 13011 AA Rotterdam
Postcode
1012 LGauto-filled
City
Amsterdamauto-filled
Country
Netherlandsauto-filled
Coordinates
52.3765, 4.8996auto-filled

Autocomplete the address field.

Suggestions as they type. Picking one fills postcode, city and country. The coordinates come along, so there is no second call to make and no typo where a typo costs you a delivery.

Try it in the panel above
Street map of the Damrak in Amsterdam with the Beurs van Berlage at the centre

52.375022, 4.896265

Beurs van Berlage

Damrak 243 · 1012 ZJ Amsterdam · Netherlands

© OpenStreetMap contributors

Turn a dropped pin into an address.

Coordinates in, nearest named place out. It is what stands behind every “use my location”, every driver's GPS fix, every pin somebody drags across your map.

Try it in the panel above
  • Damrak 11012 LG Amsterdam
  • Damrak 101012 LG Amsterdam
0.0units so far
0 keystrokes × 0.1 =
0.0
1 pick, coordinates in =
0

A keystroke is a tenth of a search.

Most providers bill a keystroke like a finished search, which is why address fields get debounced into sluggishness. Here eight keystrokes and a pick cost less than one search.

See what a month costs
search.ts
const { data } = await rijwind.geocode.autocomplete({
  q: input.value, limit: 5, lang: 'en',
  lat: 52.37, lon: 4.90, // bias to the user
});

Typed client, or plain HTTP.

The SDK's types are generated from the same document the docs are built from, so your editor knows the shape before you run anything. Or skip it: one header, a query string, GeoJSON back.

Read the quickstart

Every answer has the same shape.

Search, autocomplete and reverse all return one GeoJSON FeatureCollection: the point in geometry, the address already split into fields in properties. Write the parsing once and it holds for all three calls, and for anything that already speaks GeoJSON.

  • MapLibre
  • Leaflet
  • OpenLayers
  • deck.gl
  • PostGIS
  • React
Every field, in the docs ↗
features[0]
  1. {
  2. "type": "Feature",
  3. "geometry": { "type": "Point",
  4. "coordinates": [4.8962647, 52.3750218] },// where it is: lon, lat
  5. "properties": {
  6. "name": "Beurs van Berlage",// what it is called
  7. "street": "Damrak",// the address, already split
  8. "housenumber": "243",
  9. "postcode": "1012ZJ",
  10. "city": "Amsterdam",
  11. "district": "Centrum",
  12. "state": "North Holland",// region and country, for your own filters
  13. "country": "Netherlands", "countrycode": "NL",
  14. "type": "house",// how precise: house, street, city, …
  15. "extent": [4.8953296, 52.3756539, 4.8972252, 52.3744361]// a box to zoom the map to
  16. }
  17. }

The short version.

Everything a developer scans a product page for, in one place, without the adjectives.

AutocompleteCheap enough to fire on every keystroke.
0.1 unit / call
Search and reverse
1 unit / call
Free tierHard cap. No card, no sales call.
10,000 units / month
Paid plansOne unit pool across maps, geocoding and routing, plus a spending cap you set.
from €5 / month
ResultsOne FeatureCollection shape for all three calls.
GeoJSON
Languages
en · de · fr · local
Index refreshBuilt from open data (ODbL).
weekly
ProcessingNo US-controlled provider in the request path. DPA and sub-processor list published.
EU, end to end

Numbers as of September 2026. The pricing page has the full ladder.

Geocoding, answered.

What is geocoding?

Geocoding turns a place written the way people write it, an address, a business name, a neighbourhood, into a latitude and longitude your software can use. Reverse geocoding does the opposite: it takes coordinates and returns the nearest named place, which is how a dropped pin or a phone's GPS fix becomes a readable address.

How much does geocoding cost?

Every endpoint draws from one monthly unit pool shared across maps, geocoding and routing. Autocomplete is 0.1 unit per call, a full search and a reverse lookup are 1 unit each. There are no per-product SKUs to reason about and no separate geocoding bill.

Is there a free tier?

Yes. The free plan includes 10,000 units a month with no card and no sales call, which is 100,000 autocomplete calls if that is all you spend them on. It is a hard cap, so a runaway loop cannot produce a bill.

Which languages can results come back in?

English, German and French, or local names if you ask for none of them. A result without a name in the language you requested falls back to its local name rather than disappearing from the response.

Can I bias or restrict results to a region?

Two ways. Bias ranking toward a point, so a search for 'Springfield' from Utrecht prefers the nearby one. Or restrict results to a bounding box outright. Reverse lookups take a search radius.

What shape do the results come back in?

A GeoJSON FeatureCollection. Coordinates sit in the standard geometry field and the structured address (name, street, house number, postcode, city, state, country) sits in properties. It drops straight into MapLibre, Leaflet, OpenLayers, PostGIS or anything else that speaks GeoJSON, with no custom envelope to unwrap first.

Can I store or cache the results?

Yes, and caching what you already paid for is not a second call. There is no separate permanent-geocoding product and no per-result storage tier. The underlying place data comes from open data under the ODbL licence, so the usual open-data attribution applies if you publish a derived database, the same condition every provider in this category works under.

How fresh is the place data?

The index is rebuilt weekly from open data, so new streets, renamed businesses and freshly numbered addresses arrive within days rather than at a quarterly release cadence.

Where is coverage weakest?

The index is built from open data, so it is as good as the open data is: dense across Europe and in most cities worldwide, thinner in rural areas of countries where addresses are rarely mapped. If you need rooftop-level parcel accuracy in the United States, a national address product will still beat any open-data geocoder, this one included. Try your own addresses in the panel at the top before you decide.

Where are my requests processed?

In the European Union, end to end. No part of the request path touches a US-controlled provider, which is what makes the GDPR and data-residency conversation short. We publish a DPA and a full sub-processor list.

Put it behind your search box.

Ten thousand units a month, free. The same key covers maps, routing and static images when you get to them.

Start typing an address or placeGet an API key
No credit card. No sales call. A spending cap you set yourself.Read the quickstart