You can apply filters to [Places Count
functions](https://developers.google.com/maps/documentation/placesinsights/get-started#select_the_optimal_places_count_function)
using the parameters described in the table below. Note that the required
parameters differ for each function:

- [`PLACES_COUNT`](https://developers.google.com/maps/documentation/placesinsights/place-count-functions/places-count.md.txt): requires **`geography`**
- [`PLACES_COUNT_PER_TYPE_V2`](https://developers.google.com/maps/documentation/placesinsights/place-count-functions/places-count-per-type-v2.md.txt): requires **`geography`** and **`type`**
- [`PLACES_COUNT_V2`](https://developers.google.com/maps/documentation/placesinsights/place-count-functions/places-count-v2.md.txt): requires **`geographies`**
- [`PLACES_COUNT_PER_H3`](https://developers.google.com/maps/documentation/placesinsights/place-count-functions/places-count-per-h3.md.txt): requires **`geography`** and **`h3_resolution`**
- [`PLACES_COUNT_CHANGE`](https://developers.google.com/maps/documentation/placesinsights/place-count-functions/places-count-change.md.txt): requires **`month1`** and **`month2`**

The filter name and its value are case-sensitive. You must specify them exactly
as they appear in the table. Otherwise, the query will return an invalid
argument error.

| Filter Name | Description | Type | Supported Values |
|---|---|---|---|
| **`geography`** | **For `PLACES_COUNT`, `PLACES_COUNT_PER_TYPE`, and `PLACES_COUNT_PER_H3`** Specifies an area to search. Any type of [`GEOGRAPHY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#geography_type) is supported such as `Point`, `LineString`, and `Polygon`. You can use the `geography` parameter in combination with `geography_radius` to add a buffer to your search area. A minimum search area of 40.0 meters by 40.0 meters (1600 m^2^) is enforced. If you specify a search area under this limit the function returns an invalid argument error. | `GEOGRAPHY` | Any type of [`GEOGRAPHY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#geography_type). |
| **`geographies`** | **For `PLACES_COUNT_PER_GEO` only** Specifies a list of areas to search. Any type of [`GEOGRAPHY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#geography_type) is supported such as `Point`, `LineString`, and `Polygon`. You can use the `geographies` parameter in combination with `geography_radius` to add a buffer to your search area. The buffer is added to all geographies specified. A minimum search area of 40.0 meters by 40.0 meters (1600 m^2^) is enforced. If you specify a search area under this limit the function returns an invalid argument error. | `ARRAY<GEOGRAPHY>` | Any type of [`GEOGRAPHY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#geography_type). |
| **`geography_radius`** | Adds a radius or buffer, in meters, to the specified geography. The default value is 0. The specified value must define a minimum search area of 40.0 meters by 40.0 meters (1600 m^2^). For example, for a `Point` geography, the minimum radius is therefore 23 meters. | `INT64` | Minimum is 0. |
| **`h3_resolution`** | **For `PLACES_COUNT_PER_H3` only** The [H3](https://h3geo.org/docs/) resolution used to aggregate the count of places into H3 cells. | `INT64` | Between 0 and 11. |
| **`types`** | Specifies the places types to consider. Each place contains a set of places types, for example `"restaurant"` and `"cafe"`. If no types are specified, all place types are considered in the result. | `ARRAY<STRING>` | For the complete list of possible values, see [Place types](https://developers.google.com/maps/documentation/placesinsights/place-types.md.txt). Example: `["restaurant", "cafe", "bar"]` |
| **`primary_type`** | Specifies the primary types to consider. A place can only have a single primary type which is the type that best describes the location. If no primary types are specified, all place primary types are considered in the result. | `ARRAY<STRING>` | For the complete list of possible values, see [Place types](https://developers.google.com/maps/documentation/placesinsights/place-types.md.txt). Example: `["restaurant", "cafe", "bar"]` |
| **`brand_ids`** | **For `PLACES_COUNT_PER_H3`, `PLACES_COUNT_V2`, and `PLACES_COUNT_PER_TYPE_V2` only** Specifies the brand IDs to consider. Each place can be associated with brand IDs. If no brand IDs are specified, all brands (and non-branded places) are considered in the result. Note: Brands data is only supported in certain countries. Currently: United States (US), Canada (CA), United Kingdom (GB), and Australia (AU). | `ARRAY<STRING>` | An array of brand IDs. For more information on brands data, see [Write a query using brands data](https://developers.google.com/maps/documentation/placesinsights/brands.md.txt). Example: `["brand_001", "brand_002"]` |
| **`min_rating`** | Specifies the minimum place rating to consider. A Places rating is based on user reviews of the place and has a range between 1.0 and 5.0 If you specify a rating outside this range, the function returns an invalid argument error. | `FLOAT` | Between 1.0 and 5.0. |
| **`max_rating`** | Specifies the maximum place rating to consider. A Places rating is based on user reviews of the place and has a range between 1.0 and 5.0 If you specify a rating outside this range, the function returns an invalid argument error. | `FLOAT` | Between 1.0 and 5.0. |
| **`min_user_rating_count`** | Specifies the minimum user rating count to consider. User rating count is the total number of reviews a place has. The minimum value is 0. If you specify a value below 0 the function returns an invalid argument error. | `INT64` | Minimum value is 0. |
| **`max_user_rating_count`** | Specifies the maximum user rating count to consider. User rating count is the total number of reviews a place has. The minimum value is 0. If you specify a value below 0 the function returns an invalid argument error. | `INT64` | Minimum value is 0. |
| **`price_level`** | Specifies the price levels to consider. You can specify multiple price levels. | `ARRAY<STRING>` | Supported values: `"PRICE_LEVEL_FREE"` `"PRICE_LEVEL_INEXPENSIVE"` `"PRICE_LEVEL_MODERATE"` `"PRICE_LEVEL_EXPENSIVE"` `"PRICE_LEVEL_VERY_EXPENSIVE"` Example: `["PRICE_LEVEL_MODERATE","PRICE_LEVEL_EXPENSIVE"]` |
| **`business_status`** | Specifies the business status to consider. You can specify multiple business status. | `ARRAY<STRING>` | Supported values: `"OPERATIONAL"` `"CLOSED_TEMPORARILY"` `"CLOSED_PERMANENTLY"` `"FUTURE_OPENING"` Example: `["OPERATIONAL","CLOSED_TEMPORARILY"]` |
| **`takeout`** | Considers places that offer takeout. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`delivery`** | Considers places that offer delivery. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`dine_in`** | Considers places that offer dine-in. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`curbside_pickup`** | Considers places that offer curbside pickup. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`reservable`** | Consider places that are reservable. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`outdoor_seating`** | Considers places that offer outdoor seating. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`live_music`** | Considers places that offer live music. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`allows_dogs`** | Consider places that allow dogs. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`restroom`** | Considers places that offer restrooms. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_breakfast`** | Considers places that serve breakfast. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_lunch`** | Considers places that serve lunch. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_dinner`** | Considers places that serve dinner. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_beer`** | Considers places that serve beer. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_wine`** | Considers places that serve wine. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_brunch`** | Considers places that serve brunch. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_vegetarian_food`** | Considers places that serve vegetarian food. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_cocktails`** | Considers places that serve cocktails. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_dessert`** | Considers places that serve dessert. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`serves_coffee`** | Considers places that serve coffee. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`menu_for_children`** | Considers places that offer menus for children. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`good_for_children`** | Consider places that are good for children. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`good_for_groups`** | Consider places that are good for groups. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`good_for_watching_sports`** | Consider places that are good for watching sports. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`accepts_credit_cards`** | Consider places that accept credit cards. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`accepts_debit_cards`** | Consider places that accept debit cards. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`accepts_cash_only`** | Consider places that accept only cash. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`accepts_nfc`** | Consider places that accept NFC payments. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`free_parking_lot`** | Considers places that have free parking lot. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`paid_parking_lot`** | Considers places that have paid parking lot. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`free_street_parking`** | Considers places that have free street parking. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`paid_street_parking`** | Considers places that have paid street parking. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`valet_parking`** | Considers places that have valet parking. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`free_garage_parking`** | Considers places that have free garage parking. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`paid_garage_parking`** | Considers places that have paid garage parking. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`wheelchair_accessible_parking`** | Considers places that have wheelchair accessible parking. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`wheelchair_accessible_entrance`** | Considers places that have wheelchair accessible entrance. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`wheelchair_accessible_restroom`** | Considers places that have wheelchair accessible restroom. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`wheelchair_accessible_seating`** | Considers places that have wheelchair accessible seating. | `BOOLEAN` | `TRUE`, `FALSE` |
| **`snapshot_date`** | Specifies the historical snapshot month to query. If omitted, defaults to the most recent snapshot. | `STRING` | Format: `YYYY-MM`. Example: `"2026-07"` |
| **`month1`** | **For `PLACES_COUNT_CHANGE` only** Specifies the baseline snapshot month to query. | `STRING` | Format: `YYYY-MM`. Example: `"2026-01"` |
| **`month2`** | **For `PLACES_COUNT_CHANGE` only** Specifies the comparison snapshot month to query. | `STRING` | Format: `YYYY-MM`. Example: `"2026-02"` |
| **`regular_opening_hours`** | Filters places by their regular opening hours. | `JSON` | Example: `JSON_OBJECT('monday', [JSON_OBJECT('start_time', '09:00', 'end_time', '12:00')])` |
| **`min_ev_charge_connector_count`** | Specifies the minimum number of EV charge connectors. | `INT64` | Minimum is 0. |
| **`max_ev_charge_connector_count`** | Specifies the maximum number of EV charge connectors. | `INT64` | Minimum is 0. |
| **`max_ev_max_charge_rate_kw`** | Specifies the maximum charge rate in kW for EV charging stations. | `FLOAT64` | Minimum is 0.0. |
| **`ev_charge_connector_types`** | Specifies the EV connector types to consider. | `ARRAY<STRING>` | Example: `["EV_CONNECTOR_TYPE_TESLA"]` |