Skip to content

Geocoding API · Vector tiles · Open data

Geocoding and maps from one file, at the edge.

geolith is a geocoding API built on OpenStreetMap and Overture Maps: search, autocomplete, reverse geocoding, place lookup and vector tiles from https://api.geolith.app, served worldwide on Cloudflare’s edge from one static .glx file of 678,043,458 places. In the India benchmark its first result was right for 95.0% of addresses and 95.0% of places. The Free plan includes 100,000 requests a month, and you may store every result.

100,000 requests/month free · no card · results you may store

Request
curl "https://api.geolith.app/v1/search?text=eiffel%20tower&size=1" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response (200)
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": { "type": "Point", "coordinates": [2.294496, 48.858262] },
      "properties": {
        "gid": "geolith:venue:4611686018432401268",
        "layer": "venue",
        "name": "Tour Eiffel",
        "label": "Tour Eiffel, Paris 7e Arrondissement, Paris, Île-de-France, France",
        "category": ["attraction"],
        "street": "Avenue Anatole France",
        "neighbourhood": "Paris 7e Arrondissement",
        "locality": "Paris",
        "county": "Paris",
        "region": "Île-de-France",
        "postalcode": "75007",
        "country": "France",
        "country_code": "FR",
        "confidence": 1,
        "source": "geolith"
      },
      "bbox": [2.293312, 48.857475, 2.29569, 48.859045]
    }
  ],
  "geocoding": {
    "version": "0.2",
    "attribution": "https://console.geolith.app/attribution",
    "query": { "text": "eiffel tower", "size": 1, "ranking": "importance" }
  }
}
planet .glx file
31.63 GB
places, worldwide
678,043,458
to build, on one Mac
5 h 28 min
world test queries right; slowest 110 ms (local, warm)
21/21

The API

Seven endpoints, one key, GeoJSON back.

GET /v1/searchAddress, place or POI name to coordinates
GET /v1/autocompleteSuggestions while the user types
GET /v1/search/structuredSplit address fields to coordinates
GET /v1/reverseCoordinates to the nearest address
GET /v1/nearbyPlaces around a point
GET /v1/placePlaces by gid
GET /v1/tiles/{set}/{z}/{x}/{y}.mvtVector tiles for MapLibre
All features →

Benchmark

Measured on the same data.

geolith, Nominatim, Photon and Pelias, each in Docker on the same India data, 200 queries per set. geolith has the best first result on 5 of 7 sets; Photon leads on OSM POIs and Nominatim on reverse. On 194 real Indian queries, geolith’s first result was within 1 km of Google’s for 113 (58%).

India top-1 accuracy by engine
Set geolith NominatimPhotonPelias
OSM places95.085.080.577.0
OSM addresses95.050.588.561.5
OSM POIs84.568.585.561.0
Overture POIs93.06.012.57.0
Autocomplete82.5n/a42.532.5
Near a point96.044.552.039.0
Reverse99.5100.098.598.0
Feature probes (of 25) 24211916

Top-1 accuracy (%), 200 queries per set. All four engines in Docker on the same India data, 20 Oct 2026. Best per row in teal. Nominatim has no autocomplete endpoint. Method and raw results.

Why geolith

A geocoder that is one file.

One file, no database

The whole index is one static .glx file read with HTTP range reads. No Elasticsearch, no PostGIS, no import that takes a day.

Open data you can keep

OpenStreetMap plus Overture Maps. Store results permanently on every plan, with one attribution line.

Bills you can predict

Flat monthly plans from $0 to $299. Over quota, requests stop with HTTP 429; there is no overage charge.

Measured, not claimed

Benchmarked against Nominatim, Photon and Pelias on the same data, with the method published.

Planet file measured 22 Oct 2026. The hosted API at api.geolith.app answers from this file, worldwide.

Features

What the API does

Solutions

Where teams use it

Pricing

Flat plans. Requests stop at quota, bills don’t grow.

Full pricing and FAQ →

Free

$0/month

100,000 requests/month

For side projects, prototypes and small apps.

Start free

Starter

$19/month

1,000,000 requests/month

For a production app with steady traffic.

Contact us

Growth

Popular

$99/month

7,500,000 requests/month

For checkout flows, logistics and store locators at scale.

Contact us

Scale

$299/month

25,000,000 requests/month

For data teams and high-volume platforms.

Contact us

Questions

Frequently asked

What is geolith?
geolith is a geocoding and vector tile API built on OpenStreetMap and Overture Maps. It answers from one static .glx file and runs on Cloudflare’s edge as geolith cloud at https://api.geolith.app.
How do I call the API?
Sign up at console.geolith.app, create a key, then call GET https://api.geolith.app/v1/search?text=YOUR_QUERY with the key as ?api_key= or an Authorization: Bearer header. The answer is a GeoJSON FeatureCollection.
Is there a free plan?
Yes. The Free plan includes 100,000 requests a month, with commercial use allowed if you show the OpenStreetMap and Overture attribution.
Which areas are covered?
Worldwide. The hosted API answers from the planet file: 31.63 GB, 678,043,458 places from OpenStreetMap and Overture Maps. It passed 21 of 21 world test queries, including the Eiffel Tower, 東京タワー and मुंबई.
Can I store the results?
Yes, permanently, on every plan. Google restricts caching and Mapbox charges more for its Permanent Geocoding API.

Geocode your first address in a minute.

100,000 requests a month free. Commercial use with attribution. No card.