Build a restaurant database from live Google Maps

A fixed restaurant database goes stale fast. Pull fresh records straight from Google Maps instead: name, phone, website, hours, rating, and cuisine for any city, as clean JSON.

3,000 free / month, no card Up to 100 restaurants per search ~1 second responses
PULLED LIVE FROM THE API, JULY 17, 2026

One request, real response

# every restaurant in the results costs 1 credit; zero results cost nothing curl "https://crustapi.com/v1/search?type=maps&q=restaurants%20in%20Portland,%20OR&limit=5" -H "x-api-key: YOUR_KEY"
# CSV view of that same record, the fields drop straight into a spreadsheet: title,address,phone,website,categoryName,totalScore,reviewsCount,lat,lng,city,state,postalCode The Observatory,"8115 SE Stark St, Portland, OR 97215",(503) 4••-••84,http://www.theobservatorypdx.com/,American restaurant,4.6,3251,45.5192701,-122.5801938,Portland,Oregon,97215
// JSON view of the same record, trimmed to the highlights (phone masked for this page): { "title": "The Observatory", "placeId": "ChIJu9pp4gahlVQRK2-syvMVfQ4", "address": "8115 SE Stark St, Portland, OR 97215", "phone": "(503) 4••-••84", "website": "http://www.theobservatorypdx.com/", "categoryName": "American restaurant", "categories": ["American restaurant", "Bar", "Cocktail bar", "Restaurant"], "totalScore": 4.6, "reviewsCount": 3251, "openingHours": { "Friday": "11 AM-10:30 PM", "Saturday": "11 AM-10:30 PM", ... }, "location": { "lat": 45.5192701, "lng": -122.5801938 }, "city": "Portland", "state": "Oregon", "postalCode": "97215" }

That exact call came back in about a second with 5 complete records. Set limit up to 100 restaurants per search, and add stars=true for each spot's 1-to-5 review histogram.

WHAT EVERY RESTAURANT RECORD INCLUDES

The full listing, ready for a database

Every record comes complete. No field tiers, no extra charge for hours or ratings:

IdentityName · placeId · cid ContactPhone · website AddressStreet · city · state · zip CuisinePrimary + all categories ReputationRating · review count HoursFull weekly schedule ServiceDelivery · takeout · dine-in LocationLat / lng StatusOpen · closed flags

Where Google shows them, records also carry the listing's attribute lists: service options (delivery, takeout, outdoor seating), dining options (breakfast through dessert), amenities, and payment types. The catch: Google Maps listings never include an email address, so these records don't either. The section below covers how to get a verified email for the owner.

HOW TO BUILD IT

From one search to the whole city

One search returns up to 100 restaurants. A city holds more than that, so CrustAPI sweeps the whole metro and hands back every restaurant, deduplicated for you, past Google's ~100-per-search cap. The result is a citywide restaurant table with no work on your side.

# search by cuisine across the full area curl "https://crustapi.com/v1/search?type=maps&q=thai%20restaurants%20in%20Astoria,%20Queens&limit=100" -H "x-api-key: YOUR_KEY"

Two billing notes worth knowing up front. A search that comes back empty costs nothing, so trying one costs you nothing to run. You pay per record returned, so keep your searches focused if you are watching credits.

WHO PULLS THIS DATA

Three jobs it does well

WhoWhat they buildThe fields that matter
Food suppliers and distributorsA call list for every restaurant in the delivery zonePhone, address, categories, and hours (so reps call between rushes)
POS and restaurant SaaS salesTerritory lists ranked by how busy a spot looksReview count as a traffic proxy, rating, website, plus a verified owner email from LinkedIn people search
Analysts and researchersMarket maps: cuisine mix, density, and rating spread by areaCategories, lat/lng, rating, and the permanently-closed flag
PRICING

One credit per restaurant

The free tier gives you 3,000 credits a month with no card, so a 3,000-row restaurant table costs $0. Past that, prepaid packs: 25k for $49 · 100k for $149 · 500k for $549 · 2.5M for $1,999, ex-tax, all self-serve. That works out to $1.96 per 1,000 restaurants at entry. Credits never expire, so whatever a project doesn't use waits for the next one. And you're only charged when a query returns results; a search that returns 80 restaurants costs 80 credits, a search that returns none costs nothing.

Pull your first restaurant list free
3,000 credits a month. No card, no contract.
Get started →
GO DEEPER

Add the reviews, then find the owner

Swap type=maps for type=reviews to pull the actual Google reviews for any restaurant in your table: rating, text, author, and date, sorted and paginated, in about 0.3 seconds per call.

# the reviews for that Portland restaurant, newest first curl "https://crustapi.com/v1/search?type=reviews&placeId=ChIJu9pp4gahlVQRK2-syvMVfQ4&sortBy=newest" -H "x-api-key: YOUR_KEY"

And when the job is outreach, the maps record gets you the restaurant while the LinkedIn people search endpoint gets you the person. It searches public LinkedIn profiles and returns a verified email on people results, which is the piece a Maps listing can never give you.

# find the decision maker, with a verified email on the result curl "https://crustapi.com/v1/linkedin?type=search&keywords=restaurant%20owner%20Portland&enrich=true" -H "x-api-key: YOUR_KEY"

Related: Google Maps Scraper API · Google Reviews API · LinkedIn People Search API

FAIR PLAY

When something else is the better pick: if you need a prebuilt national list today and don't want to run any queries at all, a dataset vendor's ready-made CSV gets you started faster, stale rows and all. And if you're building live map features inside an app (place lookups, autocomplete on a map view), Google's official Places API with its SLA is built for exactly that; here's how they compare. This page is for people who want fresh records they own and can keep.

BEFORE YOU ASK

Common questions

WORKS WITH YOUR STACK

Start with one city

3,000 free credits covers a real citywide restaurant list. Run one search and look at the JSON that comes back.

Get 3,000 free credits
No credit card required