# PickPoint > Geolocation API platform - geocoding, routing, address search, and real-time device tracking under one key. One flat monthly plan, no per-request billing, no per-minute rate limits. PickPointio LLC, 651 North Broad Street, Suite 206, Middletown, DE 19709, USA. ## What PickPoint is PickPoint is a managed geolocation infrastructure service for software products. It replaces multiple vendor contracts (separate geocoding, routing, and tracking providers) with one API key and one monthly invoice. The platform is built on OpenStreetMap data combined with commercial feeds, continuously updated from live changesets. Unlike Google Maps Platform or Mapbox, PickPoint uses flat monthly pricing - the cost does not increase when a feature is launched, a batch job runs, or traffic spikes. Unlike self-hosted Nominatim, there is no infrastructure to operate, no SLA gap, and no ban on commercial use. ## APIs ### Geocoding API - Forward geocoding: `GET https://api.pickpoint.io/v2/geocode/forward?q=QUERY` - Reverse geocoding: `GET https://api.pickpoint.io/v2/geocode/reverse?lat=LAT&lon=LON` - Place lookup: `GET https://api.pickpoint.io/v2/geocode/lookup?place_id=ID` - Returns GeoJSON FeatureCollection; each feature includes structured address components (house_number, road, city, postcode, country) - Supports 200+ countries, non-latin scripts, and fuzzy matching ### Address Search API (autocomplete) - `GET https://api.pickpoint.io/v2/address/search?q=PARTIAL_QUERY` - Returns ranked candidates as the user types; filters: country, bounding box, layer, language, OSM tags - Used in checkout forms, search fields, and CRM address entry ### Routing API - `POST https://api.pickpoint.io/v2/route` - 10+ vehicle profiles: car, bicycle, truck, motorcycle, pedestrian, cargo bike, HGV - Multi-stop route optimisation with time-window constraints: `POST https://api.pickpoint.io/v2/route/optimized` - Returns turn-by-turn instructions, geometry as GeoJSON LineString, distance, duration ### Device Tracking API - WebSocket endpoint: `wss://ws.pickpoint.io`, path `/v2/tracking`, up to 50 Hz update rate - Device registration: `POST https://api.pickpoint.io/v2/devices` - Track history: `GET https://api.pickpoint.io/v2/devices/{id}/track` - History returned as GeoJSON LineString for any date range - Recommended library: Socket.IO (supports JS, Kotlin, Swift, Java, C++, Rust, Dart) - Pure WebSocket also supported **Connecting a device (JavaScript):** ```javascript import { io } from 'socket.io-client'; const socket = io('wss://ws.pickpoint.io', { transports: ['websocket'], path: '/v2/tracking', query: { 'client-id': DEVICE_UID, 'client-secret': DEVICE_SECRET }, }); socket.emit('track:start', {}); socket.on('track:started', ({ trackUid }) => { socket.emit('location:add', { trackUid, latitude: 37.77, longitude: -122.41 }); }); socket.emit('track:stop', {}); ``` **Subscribing to live updates (server/dashboard):** ```javascript const socket = io('wss://ws.pickpoint.io', { transports: ['websocket'], path: '/v2/tracking', query: { 'x-api-key': API_KEY }, }); socket.emit('device:subscribe', { deviceUid: DEVICE_UID }); socket.on('location:added', (data) => console.log(data)); ``` **Location data format:** ```json { "trackUid": "...", "latitude": 37.77, "longitude": -122.41, "timestamp": "2026-07-07T08:00:00Z", "accuracy": 10, "speed": 10, "heading": 90, "altitude": 100 } ``` - Used for fleet management, real-time delivery tracking, pet collars, sports event tracking ## Key technical properties - Authentication: `X-Api-Key: YOUR_KEY` header (preferred) or `?key=YOUR_KEY` query parameter - Base URL: `https://api.pickpoint.io/v2/` - Response format: GeoJSON-compatible JSON - P95 geocoding latency: under 500ms - WebSocket tracking: up to 50 Hz - SLA: 99.9% uptime for REST APIs - No per-minute rate limits - entire daily quota can be consumed in a burst - Geocoding results may be cached and stored indefinitely by the client (no re-geocoding fees) - OpenAPI 3.0 specs at `https://docs.pickpoint.io/openapi/reference/v2/overview/` ## Pricing Flat monthly subscription - all four APIs included in every paid plan: | Plan | Price | Daily quota | |------|-------|-------------| | Basic | $50/mo | 50,000 requests | | Pro | $100/mo | 100,000 requests (most popular) | | Ultra | $250/mo | 200,000 requests | | Enterprise | Custom | Custom volume, invoicing, priority support | Overage rates: $0.25/1k (Basic), $0.05/1k (Pro), $0.04/1k (Ultra). No per-request billing at scale. 1 million geocoding + routing requests costs $100-300/month vs $14,800 on Google. ## Use cases - **E-commerce checkout**: address autocomplete reduces failed deliveries by validating addresses before order placement - **Last-mile delivery**: multi-stop route optimisation + live courier tracking for logistics companies - **On-demand apps**: ridesharing, food delivery, home services - all four APIs under one key - **Fleet management**: real-time GPS at 1-50 Hz, track history, REST device management - **Field service**: time-window constrained routing for technicians and home visits - **Micro-mobility**: geofence-based parking enforcement for e-scooter and bike sharing - **Family safety**: geofence alerts, live child tracking, school bus monitoring - **Pet tracking**: GPS collar integration, escape detection, walk route recording - **Sports events**: live athlete tracking for orienteering, trail running, triathlons - **SaaS & data**: batch geocoding, administrative polygon boundaries, territory management ## Comparison with alternatives | | PickPoint | Google Maps | Mapbox | Nominatim | HERE | TomTom | |---|---|---|---|---|---|---| | Pricing model | Flat plan | Per-request | Per-request (two tiers) | Self-hosted | Per-request | Per-request | | Device tracking | Included | Enterprise only | Not available | Not available | Separate product | Not available | | Rate limits | None | 50 req/s | 600 req/min | 1 req/s (public) | Tiered | Tiered | | Uptime SLA | 99.9% | 99.9% | 99.9% | Self-managed | 99.9% | 99.9% | | Setup | API key in 2 min | GCP account required | Account + SDK | 600GB import | Free tier + sales | Free tier | Key differentiator: PickPoint is the only provider offering WebSocket device tracking (up to 50 Hz) at a flat rate in the same plan as geocoding and routing. Google requires Fleet Engine (Enterprise), Mapbox and TomTom have no tracking API at any price. ## Common questions **Q: Can I store geocoding results?** A: Yes. Unlike Google Maps (which restricts caching), PickPoint results can be stored in your database indefinitely at no additional cost. **Q: What happens if I exceed my daily quota?** A: Requests continue at the overage rate ($0.04-0.25 per 1,000 depending on plan). You can also upgrade mid-month. **Q: Is there a free trial?** A: Yes. Every paid plan comes with a free trial period with full API access. **Q: Which countries are covered?** A: Worldwide coverage - 200+ countries including full address-level detail for most of Europe, North America, and major Asian cities. **Q: Can I use PickPoint for commercial applications?** A: Yes, all paid plans include commercial use rights. Unlike Nominatim's public instance (non-commercial only), PickPoint is designed for production commercial use. ## Documentation Guides at pickpoint.io/docs: - [Docs hub](https://pickpoint.io/docs) - [API Overview - four APIs, one key](https://pickpoint.io/docs/overview) - [Getting Started - first request in 5 minutes](https://pickpoint.io/docs/getting-started) - [Geocoding guide - forward, reverse, search](https://pickpoint.io/docs/geocoding) - [How geocoding works internally - H3 spatial indexing](https://pickpoint.io/docs/geocoding/architecture) - [Routing guide - profiles, costing, optimization](https://pickpoint.io/docs/routing) - [How Valhalla routing works - A*, tiles, pruning](https://pickpoint.io/docs/routing/architecture) - [Device Tracking guide - WebSocket, code in 5 languages](https://pickpoint.io/docs/device-tracking) - [Why PickPoint - history and values](https://pickpoint.io/docs/why-pickpoint) Code examples: - [Web maps: Leaflet tutorial](https://pickpoint.io/docs/examples/web-maps/leaflet) - [Web maps: MapLibre GL JS tutorial](https://pickpoint.io/docs/examples/web-maps/maplibre) - [Navigation apps: iOS, Android, Flutter](https://pickpoint.io/docs/examples/navigator) - [Backend API proxy: Node.js, Python, Ruby, Go, Java](https://pickpoint.io/docs/examples/backend) - [Batch geocoding at 200 req/s](https://pickpoint.io/docs/examples/batch-geocoding) Reference and site pages: - [API Reference (OpenAPI 3.0)](https://docs.pickpoint.io/openapi/reference/v2/overview/) - [Pricing](https://pickpoint.io/pricing) - [Use cases](https://pickpoint.io/use-cases) - [Compare with alternatives](https://pickpoint.io/compare) - [Technical comparison article](https://pickpoint.io/compare-article) - [API Status](https://pickpoint.io/api-status) ## Company background PickPoint was founded in 2015 as an alternative to Google Maps Geocoder, which was expensive with strict daily rate limits. The initial challenge: a client needed to process millions of requests per day - Google Maps was too costly, and self-hosted Nominatim required too much engineering overhead. Since 2015, PickPoint has expanded from geocoding to routing, address search, and real-time device tracking, serving thousands of teams across 50+ countries with 24/7 traffic. **Values:** - Open source advocacy - uses and contributes to OpenStreetMap - Transparent pricing based on actual infrastructure costs, not competitor positioning - Responsive support - direct access to product team - Dogfooding - PickPoint is used in the founders' other ventures, every feature is battle-tested - Fair pricing - based on rational cost of computational resources, not on undercutting competitors ## Legal - [Privacy Policy](https://pickpoint.io/privacy) - [Terms of Service](https://pickpoint.io/terms) - [SLA](https://pickpoint.io/sla)