Places Insights overview

Places Insights lets you conduct advanced statistical analysis on Google Maps' rich Places data. It provides aggregated counts and density information for millions of Points-of-Interest (POI) data points, allowing for powerful geospatial intelligence.

Key capabilities

  • Geospatial Intelligence: Get a "bird's eye view" of the density and distribution of different categories of POIs (e.g., retail, restaurants, services) across specific geographic areas.
  • Secure Data Access: The data is deployed using BigQuery data exchange listings with data protections in place, enabling a secure and protected environment for data sharing and analysis.
  • Actionable Detail: While Places Insights focuses on aggregate trends, you can use the outputted Place IDs to drill down and retrieve individual Place information using other Google Maps Platform APIs to go from statistical insight to detailed action.

Understand places data and use cases

Google Maps curates places data for millions of establishments worldwide. Places Insights makes this comprehensive places data available in BigQuery so that you can derive aggregated insights about Google Maps' places data based on a variety of attributes such as place types, ratings, store hours, wheelchair accessibility, and more.

To use Places Insights, you write SQL queries in BigQuery that return statistical insights about places data. These insights let you answer questions such as:

  • How many similar businesses are operating near a potential new store location?
  • What kinds of businesses are most commonly found near my most successful stores?
  • What areas have a high concentration of complementary businesses that could attract my target customers?
  • How many 5-star sushi restaurants are open at 8pm in Madrid, have wheelchair-accessible parking, and offer takeout?
  • Which zip codes in California have the highest concentration of EV charging stations?

Supported use cases

  • Site selection: Evaluate and choose the most suitable locations for a new business or placement of a physical asset. By analyzing the density and mix of surrounding POIs, you can ensure a prospective site is optimally positioned within its competitive and complementary business environment. This data-driven approach can reduce the risk associated with investment in new locations.
  • Location performance evaluation: Determine what geospatial variables, such as proximity to certain types of POIs like supermarkets or event venues, correlate with positive or negative performance across your existing locations. This data lets you identify prospective sites that share the best mix of geospatial characteristics for your use case. You can also use this information to deploy predictive models that forecast the future performance of any new locations based on its surrounding POI context.
  • Geotargeted marketing: Determine what types of marketing campaigns or advertisements will be successful in an area. Places Insights provides the context needed to understand commercial activity, allowing you to tailor messaging based on the concentration of relevant businesses or activities.
  • Sales forecasting: Predict future sales at a prospective location. Modeling the impact of surrounding geospatial characteristics lets you create robust predictive models to drive investment decisions.
  • Market research: Inform which geographies to expand your business or service to next. Analyze existing market saturation and POI density to identify underserved or highly concentrated target markets that offer the greatest opportunity. This analysis provides evidence to support strategic growth and expansion initiatives.
  • Trends analysis: Explore changes that occur over a period of time. Compare place counts, including added and removed places, month-over-month back to January 2024.

You can query Places Insights datasets using Places Count functions or direct SQL queries.

See the Schema reference.

Choose your query method: Places Count functions versus direct SQL

To accommodate different analysis scales and privacy requirements, Places Insights offers two querying pathways: Places Count Functions (native BigQuery functions) and Direct SQL Queries (table joins).

Use this decision matrix to determine the correct query path for your implementation:

Your Analysis Goal Recommended Query Method Returned Data & Outputs Privacy & Spatial Considerations
Analyze regional POI density & build heatmaps PLACES_COUNT_PER_H3
  • Returns H3 hexagon polygons with exact counts (including 0)
  • Returns up to 250 place_id values per cell
  • Purpose-built for spatial ML models & feature engineering
  • Minimum search area of 40m × 40m (1,600 m²)
  • Optimized for performance and low processing cost
  • Validates input parameters and returns clear errors for easier debugging
Get counts for specific sites and retrieve Place IDs to lookup details PLACES_COUNT_V2 or PLACES_COUNT_PER_TYPE_V2
  • Returns exact counts (including 0) for custom geometries
  • Returns up to 250 place_id values per row
  • Minimum search area of 40m × 40m (1,600 m²)
  • Scalable to thousands of locations using TABLE parameters
  • Optimized for performance and low processing cost
  • Validates input parameters and returns clear errors for easier debugging
Track POI changes & growth trends over time between two months PLACES_COUNT_CHANGE
  • Returns start_count, end_count, net_change, percentage_change, and compound_monthly_growth_rate
  • Returns arrays of newly added (sample_added_place_ids) and removed (sample_removed_place_ids) Place IDs
  • Requires month1 and month2 parameters in YYYY-MM format
  • Minimum search area of 40m × 40m (1,600 m²)
  • Scalable to thousands of custom locations using TABLE parameters
