Google Maps vs Mapbox vs HERE Geocoding API 2026
Geocoding is a deceptively critical API category. Convert an address to coordinates wrong, and your delivery driver goes to the wrong building. Reverse geocode at scale without understanding pricing, and you'll face a five-figure cloud bill before launch. Google Maps, Mapbox, and HERE are the three dominant geocoding APIs for production apps — each with genuinely different tradeoffs on accuracy, pricing, and developer ergonomics.
TL;DR
Google Maps Geocoding API sets the accuracy benchmark globally — the best coverage for addresses outside major cities, best fuzzy-matching for user-entered addresses. Mapbox Geocoding wins on frontend integration (mapbox-gl autocomplete is unmatched) and a more generous free tier. HERE Geocoding wins for enterprise batch pipelines, logistics, and data enrichment workloads where you need bulk processing at scale.
Quick Comparison
| Google Maps | Mapbox | HERE | |
|---|---|---|---|
| Pricing | $5 per 1,000 requests | $0.75 per 1,000 (first 100K) | $0.83 per 1,000 (first 1M) |
| Free Tier | $200 credit/month (~40K requests) | 100,000 requests/month free | 1,000 requests/month free |
| Accuracy | Best-in-class globally | Excellent (major cities) | Strong (logistics/road networks) |
| Batch Geocoding | Limited (no official batch) | No | Yes (dedicated batch API) |
| Autocomplete | Places Autocomplete API | Search JS (built-in) | Autosuggest API |
| Reverse Geocoding | Yes | Yes | Yes |
| Rate Limit | 50 QPS (extendable) | 600 req/min | 5 QPS (free) / custom |
| API Auth | API key (URL param) | Access token (header) | API key (header) |
| Official SDKs | JS, Android, iOS | JS, iOS, Android | JS, iOS, Android |
| Coverage | Global (200+ countries) | Global (emphasis on OSM data) | Global (180+ countries) |
API Overview
Authentication and Basic Usage
# Google Maps Geocoding API
curl "https://maps.googleapis.com/maps/api/geocode/json?\
address=1600+Amphitheatre+Parkway,+Mountain+View,+CA\
&key=$GOOGLE_MAPS_API_KEY"
# Mapbox Geocoding API (v6)
curl "https://api.mapbox.com/search/geocode/v6/forward?\
q=1600+Amphitheatre+Parkway+Mountain+View+CA\
&access_token=$MAPBOX_ACCESS_TOKEN"
# HERE Geocoding API
curl "https://geocode.search.hereapi.com/v1/geocode?\
q=1600+Amphitheatre+Parkway,+Mountain+View,+CA\
&apiKey=$HERE_API_KEY"
All three return latitude/longitude with structured address components. The response schemas differ — Google returns results[0].geometry.location.{lat,lng}, Mapbox returns features[0].geometry.coordinates, and HERE returns items[0].position.{lat,lng}.
Response Data Structure
// Google Maps response (simplified)
{
"results": [{
"geometry": { "location": { "lat": 37.4224764, "lng": -122.0842499 } },
"formatted_address": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, USA",
"address_components": [/* structured components */],
"place_id": "ChIJ2eUgeAK6j4ARbn5u_wAGqWA"
}]
}
// Mapbox response (GeoJSON Feature)
{
"features": [{
"geometry": { "type": "Point", "coordinates": [-122.0842, 37.4225] },
"properties": {
"full_address": "1600 Amphitheatre Pkwy, Mountain View, California 94043, United States",
"name": "1600 Amphitheatre Pkwy",
"place_formatted": "Mountain View, California 94043, United States"
}
}]
}
// HERE response
{
"items": [{
"position": { "lat": 37.4224764, "lng": -122.0842499 },
"address": {
"label": "1600 Amphitheatre Pkwy, Mountain View, CA 94043, United States",
"countryName": "United States",
"city": "Mountain View",
"postalCode": "94043"
}
}]
}
Google returns a place_id that enables deep integration with the broader Maps ecosystem (business hours, reviews, photos via Places API). Mapbox returns GeoJSON, which integrates natively with mapbox-gl and standard GIS tooling. HERE returns structured address components well-suited for data normalization pipelines.
Accuracy
Google Maps has the most accurate geocoder for global use cases, particularly for:
- Addresses in developing markets and less-mapped regions
- Partial or typo-laden address input from users
- Points of interest and business name resolution ("Whole Foods on Market Street, SF")
In a 2025 benchmark across 500K random US addresses, Google Maps returned a rooftop-level match for 94.2% of queries versus Mapbox at 88.7% and HERE at 91.3%. For international addresses outside Europe and North America, the gap widens further in Google's favor.
Mapbox geocoding performs best for places where OpenStreetMap data is dense — Western Europe, the United States, Australia. For rural addresses or addresses in countries with lower OSM coverage, match rates drop noticeably. Mapbox's strength is address autocomplete UX, not bulk accuracy.
HERE geocoding is strongest for road network accuracy and logistics scenarios. HERE's map data is used by BMW, Mercedes, Audi, and other automotive companies — their road segment data is more precise than Google's for routing and delivery use cases. If you need to geocode addresses to snap to a specific roadway node, HERE wins.
Pricing Deep Dive
Free Tier Reality
Google's $200/month credit sounds generous, but at $5 per 1,000 requests, you get 40,000 free requests/month. Once you exhaust the credit, it's $5 per 1,000 — and there is no hard budget cap by default. A runaway geocoding loop can generate a large bill quickly. Google recommends (and best practice requires) setting budget alerts.
Mapbox's free tier is genuinely generous: 100,000 geocoding requests/month at no cost, then $0.75 per 1,000. For most small-to-medium applications, Mapbox's free tier is sufficient indefinitely.
HERE offers 1,000 free requests/month on the Freemium plan — limited, but includes access to batch geocoding. Paid plans start at $45/month for 100K requests/month at $0.83/1K thereafter.
Batch Workloads
| Provider | Batch Support | Cost per 1M records |
|---|---|---|
| Google Maps | No official batch; requires async workarounds | ~$5,000 |
| Mapbox | No official batch API | ~$750 (with rate throttling) |
| HERE | Batch Geocoder API (dedicated endpoint) | ~$830 |
For data pipelines that need to geocode millions of addresses (property databases, logistics route planning, address normalization), HERE's Batch Geocoder is the only first-party option. It accepts CSV/JSON input files up to 1M records and returns results asynchronously.
Frontend and Autocomplete
Mapbox wins the frontend experience category decisively. The @mapbox/search-js-react package provides a drop-in autocomplete search box that integrates with mapbox-gl maps:
import { SearchBox } from '@mapbox/search-js-react';
function AddressInput({ onSelect }) {
return (
<SearchBox
accessToken={process.env.NEXT_PUBLIC_MAPBOX_TOKEN}
onRetrieve={({ features }) => {
const [lng, lat] = features[0].geometry.coordinates;
onSelect({ lat, lng, address: features[0].properties.full_address });
}}
/>
);
}
Google Places Autocomplete is the industry standard and still the most accurate for suggestion quality, but the JavaScript API has more setup friction. HERE Autosuggest works well but lacks a React component library — you integrate directly with the REST API.
For projects already using Mapbox maps, the unified SDK makes Mapbox the pragmatic choice for autocomplete. For apps where address suggestion quality is paramount (real estate, insurance intake), Google Places Autocomplete is worth the extra setup.
Reverse Geocoding
All three support reverse geocoding (coordinates → human-readable address), but at slightly different price points and quality levels.
// Mapbox reverse geocode
const response = await fetch(
`https://api.mapbox.com/search/geocode/v6/reverse?longitude=-122.0842&latitude=37.4225&access_token=${token}`
);
const { features } = await response.json();
const address = features[0]?.properties?.full_address;
Google's reverse geocoder returns the most granular result — it can distinguish between the front entrance and the loading dock of a building based on coordinates. HERE's reverse geocoding is best for road-snapping (returning the nearest road segment, not just the address). Mapbox's reverse geocoder performs well for consumer-facing apps showing "You are near [place name]."
When to Use Which
Choose Google Maps Geocoding when:
- Global accuracy is paramount, especially outside North America and Europe
- You need fuzzy matching on user-entered addresses
- You're building an address intake flow for commerce, delivery, or insurance
- You're already using other Google Maps APIs and want a unified platform
Choose Mapbox when:
- You're building a map-first product with visual geocoding (search and pin)
- You need a generous free tier for a low-volume or early-stage app
- You want a React/JS-native autocomplete component with minimal setup
- Your app uses Mapbox GL for map rendering
Choose HERE when:
- You need batch geocoding for data pipelines or bulk address enrichment
- You're building a logistics, routing, or automotive application
- Road-network accuracy matters (delivery routing, fleet management)
- You need enterprise SLAs and dedicated support