Google Maps API pricing, explained

Google Maps API pricing runs on three tiers, per-SKU free calls, and field-based rates. Here are the real 2026 numbers, plus the per-business math against scraping the same data at 1 credit per result.

Real rates, checked July 17, 2026 1 credit = 1 business returned 3,000 free / month, no card
THE OFFICIAL MODEL

How Google bills for Maps

Google Maps Platform splits into dozens of SKUs (Text Search, Place Details, Geocoding, Dynamic Maps, and so on), and every SKU sits in one of three tiers: Essentials, Pro, or Enterprise. You pay per request, priced per 1,000.

The old $200 monthly credit was retired in March 2025. In its place, each SKU now carries its own free monthly call count: 10,000 calls for Essentials SKUs, 5,000 for Pro, and 1,000 for Enterprise. Embedded maps and the mobile map SDKs stay free with no cap, which is a genuinely good deal if all you need is a map on a page.

For Places requests, the fields you ask for decide the tier. Request ratings, phone numbers, websites, or opening hours and the call bills at the Enterprise rate. Rates also step down on volume: above 100,000 calls a month prices drop roughly 20%, and they fall further past 1 million.

CHECKED JULY 17, 2026

The price table

The SKUs most people mean when they search for Google Maps API pricing, at the base rate before volume discounts:

SKUTierPrice per 1,000 callsFree calls / month
Text SearchPro$32.005,000
Text SearchEnterprise$35.001,000
Nearby SearchPro$32.005,000
Place DetailsPro$17.005,000
Place DetailsEnterprise$20.001,000
GeocodingEssentials$5.0010,000
Dynamic MapsEssentials$7.0010,000

Figures from Google Maps Platform pricing, checked July 17, 2026. Volume rates step down above 100,000 calls a month (Text Search Enterprise drops to $28.00 per 1,000) and again past 1 million ($10.50 per 1,000).

READ BEFORE YOU BUDGET

Four things that surprise people

1. Fields pick your rate. A Places request that asks for phone, website, hours, or ratings bills at the Enterprise tier. For business data work, those are exactly the fields you want, so plan on the $35 rate for Text Search.

2. You pay per request, whatever comes back. A text search that returns 2 places bills the same 3.5 cents as one that returns 20. A search that returns nothing bills too.

3. Results cap at 60 per query. Each Text Search request returns up to 20 places, and one query tops out at 60 across 3 billed pages. Covering a whole city means fanning out many overlapping queries, and the overlap bills full price for duplicates.

4. You can't keep most of the data. Google's Maps service terms (§14.3) restrict caching or storing Places content beyond place IDs, and lat/lng can only be cached for 30 days. For a lead list, that rule matters more than the rates do.

FAIR PLAY

When the official API is the right buy: you're building live location features inside an app (map views, autocomplete, place lookups), you want Google's SLA and support contracts, or your legal team requires a Google-billed product. The free embedded maps and SDKs are generous, and in the best case its per-business cost can beat ours. It's built for apps and it's good at that job.

THE WORKED MATH

The same job, priced per business

Take a concrete job: 1,000 dentists with phone, website, rating, and hours.

Through the official API that data sits at the Enterprise tier: $35 per 1,000 Text Search requests, or 3.5 cents each, with up to 20 places per request. Best case, every request comes back with 20 fresh businesses and the job costs $1.75. That beats our entry rate, and we'd rather tell you that than hide it.

Real pulls miss the best case. City coverage means overlapping queries, and duplicates bill full price. Thin queries return 3 or 4 places and bill the same as full ones. Empties bill too. Then the storage terms say the list you just paid for can't be kept beyond place IDs.

CrustAPI's meter only moves when a business comes back. 1,000 dentists cost 1,000 credits, $1.96 at the entry pack, however many searches it took. Empty searches cost nothing, every record arrives complete, and it's yours to store. One catch: a business returned by two of your searches bills each time, so tight queries still pay off.

Places API (Text Search Enterprise)CrustAPI Maps
Billing unitPer request, even for 0 resultsPer business returned; empties free
Per 1,000 businesses$1.75 best case, more with overlap and thin queries$1.96 entry, down to $0.80 on the 2.5M pack
Results per query60 max, via 3 billed pages of 20Up to 100 in one request
Phone, website, hours, ratingEnterprise tier onlyIncluded in every record
Storing the dataPlace IDs only; lat/lng capped at 30 daysNo storage limits
Free tier1,000 Enterprise calls / month per SKU3,000 credits / month, no card
Unused budgetFree calls reset monthlyCredits never expire
PULLED LIVE FROM THE API, JULY 17, 2026

What a credit buys

One request, straight from the docs to a terminal. Here's the result as CSV first, then the same records as JSON. This pull came back in about a second:

# 1 credit per business returned; zero results cost nothing curl "https://crustapi.com/v1/search?type=maps&q=dentists%20in%20Denver,%20CO&limit=3" -H "x-api-key: YOUR_KEY"
# CSV view (owner-preferred); same records as the JSON below, rows 2-3 trimmed, phone masked title,placeId,address,phone,website,categoryName,totalScore,reviewsCount,lat,lng The Denver Dentists,ChIJyxDJBfR5bIcRLxwG8ibI42k,"2190 E 17th Ave, Denver, CO 80206",(720) 6XX-XX31,http://www.thedenverdentists.com/,Dentist,4.4,616,39.7430704,-104.961213 ...
// JSON view. Response meta + one of the 3 businesses, trimmed (phone masked for the page): { "query": "dentists in Denver, CO", "count": 3, "tookMs": 980, "places": [{ "title": "The Denver Dentists", "placeId": "ChIJyxDJBfR5bIcRLxwG8ibI42k", "address": "2190 E 17th Ave, Denver, CO 80206", "phone": "(720) 6XX-XX31", "website": "http://www.thedenverdentists.com/", "categoryName": "Dentist", "totalScore": 4.4, "reviewsCount": 616, "openingHours": { "Monday": "8 AM-5 PM", "Tuesday": "8 AM-5 PM", ... }, "location": { "lat": 39.7430704, "lng": -104.961213 } }, ...] }

Every record includes name, address, phone, website, rating, review count, categories, and hours. Maps records do not include email addresses (emails aren't on Google Maps). If you need verified emails on people, that comes from our LinkedIn people search API. And swapping type=maps for type=reviews pulls the actual Google reviews for any place in about 0.3 seconds.

CRUSTAPI PRICING

One credit per business

Prepaid packs, self-serve, ex-tax. Credits never expire, so an unused pack waits for your next project. Every plan starts on top of 3,000 free queries a month with no card.

PackPricePer 1,000 businesses
25,000 credits$49$1.96
100,000 credits$149$1.49
500,000 credits$549$1.10
2,500,000 credits$1,999$0.80

Maps is one of 12 Google search types on the same key and the same credits, web search included. See the Google Search API for the SERP side, or try any of them in the playground first.

Run the math on your own city
3,000 credits a month. No card, no contract.
Get started →

Related: Google Maps Scraper API · Google Places API Alternative · Google Reviews API

BEFORE YOU ASK

Common questions

WORKS WITH YOUR STACK

Price a real pull, free

3,000 free credits covers a real lead list. Run one search, look at the rows, and check the math yourself.

Get 3,000 free credits
No credit card required