Execute advanced custom logic, averages, or join with your data Direct SQL Queries
  • Full SQL flexibility across raw tables
  • Enables custom SQL metrics (AVG, SUM, etc.)
  • Doesn't return Place IDs
  • Privacy Threshold: Counts of 0 to 4 are completely omitted
  • No minimum search area restriction

Places Insights allows you to conduct historical analysis by querying monthly snapshots of Places data dating back to January 2024. This enables you to evaluate how business density, commercial activity, and competitive landscapes have evolved over time.

To query historical data using Places Count functions, pass the optional snapshot_date filter parameter inside your JSON_OBJECT. The value must be formatted as YYYY-MM (for example, '2026-01').

Example: Query historical restaurant counts in New York City with PLACES_COUNT_V2

The following example uses PLACES_COUNT_V2 to analyze operational restaurant counts around the Empire State Building and Times Square in New York City as they existed in January 2026:

-- Create a table for the input search geographies
WITH my_search_areas AS (
  SELECT
    'Empire State Building' AS geo_id,
    ST_GEOGPOINT(-73.9857, 40.7484) AS geo
  UNION ALL
  SELECT
    'Times Square' AS geo_id,
    ST_GEOGPOINT(-73.9851, 40.7580) AS geo
)

-- Query restaurant counts for the January 2026 snapshot
SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_V2`(
  TABLE my_search_areas,
  JSON_OBJECT(
      'geography_radius', 1000, -- Radius in meters around each point
      'business_status', ['OPERATIONAL'],
      'types', ['restaurant'],
      'snapshot_date', '2026-01'
  )
);

Analyzing historical output

The returned BigQuery table contains the geo_id, the input geography polygon, the place count, and sample Place IDs as they were recorded during the specified snapshot month (2026-01). You can run identical queries across multiple snapshot months to calculate growth trends, store openings, or market contraction.

Aggregate regional POI density using PLACES_COUNT_PER_H3

The PLACES_COUNT_PER_H3 function is the recommended pathway for analyzing POI density over large areas. By dividing your target region into standardized H3 hexagonal grid cells, you eliminate the need to draw custom boundaries and can feed results directly into visual mapping tools, such as Looker Studio.

Example: Count wheelchair-accessible grocery and convenience stores in New York State

The following query aggregates wheelchair-accessible grocery and convenience stores in New York State into H3 cells at resolution level 8. It uses boundary geometry dynamically retrieved from the bigquery-public-data.geo_us_boundaries.states public dataset.

-- Query POI count per H3 cell intersecting the New York State polygon boundary
SELECT *
FROM `PROJECT_NAME.places_insights___us.PLACES_COUNT_PER_H3`(
  JSON_OBJECT(
      'geography', (
        -- Dynamically retrieve the boundary geography for New York State
        SELECT state_geom
        FROM `bigquery-public-data.geo_us_boundaries.states`
        WHERE state = 'NY'
        LIMIT 1
      ),
      'types', ['grocery_store', 'convenience_store'],
      'business_status', ['OPERATIONAL'],
      'h3_resolution', 8,
      'wheelchair_accessible_entrance', TRUE
  )
)
ORDER BY count DESC;

Analyzing the output

This query returns a structured table mapping each distinct H3 index (h3_cell_index) to its boundary polygon (geography), POI count (count), and up to 250 representative sample_place_ids.

  • Zero-Counts Included: If a cell in the New York State grid has zero matching stores, it still returns a row with a count of 0. This is critical for locating commercial or service deserts.
  • Direct Visual Mapping: Because the output includes a GEOGRAPHY polygon, you can render heatmaps directly inside BigQuery Studio or Looker Studio.

Retrieve Place IDs to inspect place details

While Places Insights is built for statistical intelligence, you can transition from aggregated insights to granular actions.

All primary Places Count functions, including PLACES_COUNT_PER_H3, PLACES_COUNT_V2, and PLACES_COUNT_PER_TYPE_V2 (with the exception of the legacy PLACES_COUNT function), return an array of up to 250 Place IDs per row matching your query criteria.

These Place IDs act as a bridge, allowing you to use other Google Maps Platform APIs, such as the Place Details API, to retrieve specific details like store names, reviews, phone numbers, and addresses.

Analyze multi-location brand presence

Along with the places data, Places Insights includes data about brands, or stores that have multiple locations that operate under the same brand name.

You can query brand data to:

  • Identify the density of competitor brands in a target market.
  • Filter your POI counts specifically by brand IDs.
  • Examine market penetration by comparing branded versus independent establishments.

What's next