# Local Business Data - Business & POI Data from Google Maps > Fast and reliable local business data API - get comprehensive business information including address, website, phone, email, rating & reviews, and 40+ data points from Google Maps in real-time. ## Overview Local Business Data is a fast and reliable API for finding businesses and points of interest and retrieving their full profiles from Google Maps and the web in real-time. It returns 40+ data points per business as structured JSON via REST. Who is this API for: developers building lead-generation and sales-prospecting tools, local SEO and rank-tracking platforms, store locators, market and competitor analysis, and data enrichment pipelines. What it returns: business search results (by query, area, bounding box, radius, or nearby), full business details, reviews and review details, photos, posts, plus reverse geocoding and autocomplete. Need help integrating? Contact support@openwebninja.com. For high volume / large scale plans, please contact support@openwebninja.com. ## Endpoints ### GET /search - Search Search local businesses on Google Maps with an option to pull emails and social profile links from their website (see the `extract_emails_and_contacts` parameter below). Parameters: - **query** (string, required, e.g. `Hotels in San Francisco, USA`): Search query / keyword **Examples:** `Plumbers near New-York, USA` `Bars in 94102, USA` - limit (integer, default: `20`): Maximum number of businesses to return. **Allowed values:** `1-500` - lat (string, default: `37.359428`): Latitude of the coordinates point from which the query is applied - recommended to use so that results are biased towards this location. Defaults to some central location in the region (see the region parameter). - lng (string, default: `-121.925337`): Longitude of the coordinates point from which the query is applied - recommended to use so that results are biased towards this location. Defaults to some central location in the region (see the region parameter). - zoom (string, default: `13`): Zoom level on which to make the search (the viewport is determined by lat, lng and zoom). - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - subtypes (string, e.g. `Plumber,Carpenter,Electrician`): Find businesses with specific subtypes, specified as a comma separated list of types (business categories). For the complete list of types, see *https://daltonluka.com/blog/google-my-business-categories*. **Examples:** `Plumber,Carpenter,Electrician` `Night club,Dance club,Bar,Pub` - verified (boolean): Only return verified businesses - business_status (string, e.g. `OPEN`): Find businesses with specific status, specified as a comma separated list of the following values: `OPEN, CLOSED_TEMPORARILY, CLOSED` **Examples:** `OPEN` `CLOSED_TEMPORARILY,CLOSED` - extract_emails_and_contacts (boolean, default: `false`): Extract emails, contacts and social profiles for each business in the response. In case true, businesses will be enriched with a emails_and_contacts field with emails, phones, Facebook, LinkedIn, Instagram and other social profiles. **Note:** in case `true`, the endpoint will scrape emails and contacts from the business website (in case non-empty). For each such business, the API will charge an additional credit. - fields (string, e.g. `business_id,type,phone_number,full_address`): A comma separated list of business fields to include in the response (field projection). By default all fields are returned. Full URL: `https://api.openwebninja.com/local-business-data/search` ### POST /search - Bulk Search Search multiple queries in a single request (up to 20 queries). Parameters: - **queries** (array of string, required, e.g. `["plumber in texas","coffee shop in san francisco","hotels in new york"]`): List of search queries to run in a single request (each treated like a normal Search query). Up to 20 queries per request. - language (string, default: `en`): Set the language of the results (ISO 639-1 code). - region (string, default: `us`): Query Google Maps from a particular region / country (ISO 3166-1 alpha-2 code). - coordinates (string, e.g. `40.685219,-74.081180`): Bias the search toward a specific location, as a "lat,lng" string. - limit (integer, default: `20`): Maximum number of businesses to return per query. Allowed values: 1-500. - offset (integer, default: `0`): Number of businesses to skip per query, for pagination. Allowed values: 0-500. - zoom (integer, default: `13`): Map zoom level used for each query (higher = tighter area). Allowed values: 0-22. - dedup (boolean, default: `true`): If true, deduplicate overlapping businesses across queries. Full URL: `https://api.openwebninja.com/local-business-data/search` ### GET /search-in-area - Search In Area Search businesses in a specific geographic area defined by a center coordinate point and zoom level. Parameters: - **query** (string, required, e.g. `pizza`): Search query / keyword - **lat** (string, required, default: `37.359428`): Latitude of the center coordinate point of the area to search in. - **lng** (string, required, default: `-121.925337`): Longitude of the center coordinate point of the area to search in. - **zoom** (string, required, e.g. `13`): Zoom level on which to make the search (the search area / viewport is determined by lat, lng and zoom on a 1000x1000 screen) - limit (string, default: `20`): Maximum number of businesses to return. **Allowed values:** `1-500` - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - subtypes (string, e.g. `Plumber,Carpenter,Electrician`): Find businesses with specific subtypes, specified as a comma separated list of types (business categories). For the complete list of types, see *https://daltonluka.com/blog/google-my-business-categories*. **Examples:** `Plumber,Carpenter,Electrician` `Night club,Dance club,Bar,Pub` - extract_emails_and_contacts (boolean, default: `false`): Extract emails, contacts and social profiles for each business in the response. In case true, businesses will be enriched with a emails_and_contacts field with emails, phones, Facebook, LinkedIn, Instagram and other social profiles. **Note:** in case `true`, the endpoint will scrape emails and contacts from the business website (in case non-empty). For each such business, the API will charge an additional credit. - fields (string, e.g. `business_id,type,phone_number,full_address`): A comma separated list of business fields to include in the response (field projection). By default all fields are returned. Full URL: `https://api.openwebninja.com/local-business-data/search-in-area` ### GET /area-search-by-bounding-box - Area Search (Bounding Box) Search businesses within a rectangular area defined by its bottom-left (south-west) and top-right (north-east) corner coordinates. Parameters: - **query** (string, required, e.g. `pizza`): Search query / keyword - **bottom_left** (string, required, e.g. `40.606540,-74.013580`): The bottom-left (south-west) corner of the bounding box to search in, as a "lat,lng" string. - **top_right** (string, required, e.g. `40.812151,-73.910522`): The top-right (north-east) corner of the bounding box to search in, as a "lat,lng" string. - limit (string, default: `20`): Maximum number of businesses to return. **Allowed values:** `1-500` - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - subtypes (string, e.g. `Plumber,Carpenter,Electrician`): Find businesses with specific subtypes, specified as a comma separated list of types (business categories). For the complete list of types, see *https://daltonluka.com/blog/google-my-business-categories*. **Examples:** `Plumber,Carpenter,Electrician` `Night club,Dance club,Bar,Pub` - extract_emails_and_contacts (boolean, default: `false`): Extract emails, contacts and social profiles for each business in the response. In case true, businesses will be enriched with a emails_and_contacts field with emails, phones, Facebook, LinkedIn, Instagram and other social profiles. **Note:** in case `true`, the endpoint will scrape emails and contacts from the business website (in case non-empty). For each such business, the API will charge an additional credit. - fields (string, e.g. `business_id,type,phone_number,full_address`): A comma separated list of business fields to include in the response (field projection). By default all fields are returned. Full URL: `https://api.openwebninja.com/local-business-data/area-search-by-bounding-box` ### GET /area-search-by-radius - Area Search (Radius) Search businesses within a circular area defined by a center coordinate point (lat, lng) and a radius in meters. Parameters: - **query** (string, required, e.g. `pizza`): Search query / keyword - **lat** (string, required, default: `37.359428`): Latitude of the center coordinate point of the area to search in. - **lng** (string, required, default: `-121.925337`): Longitude of the center coordinate point of the area to search in. - **radius** (string, required, e.g. `5000`): The radius (in meters) of the circular search area around the center coordinate point (lat, lng). Allowed values: 1-50000. - limit (string, default: `20`): Maximum number of businesses to return. **Allowed values:** `1-500` - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - subtypes (string, e.g. `Plumber,Carpenter,Electrician`): Find businesses with specific subtypes, specified as a comma separated list of types (business categories). For the complete list of types, see *https://daltonluka.com/blog/google-my-business-categories*. **Examples:** `Plumber,Carpenter,Electrician` `Night club,Dance club,Bar,Pub` - extract_emails_and_contacts (boolean, default: `false`): Extract emails, contacts and social profiles for each business in the response. In case true, businesses will be enriched with a emails_and_contacts field with emails, phones, Facebook, LinkedIn, Instagram and other social profiles. **Note:** in case `true`, the endpoint will scrape emails and contacts from the business website (in case non-empty). For each such business, the API will charge an additional credit. - fields (string, e.g. `business_id,type,phone_number,full_address`): A comma separated list of business fields to include in the response (field projection). By default all fields are returned. Full URL: `https://api.openwebninja.com/local-business-data/area-search-by-radius` ### GET /search-nearby - Search Nearby Search businesses near by specific geographic coordinates. Parameters: - **query** (string, required, e.g. `plumbers`): Search query / keyword **Examples:** `Bars and pubs` `Plumbers` - **lat** (string, required, default: `37.359428`): Latitude of the geographic coordinates to search near by. - **lng** (string, required, default: `-121.925337`): Longitude of the geographic coordinates to search near by. - limit (string, default: `20`): Maximum number of businesses to return. **Allowed values:** `1-500` - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - subtypes (string, e.g. `Plumber,Carpenter,Electrician`): Find businesses with specific subtypes, specified as a comma separated list of types (business categories). For the complete list of types, see *https://daltonluka.com/blog/google-my-business-categories*. **Examples:** `Plumber,Carpenter,Electrician` `Night club,Dance club,Bar,Pub` - extract_emails_and_contacts (boolean, default: `false`): Extract emails, contacts and social profiles for each business in the response. In case true, businesses will be enriched with a emails_and_contacts field with emails, phones, Facebook, LinkedIn, Instagram and other social profiles. **Note:** in case true, the endpoint will scrape emails and contacts from the business website (in case non-empty). For each such business, the API will charge an additional credit. - fields (string, e.g. `business_id,type,phone_number,full_address`): A comma separated list of business fields to include in the response (field projection). By default all fields are returned. Full URL: `https://api.openwebninja.com/local-business-data/search-nearby` ### GET /business-details - Business Details Get full business details including emails and social contacts. Parameters: - **business_id** (string, required, e.g. `0x880fd393d427a591:0x8cba02d713a995ed`): Unique Business Id. Accepts `google_id` / `business_id` or `place_id`. **Examples:** `0x880fd393d427a591:0x8cba02d713a995ed` `ChIJkaUn1JPTD4gR7ZWpE9cCuow` In addition, batching of up to 20 Business Ids is supported in a single request using a comma separated list *(e.g. business_id=id1,id2)*. - extract_emails_and_contacts (boolean, default: `true`): Whether to extract emails, contacts and social profiles for the business. In case true, businesses will be enriched with a emails_and_contacts field, potentially containing emails, phones, Facebook, LinkedIn, Instagram and other social profiles. - extract_share_link (boolean, default: `false`): Whether to extract place's share link for the business. In case true, businesses will be enriched with a share_link field containing a shortened Google URL for sharing *(e.g. https://goo.gl/maps/oxndE8SVaNU5CV6p6)*. - fields (string, e.g. `business_id,type,phone_number,full_address`): A comma separated list of business fields to include in the response (field projection). By default all fields are returned. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - language (string, default: `eu`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. - coordinates (string, e.g. `37.09024,-95.712891`): Geographic coordinates of the location from which the query is applied - recommended to use so that results are biased towards this location. Defaults to some central location in the region (see the region parameter). Full URL: `https://api.openwebninja.com/local-business-data/business-details` ### GET /business-details-plus - Business Details Plus Get full business details PLUS additional AI-powered enrichments — currently includes `keywords_mentioned_in_reviews`, an array of the keywords most frequently surfaced in the business' Google Maps reviews together with how many reviews mention each. Parameters: - **business_id** (string, required, e.g. `0x880fd393d427a591:0x8cba02d713a995ed`): Unique Business Id. Accepts `google_id` / `business_id` or `place_id`. **Examples:** `0x880fd393d427a591:0x8cba02d713a995ed` `ChIJkaUn1JPTD4gR7ZWpE9cCuow` In addition, batching of up to 20 Business Ids is supported in a single request using a comma separated list *(e.g. business_id=id1,id2)*. - extract_emails_and_contacts (boolean, default: `true`): Whether to extract emails, contacts and social profiles for the business. In case true, businesses will be enriched with an emails_and_contacts field, potentially containing emails, phones, Facebook, LinkedIn, Instagram and other social profiles. - extract_share_link (boolean, default: `false`): Whether to extract place's share link for the business. In case true, businesses will be enriched with a share_link field containing a shortened Google URL for sharing. - fields (string, e.g. `business_id,type,phone_number,full_address,keywords_mentioned_in_reviews`): A comma separated list of business fields to include in the response (field projection). By default all fields are returned. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. - coordinates (string, e.g. `37.09024,-95.712891`): Geographic coordinates of the location from which the query is applied - recommended to use so that results are biased towards this location. Defaults to some central location in the region (see the region parameter). Full URL: `https://api.openwebninja.com/local-business-data/business-details-plus` ### GET /business-reviews-v2 - Business Reviews Get all / paginate business reviews by Business Id using a pagination cursor. Parameters: - **business_id** (string, required, e.g. `0x89c259b5a9bd152b:0x31453e62a3be9f76`): Unique Business Id. Accepts `google_id` / `business_id` or `place_id`. **Examples:** `0x880fd393d427a591:0x8cba02d713a995ed` `ChIJkaUn1JPTD4gR7ZWpE9cCuow` - limit (string, default: `20`): Maximum number of business reviews to return. **Allowed values:** `1-100` - cursor (string): Pagination cursor for fetching the next page of reviews. Pass the `cursor` value returned in the previous response's `data.cursor`. Omit on the first request to start from the most relevant reviews. - translate_reviews (boolean): Whether to translate reviews to the language specified as the language parameter (defaults to false). - query (string): Return reviews matching a text query - sort_by (string, default: `most_relevant`, allowed: most_relevant | newest | highest_ranking | lowest_ranking): How to sort the reviews in the results. - fields (string, e.g. `review_id,review_text,rating`): A comma separated list of review fields to include in the response (field projection). By default all fields are returned. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. Full URL: `https://api.openwebninja.com/local-business-data/business-reviews-v2` ### GET /review-details - Business Review Details Get the details of a specific review by Google Id / Business Id or Google Place Id and Review Author Id. Parameters: - **business_id** (string, required, e.g. `0x89c259b5a9bd152b:0x31453e62a3be9f76`): The Business Id of the business for which the review belongs. Accepts `google_id` / `business_id` or `place_id`. **Examples:** `0x880fd393d427a591:0x8cba02d713a995ed` `ChIJkaUn1JPTD4gR7ZWpE9cCuow` - **review_author_id** (string, required, e.g. `110228754725692228062`): Review author id (i.e review `author_id` field). In addition, batching of up to 20 Review Author Ids is supported in a single request using a comma separated list *(e.g.review_author_id=id1,id2)*. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. Full URL: `https://api.openwebninja.com/local-business-data/review-details` ### GET /business-photos - Business Photos Get business photos by Business Id. Parameters: - **business_id** (string, required, e.g. `0x89c259b5a9bd152b:0x31453e62a3be9f76`): Unique Business Id. Accepts `google_id` / `business_id` or `place_id`. **Examples:** `0x880fd393d427a591:0x8cba02d713a995ed` `ChIJkaUn1JPTD4gR7ZWpE9cCuow` - limit (string, default: `20`): Maximum number of business photos to return. **Allowed values:** `1-100` - cursor (string): Specify the cursor obtained from the previous request to get the next of result page (use for pagination). - is_video (boolean, default: `false`): Only return video type media (type=video) or not. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - fields (string, e.g. `type,photo_url`): A comma separated list of review fields to include in the response (field projection). By default all fields are returned. Full URL: `https://api.openwebninja.com/local-business-data/business-photos` ### GET /photo-details - Business Photo Details Get extra details about a business photo - caption, owner name and avatar, and more information. Parameters: - **business_id** (string, required, e.g. `0x89c259b5a9bd152b:0x31453e62a3be9f76`): The Business Id of the business for which the photo belongs. Accepts `google_id` / `business_id` or `place_id`. **Examples:** `0x880fd393d427a591:0x8cba02d713a995ed` `ChIJkaUn1JPTD4gR7ZWpE9cCuow` - **photo_id** (string, required, e.g. `AF1QipMPYCqZ5Fe8a7Jc51KT9pWOS5c6tOKY_xvkCl23`): Photo Id of the photo to fetch. In addition, batching of up to 20 Photo Ids is supported in a single request using a comma separated list *(e.g. photo_id=id1,id2)*. Full URL: `https://api.openwebninja.com/local-business-data/photo-details` ### GET /business-posts - Buisness Posts Get all / paginate Business Owner Posts ("From the owner" section on Google Maps) by Business Id, sorted chronologically. Parameters: - **business_id** (string, required, e.g. `0x880fd393d427a591:0x8cba02d713a995ed`): Unique Business Id. Accepts `google_id` / `business_id` or `place_id`. **Examples:** `0x880fd393d427a591:0x8cba02d713a995ed` `ChIJkaUn1JPTD4gR7ZWpE9cCuow` - cursor (string): Specify the cursor obtained from the previous request to get the next of result page (use for pagination). - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*. Full URL: `https://api.openwebninja.com/local-business-data/business-posts` ### GET /reverse-geocoding - Reverse Geocoding Get the details of a place or address in a specific geographic location by latitude and longitude (reverse geocoding). Parameters: - **lat** (string, required, default: `40.6958453`): Latitude of the geographic coordinates to search near by. - **lng** (string, required, default: `-73.9799119`): Longitude of the geographic coordinates to search near by. - region (string, default: `us`): Query Google Maps from a particular region or country. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2*. - fields (string, e.g. `business_id,type,phone_number,full_address`): A comma separated list of business fields to include in the response (field projection). By default all fields are returned. Full URL: `https://api.openwebninja.com/local-business-data/reverse-geocoding` ### GET /autocomplete - Autocomplete Returns place/address, business and query predictions for text-based geographic queries. Parameters: - **query** (string, required, e.g. `new y`): Search query - region (string, default: `us`): Return results based to a particular region. For a list of supported region/country codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes (Alpha-2 code)*. - language (string, default: `en`): Set the language of the results. For a list of supported language codes see *https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2*. - coordinates (string, e.g. `37.381315,-122.046148`): Geographic coordinates of the location from which the query is applied - recommended to use so that results are biased towards this location. Defaults to some central location in the region (see the region parameter). Full URL: `https://api.openwebninja.com/local-business-data/autocomplete` ## Base URL and Authentication - Base URL: `https://api.openwebninja.com/local-business-data` - Auth: API key in the `x-api-key` header. Get a key by subscribing (free tier available) at https://app.openwebninja.com/api/local-business-data ## Topics local business data api, google maps api, business data api, places api, poi data api, business reviews api, lead generation api, local seo api, business details api, geocoding api, store locator api, maps scraper api ## Links - API page: https://www.openwebninja.com/api/local-business-data - Get an API key / subscribe: https://app.openwebninja.com/api/local-business-data - Pricing & plans: https://app.openwebninja.com/api/local-business-data/pricing - Website: https://www.openwebninja.com - OpenAPI spec: https://openwebninja.s3.us-east-1.amazonaws.com/portal/openapi/local_business_data.yaml - Support: support@openwebninja.com _Last updated: 2026-05-27_