Local Business Data API
Pricing
from $0.50 / 1,000 businesses
Local Business Data API
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.
Pricing
from $0.50 / 1,000 businesses
Rating
0.0
(0)
Developer
OpenWeb Ninja
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
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.
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.
This actor runs the same Local Business Data API that developers use on RapidAPI and OpenWeb Ninja, with the same endpoints, parameters and output.
What you can do with it
- Build B2B lead lists: businesses by category and area with phone, website, emails and socials
- Enrich CRM records with Google Maps business details
- Collect reviews and ratings for reputation and sentiment analysis
- Map competitors and points of interest for local SEO and market research
- Power store locators, directories and location-based apps
Endpoints
Pick the endpoint in the Endpoint field. Each run makes one call to that endpoint and writes its results to the dataset.
Search
GET /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).
| Parameter | Required | Description |
|---|---|---|
query | Yes | Search query / keyword Examples: Plumbers near New-York, USA Bars in 94102, USA |
limit | No | Maximum number of businesses to return. Default: 20. |
lat | No | 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). Default: 37.359428. |
lng | No | 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). Default: -121.925337. |
zoom | No | Zoom level on which to make the search (the viewport is determined by lat, lng and zoom). Default: 13. |
language | No | 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. Default: en. |
region | No | 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). Default: us. |
subtypes | No | 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. |
verified | No | Only return verified businesses |
business_status | No | Find businesses with specific status (comma separated). OPEN, CLOSED_TEMPORARILY, CLOSED Examples: OPEN CLOSED_TEMPORARILY,CLOSED |
extract_emails_and_contacts | No | Extract emails, contacts and social profiles for each business in the response. Default: false. |
fields | No | A comma separated list of business fields to include in the response (field projection). By default all fields are returned. |
Bulk Search
POST /search (parameters go in the JSON body)
Search multiple queries in a single request (up to 20 queries). Returns a flat, normalized list of businesses aggregated across all queries.
| Parameter | Required | Description |
|---|---|---|
queries | Yes | List of search queries to run in a single request (each treated like a normal Search query). Up to 20 queries per request. |
language | No | Set the language of the results (ISO 639-1 code). Default: en. |
region | No | Query Google Maps from a particular region / country (ISO 3166-1 alpha-2 code). Default: us. |
coordinates | No | Bias the search toward a specific location, as a "lat,lng" string. |
limit | No | Maximum number of businesses to return per query. Allowed values: 1-500. Default: 20. |
offset | No | Number of businesses to skip per query, for pagination. Allowed values: 0-500. Default: 0. |
zoom | No | Map zoom level used for each query (higher = tighter area). Allowed values: 0-22. Default: 13. |
dedup | No | If true, deduplicate overlapping businesses across queries. Default: true. |
Area Search (Zoom Level)
GET /search-in-area
Search businesses in a specific geographic area defined by a center coordinate point and zoom level. To see it in action, make a query on Google Maps, wait for the results to show, move the map or change the zoom and click "Search this area" at the top.
| Parameter | Required | Description |
|---|---|---|
query | Yes | Search query / keyword |
lat | Yes | Latitude of the center coordinate point of the area to search in. Default: 37.359428. |
lng | Yes | Longitude of the center coordinate point of the area to search in. Default: -121.925337. |
zoom | Yes | Zoom level on which to make the search (the search area / viewport is determined by lat, lng and zoom on a 1000x1000 screen) |
limit | No | Maximum number of businesses to return. Default: 20. |
language | No | 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. Default: en. |
region | No | 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). Default: us. |
subtypes | No | 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. |
extract_emails_and_contacts | No | Extract emails, contacts and social profiles for each business in the response. Default: false. |
fields | No | A comma separated list of business fields to include in the response (field projection). By default all fields are returned. |
Area Search (Bounding Box)
GET /area-search-by-bounding-box
Search businesses within a rectangular area defined by its bottom-left (south-west) and top-right (north-east) corner coordinates.
| Parameter | Required | Description |
|---|---|---|
query | Yes | Search query / keyword |
bottom_left | Yes | The bottom-left (south-west) corner of the bounding box to search in, as a "lat,lng" string. |
top_right | Yes | The top-right (north-east) corner of the bounding box to search in, as a "lat,lng" string. |
limit | No | Maximum number of businesses to return. Default: 20. |
language | No | 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. Default: en. |
region | No | 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). Default: us. |
subtypes | No | 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. |
extract_emails_and_contacts | No | Extract emails, contacts and social profiles for each business in the response. Default: false. |
fields | No | A comma separated list of business fields to include in the response (field projection). By default all fields are returned. |
Area Search (Radius)
GET /area-search-by-radius
Search businesses within a circular area defined by a center coordinate point (lat, lng) and a radius in meters.
| Parameter | Required | Description |
|---|---|---|
query | Yes | Search query / keyword |
lat | Yes | Latitude of the center coordinate point of the area to search in. Default: 37.359428. |
lng | Yes | Longitude of the center coordinate point of the area to search in. Default: -121.925337. |
radius | Yes | The radius (in meters) of the circular search area around the center coordinate point (lat, lng). Allowed values: 1-50000. |
limit | No | Maximum number of businesses to return. Default: 20. |
language | No | 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. Default: en. |
region | No | 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). Default: us. |
subtypes | No | 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. |
extract_emails_and_contacts | No | Extract emails, contacts and social profiles for each business in the response. Default: false. |
fields | No | A comma separated list of business fields to include in the response (field projection). By default all fields are returned. |
Search Nearby
GET /search-nearby
Search businesses near by specific geographic coordinates. To see it in action, right click on a specific point in the map on Google Maps and select "Search nearby", enter a query and search.
| Parameter | Required | Description |
|---|---|---|
query | Yes | Search query / keyword Examples: Bars and pubs Plumbers |
lat | Yes | Latitude of the geographic coordinates to search near by. Default: 37.359428. |
lng | Yes | Longitude of the geographic coordinates to search near by. Default: -121.925337. |
limit | No | Maximum number of businesses to return. Default: 20. |
language | No | 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. Default: en. |
region | No | 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). Default: us. |
subtypes | No | 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. |
extract_emails_and_contacts | No | Extract emails, contacts and social profiles for each business in the response. Default: false. |
fields | No | A comma separated list of business fields to include in the response (field projection). By default all fields are returned. |
Business Details
GET /business-details
Get full business details including emails and social contacts. Supports batching of up to 20 Business Ids.
| Parameter | Required | Description |
|---|---|---|
business_id | Yes | Unique Business Id. Accepts google_id / business_id or place_id. |
extract_emails_and_contacts | No | Whether to extract emails, contacts and social profiles for the business. Default: true. |
extract_share_link | No | 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). Default: false. |
fields | No | A comma separated list of business fields to include in the response (field projection). By default all fields are returned. |
region | No | 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). Default: us. |
language | No | 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. Default: eu. |
coordinates | No | 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). |
Business Details Plus
GET /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.
| Parameter | Required | Description |
|---|---|---|
business_id | Yes | Unique Business Id. Accepts google_id / business_id or place_id. |
extract_emails_and_contacts | No | Whether to extract emails, contacts and social profiles for the business. Default: true. |
extract_share_link | No | 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. Default: false. |
fields | No | A comma separated list of business fields to include in the response (field projection). By default all fields are returned. |
region | No | 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). Default: us. |
language | No | 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. Default: en. |
coordinates | No | 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). |
Business Reviews
GET /business-reviews-v2
Get all / paginate business reviews by Business Id using a pagination cursor.
| Parameter | Required | Description |
|---|---|---|
business_id | Yes | Unique Business Id. Accepts google_id / business_id or place_id. Examples: 0x880fd393d427a591:0x8cba02d713a995ed ChIJkaUn1JPTD4gR7ZWpE9cCuow |
limit | No | Maximum number of business reviews to return. Default: 20. |
cursor | No | 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 | No | Whether to translate reviews to the language specified as the language parameter (defaults to false). |
query | No | Return reviews matching a text query |
sort_by | No | How to sort the reviews in the results. Values: most_relevant, newest, highest_ranking, lowest_ranking. Default: most_relevant. |
fields | No | A comma separated list of review fields to include in the response (field projection). By default all fields are returned. |
region | No | 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). Default: us. |
language | No | 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. Default: en. |
Business Review Details
GET /review-details
Get the details of a specific review by Google Id / Business Id or Google Place Id and Review Author Id.
| Parameter | Required | Description |
|---|---|---|
business_id | Yes | 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 | Yes | 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 | No | 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). Default: us. |
language | No | 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. Default: en. |
Business Photos
GET /business-photos
Get business photos by Business Id.
| Parameter | Required | Description |
|---|---|---|
business_id | Yes | Unique Business Id. Accepts google_id / business_id or place_id. Examples: 0x880fd393d427a591:0x8cba02d713a995ed ChIJkaUn1JPTD4gR7ZWpE9cCuow |
limit | No | Maximum number of business photos to return. Default: 20. |
cursor | No | Specify the cursor obtained from the previous request to get the next of result page (use for pagination). |
is_video | No | Only return video type media (type=video) or not. Default: false. |
region | No | 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). Default: us. |
fields | No | A comma separated list of review fields to include in the response (field projection). By default all fields are returned. |
Business Photo Details
GET /photo-details
Get extra details about a business photo - caption, owner name and avatar, and more information. Supports batching of up to 20 Photo Ids.
| Parameter | Required | Description |
|---|---|---|
business_id | Yes | 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 | Yes | 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). |
Business Posts
GET /business-posts
Get all / paginate Business Owner Posts ("From the owner" section on Google Maps) by Business Id, sorted chronologically.
| Parameter | Required | Description |
|---|---|---|
business_id | Yes | Unique Business Id. Accepts google_id / business_id or place_id. Examples: 0x880fd393d427a591:0x8cba02d713a995ed ChIJkaUn1JPTD4gR7ZWpE9cCuow |
cursor | No | Specify the cursor obtained from the previous request to get the next of result page (use for pagination). |
region | No | 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). Default: us. |
language | No | 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. Default: en. |
Reverse Geocoding
GET /reverse-geocoding
Get the details of a place or address in a specific geographic location by latitude and longitude (reverse geocoding). This endpoint implements the "What's here?" functionality available on Google Maps (right click on the map).
| Parameter | Required | Description |
|---|---|---|
lat | Yes | Latitude of the geographic coordinates to search near by. Default: 40.6958453. |
lng | Yes | Longitude of the geographic coordinates to search near by. Default: -73.9799119. |
region | No | 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). Default: us. |
language | No | Set the language of the results. For a list of supported language codes see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. Default: en. |
fields | No | A comma separated list of business fields to include in the response (field projection). By default all fields are returned. |
Autocomplete
GET /autocomplete
Returns place/address, business and query predictions for text-based geographic queries.
| Parameter | Required | Description |
|---|---|---|
query | Yes | Search query |
region | No | 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). Default: us. |
language | No | Set the language of the results. For a list of supported language codes see https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2. Default: en. |
coordinates | No | 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). |
Example input
{"endpoint": "/search","query": "Hotels in San Francisco, USA"}
Example output
One dataset item per result. A Search item looks like this (trimmed):
{"business_id": "0x8085808b287f3b3b:0xa49802f84f7ddb35","google_id": "0x8085808b287f3b3b:0xa49802f84f7ddb35","place_id": "ChIJOzt_KIuAhYARNdt9T_gCmKQ","google_mid": "/m/06618ms","phone_number": "+14154336600","name": "Hilton San Francisco Financial District","latitude": 37.7952284,"longitude": -122.40407289999999,"full_address": "Hilton San Francisco Financial District, 750 Kearny St, San Francisco, CA 94108","review_count": 5248,"rating": 3.9,"timezone": "America/Los_Angeles","opening_status": null,"working_hours": null,"website": "https://www.hilton.com/en/hotels/sfofdhf-hilton-san-francisco-financial-district/","tld": "hilton.com","verified": true,"place_link": "https://www.google.com/maps/place/data=!3m1!4b1!4m2!3m1!1s0x8085808b287f3b3b:0xa49802f84f7ddb35","cid": "11860232884188994357","reviews_link": "https://search.google.com/local/reviews?placeid=ChIJOzt_KIuAhYARNdt9T_gCmKQ&authuser=0","owner_id": "112262189677275123944","owner_link": "https://maps.google.com/maps/contrib/112262189677275123944","owner_name": "Hilton San Francisco Financial District","booking_link": null,"reservations_link": null,"business_status": "OPEN","type": "Hotel","subtypes": ["Hotel"],"photos_sample": [{"photo_id": "AF1QipOZ1DmCL4eDQ1akS9x5W9nAeJGVox-e372FzjX_","photo_url": "https://lh5.googleusercontent.com/p/AF1QipOZ1DmCL4eDQ1akS9x5W9nAeJGVox-e372FzjX_","photo_url_large": "https://lh5.googleusercontent.com/p/AF1QipOZ1DmCL4eDQ1akS9x5W9nAeJGVox-e372FzjX_=w1023-h682-k-no","video_thumbnail_url": null,"latitude": 37.795129599999996,"longitude": -122.40462550000001,"type": "photo","photo_datetime_utc": "2025-02-12T00:00:00.000Z","photo_timestamp": 1739318400}],"reviews_per_rating": null,"photo_count": 8346,"about": {"summary": "Located in San Francisco's financial district, this upscale 27-story hotel...","details": {"Crowd": {"LGBTQ+ friendly": true}}},"address": "750 Kearny St, San Francisco, CA 94108","order_link": null,"price_level": null,"district": "Chinatown","street_address": "750 Kearny St","city": "San Francisco","zipcode": "94108","state": "California","country": "US","hotel_location_rating": null,"hotel_amenities": null,"hotel_stars": 4,"hotel_review_summary": null}
The run's key-value store OUTPUT record holds the request parameters, the request id and any non-list fields of the response (for example a pagination cursor).
Pricing
Pay per event: you pay per business, at the same rates as our API plans. A search is charged for the businesses it returns, a batch lookup for each business id, exactly as on the API.
| Apify plan | Price per 1,000 businesses |
|---|---|
| Free | $4.00 |
| Starter (Bronze) | $1.25 |
| Scale (Silver) | $0.75 |
| Business (Gold) and above | $0.50 |
A request that fails is not charged.
Using it from code
Run it through the Apify API or a client library, with the input above as the JSON body:
curl -X POST "https://api.apify.com/v2/acts/openweb-ninja~local-business-data/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"endpoint":"/search","query":"Hotels in San Francisco, USA"}'
Need higher volume or a direct REST API? Local Business Data API is also available as an API on OpenWeb Ninja and RapidAPI.
Support
For custom plans, high volumes or anything else:
- Email: support@openwebninja.com
- Discord: https://discord.gg/wxJxGsZgha