Skip to main content
Discover local businesses like restaurants, retail stores, service providers, and other physical locations using Google Maps data.
Looking for B2B companies (SaaS, tech, agencies)? Use canvas.companies.find() instead.
const restaurants = await canvas.places.find({
  query: "Italian restaurants",
  location: "Austin, TX",
  radius: 5000,
  minRating: 4.0,
  limit: 50,
});

Parameters

What are you looking for?

query
string
required
Search query (e.g., "coffee shops", "dentists", "yoga studios").
keywords
string[]
Additional keywords to filter results.

Where?

location
string
required
Location to search around (e.g., "Austin, TX", "90210").
radius
number
default:"5000"
Search radius in meters (max 50,000).
coordinates
object
Exact coordinates to search around.
{ lat: 30.2672, lng: -97.7431 }

Filters

minRating
number
Minimum Google rating (1-5).
minReviews
number
Minimum number of reviews.
hasWebsite
boolean
default:"true"
Only return places with a website.
openNow
boolean
Only return places currently open.

How many?

limit
number
default:"20"
Maximum number of places to return.

Returns

Array of places matching the criteria:
FieldTypeDescription
namestringBusiness name
addressstringFull address
phonestringPhone number
websitestringWebsite URL
ratingnumberGoogle rating (1-5)
reviewCountnumberNumber of reviews
placeIdstringGoogle Place ID
typesstring[]Business types
hoursobjectOperating hours
priceLevelnumberPrice level (1-4)

Examples

Find Restaurants

const restaurants = await canvas.places.find({
  query: "sushi restaurants",
  location: "San Francisco, CA",
  minRating: 4.0,
  limit: 25,
});

Find Service Providers

const dentists = await canvas.places.find({
  query: "dentist",
  location: "Brooklyn, NY",
  minRating: 4.5,
  minReviews: 50,
  limit: 20,
});

Find by Coordinates

const nearbyGyms = await canvas.places.find({
  query: "gym fitness center",
  coordinates: { lat: 40.7128, lng: -74.0060 },
  radius: 2000,
  limit: 10,
});

Find Open Businesses

const openCoffeeShops = await canvas.places.find({
  query: "coffee shop",
  location: "Seattle, WA",
  openNow: true,
  minRating: 4.0,
  limit: 15,
});

Use Cases

Local Lead Generation

Find businesses in a specific area that might need your services:
const leads = await canvas.places.find({
  query: "auto repair shop",
  location: "Denver, CO",
  minRating: 3.5,
  hasWebsite: true,
  limit: 100,
});

// Enrich with contact info
const enriched = await canvas.contacts.enrich({
  people: leads.map(place => ({
    company: place.name,
    domain: new URL(place.website).hostname,
  })),
});

Competitive Analysis

Map out competitors in a region:
const competitors = await canvas.places.find({
  query: "yoga studio pilates",
  location: "Austin, TX",
  radius: 15000,
  limit: 50,
});

// Research each competitor
for (const competitor of competitors) {
  const analysis = await canvas.ai.research({
    prompt: "Summarize this business's offerings and reviews",
    data: competitor,
  });
}

Territory Mapping

Find all businesses of a type across multiple locations:
const cities = ["Austin, TX", "Dallas, TX", "Houston, TX", "San Antonio, TX"];

const allPlaces = [];
for (const city of cities) {
  const places = await canvas.places.find({
    query: "commercial real estate agency",
    location: city,
    limit: 30,
  });
  allPlaces.push(...places);
}

return allPlaces;