science This product or feature is in Experimental (pre-GA). Pre-GA products and features might have limited support, and changes to pre-GA products and features might not be compatible with other pre-GA versions. Pre-GA Offerings are covered by the Google Maps Platform Service Specific Terms. For more information, see the launch stage descriptions. Sign up to test Places Insights!
Stay organized with collections
Save and categorize content based on your preferences.
The PLACES_COUNT_PER_TYPE function returns a table of counts for each place
type specified to the function. For example, if you search for the types
doctor, hospital, and pharmacy the response contains a table with a
separate row for each type.
Because the PLACES_COUNT_PER_TYPE function returns a table, call it using a
FROM clause.
Input parameters:
Required: The geographyfilter parameter that
specifies the search area. The geography parameter takes a value
defined by the BigQuery
GEOGRAPHY
data type, which supports points, linestrings, and polygons.
For examples of using different types of search geographies, such as
viewports and lines, see PLACES_COUNT
function.
Required: The typesfilter parameter that
specifies the place types to search for.
Optional: Additional filter parameters to refine
your search.
Returns:
A table with one row per types value. The table contains the columns
type (STRING), count (INT64), and sample_place_ids
(ARRAY<STRING>) where sample_place_ids contains up to 250 place IDs for
each type.
Example: Return count of restaurant, cafes, and bars
In this example, you search for all operational restaurant, cafe, and bars in
the specified search area defined as a polygon in New York City.
The types parameter takes an array of STRING values specifying the place
types to search for. For the complete list of possible values, see Table A and
Table B at Places types.
This example also uses the BigQuery
ST_GEOGFROMTEXT
function to return a GEOGRAPHY value from a polygon.
[null,null,["Last updated 2025-07-25 UTC."],[],[],null,["The `PLACES_COUNT_PER_TYPE` function returns a table of counts for each place\n**type** specified to the function. For example, if you search for the types\n`doctor`, `hospital`, and `pharmacy` the response contains a table with a\nseparate row for each type.\n| **Note:** If you specify these same three types to the `PLACES_COUNT` function, `PLACES_COUNT` returns a single value containing the combined count for all three types.\n\nBecause the `PLACES_COUNT_PER_TYPE` function returns a table, call it using a\n`FROM` clause.\n\n- Input parameters:\n\n - **Required** : The `geography` [filter parameter](/maps/documentation/placesinsights/experimental/filter-params) that\n specifies the search area. The `geography` parameter takes a value\n defined by the BigQuery\n [`GEOGRAPHY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#geography_type)\n data type, which supports points, linestrings, and polygons.\n\n For examples of using different types of search geographies, such as\n viewports and lines, see [`PLACES_COUNT`\n function](/maps/documentation/placesinsights/experimental/places-count).\n - **Required** : The `types` [filter parameter](/maps/documentation/placesinsights/experimental/filter-params) that\n specifies the place types to search for.\n\n - **Optional** : Additional [filter](/maps/documentation/placesinsights/experimental/filter-params) parameters to refine\n your search.\n\n- Returns:\n\n - A table with one row per `types` value. The table contains the columns `type` (`STRING`) and `count` (`INT64`).\n\nExample: Return count of restaurant, cafes, and bars\n\nIn this example, you search for all operational restaurant, cafe, and bars in\nthe specified search area defined as a polygon in New York City.\n\nThe `types` parameter takes an array of `STRING` values specifying the place\ntypes to search for. For the complete list of possible values, see Table A and\nTable B at [Places types](/maps/documentation/places/web-service/place-types).\n\nThis example also uses the BigQuery\n[`ST_GEOGFROMTEXT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions#st_geogfromtext)\nfunction to return a `GEOGRAPHY` value from a polygon. \n\n```googlesql\nDECLARE geo GEOGRAPHY;\nSET geo = ST_GEOGFROMTEXT('''POLYGON((-73.985708 40.75773,-73.993324 40.750298,\n -73.9857 40.7484,-73.9785 40.7575,\n -73.985708 40.75773))'''); -- NYC viewport\n\nSELECT * FROM `maps-platform-analytics-hub.sample_places_insights_us.PLACES_COUNT_PER_TYPE`(\n JSON_OBJECT(\n 'types', [\"restaurant\", \"cafe\", \"bar\"],\n 'geography', geo,\n 'business_status', ['OPERATIONAL']\n )\n);\n```\n\nThis function returns a table with three rows, one per type:"]]