Google's distance matrix pricing now lives in the Routes API: 10,000 free elements a month, then $5.00 per 1,000, and every origin and destination pair counts. Here is the full rate card.
Google reworked Maps pricing on March 1, 2025. Figures below are from Google's official pricing page, checked August 4, 2026.
Two things decide your bill. First, the unit: a distance matrix is billed per element, which means origins times destinations. One request comparing 25 origins against 25 destinations creates 625 billable events, not one. Second, the tier: a basic request bills as Essentials, which gets 10,000 free elements per month, then $5.00 per 1,000 up to 100,000 monthly events, dropping to $4.00 per 1,000 between 100,001 and 500,000. Turning on traffic-aware routing moves the same call to the Pro rate card at double the price, and Enterprise features double it again.
| Monthly volume | Essentials | Pro (traffic aware) | Enterprise |
|---|---|---|---|
| Free monthly threshold | 10,000 events | 5,000 events | 1,000 events |
| Up to 100,000 events | $5.00 per 1,000 | $10.00 per 1,000 | $15.00 per 1,000 |
| 100,001 to 500,000 | $4.00 per 1,000 | $8.00 per 1,000 | $12.00 per 1,000 |
| 500,001 to 1,000,000 | $3.00 per 1,000 | $6.00 per 1,000 | $9.00 per 1,000 |
| 1,000,001 to 5,000,000 | $1.50 per 1,000 | $3.00 per 1,000 | $4.50 per 1,000 |
| Beyond 5,000,000 | $0.38 per 1,000 | $0.75 per 1,000 | $1.14 per 1,000 |
Rates are per 1,000 billable events and apply to both Compute Route Matrix (the distance matrix) and Compute Routes (directions). The old $200 monthly credit is retired; each SKU now carries its own free threshold.
Google now files the standalone Directions API and Distance Matrix API under legacy services and points new work at the Routes API. Same jobs, new names, one rate card.
Inside the Routes API, Compute Routes is the Directions replacement and Compute Route Matrix is the distance matrix replacement, and both use the table above. The tier depends on features, not volume: a basic request bills as Essentials, setting the routing preference to TRAFFIC_AWARE or TRAFFIC_AWARE_OPTIMAL moves it to Pro, and features like two-wheel vehicle routing bill as Enterprise. So a directions call costs $5.00 per 1,000 after the free 10,000, and the same call with live traffic costs $10.00 per 1,000 after a smaller free 5,000.
Per-element billing makes small-sounding workloads add up fast.
Run a 20-store locator with 10,000 lookups a month: each lookup compares 1 origin against 20 destinations, so 20 elements, and the month totals 200,000 elements. The first 10,000 are free, the next 90,000 bill at $5.00 per 1,000, and the next 100,000 at $4.00, so $850 a month. A flat 50,000 elements a month is simpler: 40,000 billable at $5.00 per 1,000, $200 a month. The free threshold resets monthly and unused allowance does not carry over.
The right-hand receipt applies when your matrix is really a nearest-business problem: with coordinates on every record, ranking by straight-line distance is free math, and you only pay Google for drive times on the short list.
A lot of distance matrix spend follows one pattern: take a point, find the businesses around it, rank them by distance, then show drive times for the top few. Most of that work does not need a matrix.
CrustAPI's place search returns every business with latitude and longitude already attached, along with name, full address, phone, website, category, rating, and review count, in one call at 1 credit per business, about $1.96 per 1,000 at the entry pack. Straight-line distance between two coordinate pairs is free arithmetic, so you can rank the whole list without touching a matrix, then send only the shortlist, five pairs instead of 625, to the Routes API for real drive times. The matrix shrinks by two orders of magnitude and the business data comes with it.
The businesses as CSV first, coordinates on every row:
Sample rows as CSV, exactly as exported · phones unmasked in the API response
| name | address | lat | lng | phone |
|---|---|---|---|---|
| Capsule | 661 N Wells St, Chicago, IL 60654 | 41.8945219 | -87.6338147 | (312) 589-76•• |
| Walgreens Pharmacy | 2001 N Milwaukee Ave, Chicago, IL 60647 | 41.9177729 | -87.688525 | (773) 772-23•• |
| Pharmacy One Plus | 4753 N Kedzie Ave, Chicago, IL 60625 | 41.9682172 | -87.7083519 | (773) 267-92•• |
| Carnegie Sargent's Pharmacy and Health Center | 845 N Michigan Ave #902W, Chicago, IL 60611 | 41.8980814 | -87.6230972 | (312) 280-12•• |
| Walgreens Pharmacy | 1554 E 55th St, Chicago, IL 60615 | 41.7953637 | -87.5878787 | (773) 667-11•• |
| Chicago Health Mart Pharmacy | 1260 W Devon Ave, Chicago, IL 60660 | 41.9983251 | -87.6629248 | (773) 856-09•• |
And one record as JSON:
Different tools with an overlapping job: knowing what is near what.
| Google Routes API | CrustAPI place search | |
|---|---|---|
| Input | Origin and destination lists you already have | A business search: category, name, area |
| Output | A matrix of travel times and distances | The whole business record, coordinates included |
| Billing unit | Per element: origins x destinations | Per business returned |
| Free volume | 10,000 elements / month | 3,000 credits / month |
| Paid rate | $5.00 per 1,000, $10.00 with traffic | $1.96 per 1,000 businesses, falling to about $0.40 |
| Unused volume | Resets monthly | Credits never expire |
| Setup | Cloud billing account required | API key, no card for the free tier |
When the real Routes API is the right tool: actual drive times, live traffic, turn-by-turn directions, tolls, transit, and SLA-backed terms inside a Google Cloud stack. Straight-line distance is not a drive time; when the route itself is the product, pay for the Routes API. This shortcut only covers finding and ranking businesses by proximity.
Related: Google Geocoding API pricing · Google Maps API pricing · Google Places API pricing
If the points in your matrix are businesses, pull one market on the free tier, rank by distance for free, and count the elements you just did not buy.
Get 3,000 free credits