DocsWhy PickPoint

Why PickPoint

In 2015 we needed geocoding for a client project. What we found was a market with two real options: pay a lot, or operate significant infrastructure yourself. Neither fit. So we built PickPoint. This page explains what that looked like then, what's changed, and what we believe about building developer tools.

The 2015 geocoding market

When we started looking for a geocoding solution, the options were roughly:

Google Maps
2,500 req / day free
$0.50 / 1k above that · Premium Plan ~$10k/year for >100k/day · results can't be cached in your database
Expensive at scale
Bing Maps
125,000 req / year free
That's ~340 requests per day. No path to scale without a custom enterprise agreement.
Too small for production
Nominatim (self-hosted)
Free, but…
Dedicated server with 64–128 GB RAM, 1 TB NVMe SSD, ~1 week for initial planet import. Then: apply minutely OSM diffs, monitor replication, tune PostgreSQL, manage upgrades.
Ops burden, not a product

We proposed Nominatim. The client declined when they saw the infrastructure requirements. We ended up running it ourselves, hosted it as a service, and turned it into a product.

What the market looks like now

The landscape has shifted significantly since 2015. Google revised its pricing in 2018 - moving to a $200/month credit model - which improved the economics for small-scale users but increased costs sharply for mid-scale ones (map loads went from 750,000 free per month to 28,000, a 27× reduction). HERE and TomTom opened up commercial access. A wave of OSM-based geocoding providers appeared with prices closer to infrastructure cost.

We responded by expanding beyond geocoding. We added Routing (on Valhalla), Address Search, and real-time Device Tracking over WebSocket. We invested in global infrastructure - anycast routing, redundancy, uptime monitoring - so "managed" actually means something. And we kept improving data quality: the OSM dataset we run on now is far richer than in 2015, with better coverage in Africa, Asia, and South America than it had then.

The data layer: OpenStreetMap

10M+contributors
8B+GPS nodes
1 minupdate latency
ODbLcacheable license

Everything in PickPoint runs on OpenStreetMap. A few things worth knowing about it:

  • It updates continuously. OSM publishes minutely diffs - changes made by mappers around the world are available within minutes, not days. We apply these to our routing and geocoding index on a regular cadence, so new roads, renamed streets, and corrected addresses reach you without any action on your end.
  • The license allows storage. OSM data is under the Open Database License (ODbL). You can cache geocoding results in your database and keep them indefinitely. Google's terms explicitly prohibit this. The practical implication: with PickPoint, geocoding is a one-time normalization step. With Google, every coordinate you store is a liability.
  • Coverage is genuinely global. OSM has strong coverage in North America and Europe, and has dramatically improved in Southeast Asia, Latin America, and parts of Africa over the past decade. For cycling infrastructure, rural roads, and hiking trails, OSM often beats commercial datasets that prioritize driving navigation.
  • It's transparent. Every data point has a provenance: who added it, when, what source they cited. When a geocoding result is wrong, you can look at the OSM data, understand why, and - unlike with proprietary datasets - contribute a fix that benefits everyone.

Design decisions we made

Some of the choices we made in building the API are worth explaining because they affect how you integrate:

  • One key for everything. Geocoding, Routing, Address Search, and Device Tracking all use the same X-Api-Key. No per-API keys, no separate products, no different billing accounts. We made this choice early and it's still the right one - managing credentials across four different services in the same application is unnecessary friction.
  • GeoJSON everywhere. All geocoding and routing responses are standard GeoJSON. No proprietary formats. Every GeoJSON-compatible library, map renderer, PostGIS database, and geographic analysis tool works directly with our output.
  • WebSocket for tracking, not polling. We built Device Tracking on a persistent WebSocket rather than a polling endpoint. Polling wastes requests whether or not the device moved, adds round-trip latency, and doesn't scale. A persistent connection pushes updates as they happen with sub-100ms latency.

What we believe

Open source is infrastructure, not a vendor strategy. Valhalla, Nominatim, OpenStreetMap - the core of PickPoint is built on open-source projects maintained by communities. We contribute back when we can. We don't resell OSM data as proprietary, and we don't use "open" as a marketing word while building lock-in on top of it.
Pricing should be rational. Our prices reflect what it costs to run the service - compute, storage, bandwidth, engineering - plus a margin that keeps the company healthy. Not "what's the maximum we can charge before you look for alternatives". If the underlying cost goes down, we adjust.
We use PickPoint ourselves. Every feature we ship has been tested in our own projects before it reaches you. This keeps us honest: if the geocoding result is wrong, we notice. If the routing is slow, we feel it. There's no product team that only talks to external developers.
Support that actually helps. When you open a support ticket, you're talking to someone who knows the code. Occasionally you'll hear from someone who wrote the feature you're asking about. (Yes, sometimes the CEO picks up tickets - there just aren't that many of us.)
We don't add features we can't do well. Geocoding from a bad data source is worse than no geocoding - it's misinformation at scale. We'd rather have four APIs that work reliably than twelve that work sometimes. If you ask for something we can't build properly, we'll say so.

When PickPoint might not be the right choice

We'd rather be honest about this than lose you to a bad integration:

  • POI coverage in sparse OSM markets. In parts of the world where OSM hasn't been heavily mapped - some rural areas, parts of the Middle East, certain developing markets - Google's proprietary dataset and local partnerships may produce better POI results. If your use case depends on comprehensive indoor mall maps or highly granular business listings, evaluate real results before committing.
  • Legally binding SLAs with financial penalties. Our SLA is 99.9% uptime. If you need a vendor-backed SLA with financial penalties for breaches, backed by a large legal entity, the hyperscaler options (Google, HERE) are structured for that. We're a smaller company.
  • Street View or satellite imagery. We don't provide map tiles, satellite imagery, or Street View. If your application needs users to visually navigate a map with imagery, you'll need a separate tile provider alongside PickPoint's location APIs.

Getting StartedPricingCompare alternatives