Restaurant Owner Contact Extractor avatar

Restaurant Owner Contact Extractor

Pricing

Pay per usage

Go to Apify Store
Restaurant Owner Contact Extractor

Restaurant Owner Contact Extractor

Find restaurant owner names, emails, phones, and decision-maker contacts from Google Maps listings and website crawls. Built for food distributors, POS resellers, and B2B sales teams.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Avinash

Avinash

Maintained by Community

Actor stats

0

Bookmarked

16

Total users

1

Monthly active users

4 days ago

Last modified

Security

Limited permissions

Share

Find restaurants on Google Maps and get a contact row for each one: phone, website, address, rating, review count, cuisine, opening hours and map coordinates. Turn on website crawling to also collect the email addresses, extra phone numbers and Facebook and Instagram links published on each restaurant's own site. It's meant for food distributors, POS resellers and anyone else selling to restaurants.

How it works

  1. Builds one Google Maps search from your query, location and cuisine. The location is added only when the query doesn't already name that city, so "restaurants in Austin TX" plus "Austin, TX" stays a single, clean search.
  2. Reads the results list through a residential proxy, then opens each restaurant's place page by URL.
  3. With extractOwnerDetails on, fetches each website's home page plus up to two contact or about pages. Sites that show no email over plain HTTP get one more try in a real browser.

A run that finds nothing ends as failed with a message, so empty results show up in your run history.

Input

FieldDefaultNotes
searchQueryrestaurants in Austin TXAnything you would type into Google Maps.
locationemptyOptional city or area.
maxResults5Google lists about 120 places per search; larger values are capped at 120.
cuisineTypeemptyOptional, e.g. Thai. Added to the search query.
minRating0Drops restaurants below this star rating.
extractOwnerDetailsfalseCrawl websites for emails and social links (the name is kept so saved inputs still work).
proxyConfigurationResidentialGoogle blocks datacenter IPs quickly.

Output

{
"restaurantName": "Caroline",
"placeId": "0x8644b509e7e92743:0x38cd855b7c17b277",
"googleMapsUrl": "https://www.google.com/maps/place/Caroline/...",
"address": "621 Congress Ave Suite 101, Austin, TX 78701, United States",
"street": "621 Congress Ave Suite 101",
"city": "Austin",
"state": "TX",
"zip": "78701",
"latitude": 30.2688157,
"longitude": -97.7422982,
"phone": "+1 512-982-6766",
"website": "http://www.carolinerestaurant.com/",
"rating": 4.8,
"reviewCount": 15740,
"hours": { "Monday": "7 am–11 pm", "Tuesday": "7 am–11 pm", "Wednesday": "7 am–11 pm", "Thursday": "7 am–11 pm", "Friday": "7 am–12 am", "Saturday": "7 am–12 am", "Sunday": "7 am–10 pm" },
"cuisineType": "American restaurant",
"categories": ["American restaurant"],
"isChain": false,
"permanentlyClosed": false,
"temporarilyClosed": false,
"emails": [],
"phones": ["+1 512-982-6766"],
"facebook": null,
"instagram": null,
"websiteReachable": true,
"scrapedAt": "2026-10-29T13:26:06.107Z"
}

emails, phones, facebook, instagram and websiteReachable appear only when website crawling is on. Missing values are null.

isChain is true only when the name starts with a known US national chain brand (Starbucks, Chipotle, Torchy's Tacos and about 55 others). Regional chains that aren't on the list read false.

What you won't get

  • Owner names. Earlier versions promised them, but in testing none of the restaurant websites we checked named an owner in a form that could be read reliably, so the field was removed rather than filled with guesses.
  • Price range. Google hides it from logged-out sessions.
  • Many emails. Restaurants mostly use contact forms or reservation tools; in testing only 3 of 14 websites listed an email address. Phone and website are on nearly every row.

A 5-restaurant run without website crawling takes about a minute and used about $0.11 to $0.13 of platform credit in testing. With website crawling, opening hours came back for about half to most rows (Google trims the hours table in its limited view).