In this guide
The bill that grows with every keystroke
Founders worry about server costs and forget the maps bill. That is a mistake. In a ride or delivery app, almost every important action touches a maps API: searching for a pickup address, showing the route, estimating arrival time, calculating the fare. Every one of those can be a billable call, and the count grows with every user, every keystroke and every refresh.
Nobody will warn you about this in a sales demo. Default code often calls the most expensive option, on every keystroke, without caching. The app works perfectly, and then the invoice arrives. This guide explains how Google Maps Platform billing works now, where on-demand apps lose money, how to control it, and when alternatives make sense. All prices are as of October 2026 from the official pricing pages; check the provider's page before budgeting, because prices change and some regions (such as India) have their own price lists.
How Google Maps Platform billing works now
On March 1, 2025, Google changed its model. The old $200 monthly credit was replaced by a free monthly usage cap for each SKU (each billable product). Products are grouped into Essentials, Pro and Enterprise categories, and volume discounts now scale further for most core SKUs. Places API, Directions API and Distance Matrix API became Legacy; their replacements are Places API (New) and the Routes API. Google says legacy services get no new features and that it will give at least 12 months' notice before retiring them.
The SKUs an on-demand app actually uses
Prices below are USD per 1,000 billable events from Google's global pricing list, as of October 2026.
| SKU (what it does in your app) | Category | Free per month | First paid tier (to 100,000) | 100,001 to 500,000 |
|---|---|---|---|---|
| Mobile Native Dynamic Maps (map inside the Android/iOS app) | Essentials | Unlimited | No charge | No charge |
| Dynamic Maps (map on a website or web admin panel) | Essentials | 10,000 | $7.00 | $5.60 |
| Autocomplete Requests (address suggestions as the user types) | Essentials | 10,000 | $2.83 | $2.27 |
| Place Details Pro (full details of the chosen place) | Pro | 5,000 | $17.00 | $13.60 |
| Geocoding (address to coordinates, or reverse) | Essentials | 10,000 | $5.00 | $4.00 |
| Compute Routes Essentials (route and ETA) | Essentials | 10,000 | $5.00 | $4.00 |
| Compute Routes Pro (advanced routing features) | Pro | 5,000 | $10.00 | $8.00 |
| Compute Route Matrix Essentials (many origins to many destinations) | Essentials | 10,000 | $5.00 | $4.00 |
| Directions / Distance Matrix (legacy) | Essentials (Legacy) | 10,000 | $5.00 | $4.00 |
Two things founders rarely hear:
- Showing the map inside a native mobile app is free. The Maps SDK for Android and iOS is listed with unlimited free use. Your bill does not come from the map; it comes from searching, looking up places and calculating routes.
- "Pro" fields cost real money. Asking for a place's rating, opening hours or photos can move a call from an Essentials SKU into a Pro or Enterprise SKU. Most ride apps only need a name, address and coordinates.
Subscription plans
Google also offers flat monthly subscriptions: Starter at $100 for 50,000 combined calls, Essentials at $275 for 100,000, and Pro at $1,200 for 250,000, covering a listed set of Maps, Routes and Places SKUs. Calls are not blocked when you exceed the limit; extra usage is billed at pay-as-you-go rates on top of the flat fee. A subscription makes the bill predictable, but it does not make wasteful code cheap.
Where the costs explode
1. Autocomplete on every keystroke
A rider typing "Gulshan Avenue" can fire a request for every letter. Without controls, that is a dozen or more billable requests for one address.
2. Session tokens misunderstood
Session tokens group autocomplete requests with the Place Details call that ends the search. But they do not make everything free. Under Google's session rules: if the session ends with a Place Details Essentials request, the first 12 autocomplete requests are still billed and only later ones are free; if it ends with a Pro or Enterprise details request, the autocomplete requests are free but that details call is billed at its higher rate. Abandoned sessions revert to per-request billing. You need to design the flow knowingly, not just "add a token".
3. Polling ETAs
Recomputing the driver's ETA with a fresh Routes call every few seconds is one of the fastest ways to burn money. Here is a hypothetical worked example using the prices above: 10,000 rides a month, with the ETA recalculated every 30 seconds for 10 minutes before pickup, is 20 calls per ride, or 200,000 Compute Routes Essentials calls. After 10,000 free, 90,000 at $5.00 per 1,000 and 100,000 at $4.00 per 1,000 comes to about $850 a month just for that one screen. Calculating the route once, then updating the ETA on your own server from the driver's live position, costs a fraction of that.
4. Matrix calls for driver matching
Using a route matrix to compare every nearby driver with every request multiplies calls quickly. A straight-line distance filter in your own database (fast with Redis geo queries) can shortlist drivers first, so you only call routing for the best few.
5. Leaked or unrestricted API keys
A key copied from an app and used elsewhere generates charges in your name. Key restrictions are free; misuse is not.
Cost-control techniques that work
- Debounce autocomplete. Wait until the user pauses typing (for example a few hundred milliseconds) and require a minimum number of characters before searching.
- Use session tokens deliberately, and decide which Place Details tier ends the session.
- Use field masks. The newer Places and Routes APIs let you request only the fields you need; requesting fewer, simpler fields keeps calls in cheaper SKUs.
- Cache what you are allowed to cache. Store saved places (home, work, popular restaurants) and their coordinates per user. Google's terms limit what can be cached and for how long, so read them, but place IDs and a user's own saved addresses go a long way.
- Offer saved and recent addresses first. Every tap on "Home" is a search you did not pay for.
- Route on the server, once. Calculate the route when the trip is accepted, then estimate progress from GPS updates instead of re-requesting.
- Restrict every key by app package/bundle ID, website domain or server IP, and by API. Use separate keys for mobile, web and server.
- Set budgets, alerts and quotas in Google Cloud so a bug cannot run up a surprise bill overnight.
- Review the billing report monthly, broken down by SKU. The expensive line is usually not the one you expect.
The hybrid approach: use Google only where it is genuinely better
You do not have to pick one provider for everything. Many cost-conscious platforms mix:
- Map display: MapLibre (an open-source map rendering library) with OpenStreetMap-based vector tiles from a tile host or your own server. In native apps the Google SDK map is free anyway, so this matters most for web panels and websites.
- Address search and geocoding: a cheaper commercial geocoder (such as Mapbox or HERE), a self-hosted open-source geocoder (Nominatim, or Photon, which is designed for search-as-you-type), or a regional provider with better local data.
- Routing and ETAs: self-hosted OSRM or Valhalla, open-source routing engines that run on your own server using OpenStreetMap data, with no per-request fee.
- Google, kept for the hard cases: for example, place search for business names where Google's data is clearly better in your city.
The honest trade-offs:
- Data quality varies by city. OpenStreetMap is excellent in some places and thin in others. Test real addresses from your market before switching.
- Self-hosted means you operate it. Routing and geocoding servers need memory, regular data updates and monitoring. You trade an API bill for a server bill plus engineering time.
- No live traffic by default. Open-source routing gives good distances and baseline times, but not Google-grade live traffic. For fares based on distance that is often fine; for precise ETAs in heavy traffic it may not be.
- Public OpenStreetMap servers are not for production. The OSM Foundation's Nominatim policy allows at most one request per second, forbids autocomplete, and tells heavy and commercial users to use a provider or run their own instance. Its tile policy likewise says commercial services should not rely on the free public tile servers.
- Attribution and licences matter. OpenStreetMap data must be credited on the map, and each commercial provider has its own terms on caching and mixing data.
Alternatives compared
Free allowances and prices below are from each provider's pricing page as of October 2026, where we could verify them; check current terms before deciding.
| Provider | Pricing model | Strengths | Trade-offs |
|---|---|---|---|
| Google Maps Platform | Per-SKU free cap, then per 1,000 calls; optional subscriptions | Best-known place data and traffic in many markets; free native map display | Places and routing add up fast; Pro fields are expensive |
| Mapbox | Free tiers, then usage-based. Example: web map loads free to 50,000/month, then $5 per 1,000; Directions and Matrix free to 100,000/month, then $2 per 1,000 | Highly customisable maps; generous routing free tier | Place data can be weaker in some cities; mobile SDK billed per monthly active user above 25,000 |
| HERE | Freemium Base plan with a monthly free allowance, then usage-based | Strong routing and geocoding heritage | Check the pricing page for your exact APIs; quality varies by region |
| TomTom | Free monthly requests per API (e.g. 200,000 vector tile requests, 20,000 routing requests), then paid tiers | Generous map tile allowance; traffic data | Smaller ecosystem than Google; matrix and search allowances are smaller |
| OpenStreetMap + OSRM/Valhalla + Nominatim/Photon (self-hosted) | No per-call fee; you pay for servers and maintenance | Predictable cost at high volume; full control | Needs engineering skill; data quality varies; no live traffic by default |
| MapLibre | Open-source rendering library; free | Displays tiles from any compatible source | It is only the map renderer; you still need tiles, search and routing |
| Regional providers (e.g. Ola Maps in India, Barikoi in Bangladesh) | Varies; check with the provider | Local address data and local pricing | Coverage limited to their markets; confirm SDK quality and support |
Maps cost checklist before launch
- Every API key restricted by app, domain or IP and by API
- Budget alerts and daily quotas set in Google Cloud
- Autocomplete debounced, with a minimum character count
- Session tokens used, and the ending Place Details tier chosen deliberately
- Field masks request only name, address and coordinates where possible
- Saved and recent addresses shown before any search
- Route calculated once per trip; ETA updated from GPS, not polling
- Driver matching uses a distance filter before any routing call
- Legacy APIs (Directions, Distance Matrix, old Places) on a migration plan
- Monthly review of the maps bill by SKU
The bottom line
Maps are not optional in a ride or delivery app, but a big maps bill usually is. Most overspending comes from code that searches on every keystroke, asks for fields nobody uses, and recalculates routes the app already knows. Fix that first. Then, if volume grows, move the commodity parts (tiles, routing, basic geocoding) to cheaper or self-hosted options and keep Google for the jobs it does best. This is how we build at Joldisoft: Google Maps combined with Mapbox, OpenStreetMap or HERE, chosen per city and per feature to control cost. If you want a second opinion on your setup, see our ride-hailing platform, and our guide to app build costs covers the rest of the budget.
Frequently asked questions
Is Google Maps free for a ride-hailing app?
Partly. As of October 2026, Google lists the Maps SDK for Android and iOS (the map inside a native app) with unlimited free use. Autocomplete, place details, geocoding and routing have monthly free caps and are then charged per 1,000 calls.
What replaced the $200 Google Maps credit?
From March 1, 2025, Google replaced the $200 monthly credit with a free monthly usage cap for each SKU, grouped into Essentials, Pro and Enterprise categories, and expanded volume discounts for most core SKUs.
Do session tokens make autocomplete free?
Not automatically. If the session ends with a Place Details Essentials call, the first 12 autocomplete requests are still billed. If it ends with a Pro or Enterprise details call, autocomplete is free but that call costs more. Abandoned sessions are billed per request.
Can I use OpenStreetMap instead of Google Maps?
Yes, but not through the free public servers for a production app. You use a commercial OSM-based provider or self-host tiles, geocoding (Nominatim or Photon) and routing (OSRM or Valhalla). Test address quality in your city first.
What is the biggest maps cost mistake in on-demand apps?
Recalculating routes and ETAs with repeated API calls during a trip, and firing autocomplete on every keystroke. Calculating the route once and debouncing search usually cut the bill sharply.
Is Mapbox cheaper than Google Maps?
For some workloads. As of October 2026, Mapbox lists Directions and Matrix free up to 100,000 requests a month, then $2 per 1,000. Compare your real call mix, and test place-search quality in your market.
Sources

Founder & CEO, Joldisoft. Builds ride-hailing, delivery and on-demand platforms for founders worldwide.