/search/geocode/v1/autocompleteType-ahead
Partial input in, ranked suggestions out. Priced for the way it is actually used — fired on every keypress, debounced at most.
Forward, autocomplete and reverse geocoding over a worldwide index of addresses and places. Type-ahead is billed at a tenth of a unit, so you can fire it on every keypress instead of rationing it.
10,000 units free every month. No credit card, no sales call.
Type two characters, or pick an example.
GET /search/geocode/v1/autocomplete?q=&limit=5The same places, reachable from whichever direction your interface needs: a half-typed query, a finished one, or a pair of coordinates.
/search/geocode/v1/autocompletePartial input in, ranked suggestions out. Priced for the way it is actually used — fired on every keypress, debounced at most.
/search/geocode/v1/forwardA full address or place name in, coordinates and a structured address out. Bias toward a point, or clamp results to a bounding box.
/search/geocode/v1/reverseCoordinates in, the nearest named place out. Behind every dropped pin, every 'use my location', and every GPS fix a human has to read.
The SDK is a thin, fully typed wrapper — every parameter and response field is generated from the same OpenAPI document the docs are built from, so your editor knows the shape before you run anything.
If you would rather not add a dependency, the endpoints are ordinary REST. One header, a query string, GeoJSON back.
import { createClient } from '@rijwind/sdk/client'; const rijwind = createClient({ apiKey: 'rw_live_•••' }); // fires on every keystroke — 0.1 unit each const { data } = await rijwind.geocode.autocomplete({ q: input.value, limit: 5, lang: 'en', lat: 52.37, lon: 4.90, // bias to the user }); for (const f of data.features) { render(f.properties.name, f.geometry.coordinates); }
No query-language to learn and no session token to mint before you are allowed to search. The parameters are the ones you would have guessed, and the response is a GeoJSON FeatureCollection with the structured address in properties.
Errors come back in one consistent envelope with a machine- readable code, whichever endpoint produced them.
qlanglimitlat, lonbboxradiusType-ahead you don’t have to ration.
Most providers charge the same for a keystroke as for a finished search, which quietly pushes you into debouncing harder than your users would like, or into caching layers you never wanted to build.
One user, one address, typed out
Eight keystrokes of type-ahead, then one confirmed lookup.
The free plan absorbs roughly 5,500 complete searches like this one every month.
Units are one pool shared by every endpoint. A month heavy on search and light on routing costs the same as the reverse — you are not forecasting five separate product budgets.
On paid plans you set a spending cap yourself. Reach it and requests stop, rather than the invoice continuing without you.
See the full unit table →Autocomplete the address field, then store the coordinates you got for free. Fewer typos at the point where a typo costs you a delivery.
Turn 'near me' or a typed postcode into a point, then sort your own locations against it. Pairs with the routing API for real travel times instead of straight-line distance.
Geocode an inbound order list, feed the coordinates to route optimisation, and reverse-geocode the driver's GPS fix into something a dispatcher can read out loud.
Batch a spreadsheet of addresses into coordinates once, and get a map layer out of a column of text nobody wanted to clean by hand.
The search box is the part of a map integration that carries the most personal data: it is where people type their own home address. That makes where those strings go a real question rather than a compliance formality.
Requests are served from Dutch infrastructure, by a Dutch company, under EU law. For teams moving off US infrastructure, that is the whole conversation.
No US-controlled provider in the request path.
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.
They search the same index. Forward is for a complete query where you want the best-matching results; autocomplete is for partial input while someone is still typing. The difference that matters is price: autocomplete costs 0.1 unit against 1 unit for forward, because it is a call your users trigger five to ten times per search rather than once.
Every endpoint draws from one monthly unit pool shared across maps, geocoding and routing. Autocomplete is 0.1 unit per call, forward and reverse are 1 unit each. There are no per-product SKUs to reason about and no separate geocoding bill.
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.
English, German and French, or local names if you omit the language parameter entirely. A result without a name in the language you asked for falls back to its local name rather than disappearing from the response.
Two ways. Pass lat and lon to bias ranking toward a point, so a search for 'Springfield' from Utrecht prefers the nearby one. Pass bbox as minLon,minLat,maxLon,maxLat to restrict results to a bounding box outright. Reverse geocoding takes a radius in kilometres.
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.
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.
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.
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.
Search, route and isochrones on one interactive map.
Congestion and incidents as a layer on your map.
Forecast data rendered straight from the CDN.
One unit pool, one table, a cap you set.
What actually differs, feature by feature.
Sessions, units and where the data lives.
Ten thousand units a month, free, and the same key covers maps, routing and static images when you need them.