Combine geocoding and business search into a single API call. This endpoint first resolves your query to geographic coordinates, then searches for businesses in that area. Supports pagination with limit and offset parameters for retrieving large result sets.
HTTP Request
| |
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | Search query including location context (e.g., “restaurants in Chicago”) |
language | string | No | "en" | Language code for the response |
country | string | No | "us" | Country code for regional bias |
zoom | integer | No | 7 | Map zoom level (3-21). Higher values narrow the search area |
limit | integer | No | 20 | Results to return per request. 20 is the default, not a cap — values up to 999 are accepted |
offset | integer | No | 0 | Number of results to skip for pagination |
On
limit: the default of20is often mistaken for a maximum. It is not. Values are accepted up to999, and the practical ceiling is how many businesses match your query, not the parameter. A live test ofrestaurants in Barcelonaatlimit=200returned 184 results in a single request. Sparse queries return fewer, so treatlimitas “give me up to this many” and paginate withoffsetwhen you need more.
Response
| |
Response Fields
| Field | Type | Description |
|---|---|---|
status | boolean | Request status (true on success) |
data | array | List of matching businesses |
data[].name | string | Business name |
data[].place_id | string | Google place ID (use in Maps URLs: ?q=place_id:...) |
data[].google_id | string | Google feature ID (hex pair) |
data[].cid | string | Google customer ID |
data[].full_address | string | Full address including business name |
data[].detailed_address | object | Address broken into street, city, state, zip, country |
data[].phone | string | Formatted phone number |
data[].full_phone | string | Phone in E.164 format |
data[].rating | number | Average rating (1-5) |
data[].reviews_count | integer | Total number of reviews |
data[].main_category | string | Primary business category |
data[].categories | array | All business categories |
data[].latitude | number | Business latitude |
data[].longitude | number | Business longitude |
data[].website_url | string|null | Business website URL (null when the listing has none) |
data[].website_domain | string|null | Domain of the website URL |
data[].owner_name | string | Listing owner name |
data[].can_claim | boolean | Whether the listing is unclaimed |
data[].status | string | Open status (e.g. OPEN) |
data[].price_range | string|null | Price range indicator |
data[].time_zone | string | IANA time zone of the business |
location | object | Resolved coordinates and zoom for the query location |
Each business also carries working_hours, about, featured_photo, order_online_url, reservation fields, and hotel-specific fields (hotel_stars, hotel_about) where applicable.
Code Examples
| |
| |
| |
Related Endpoints
- Query Locate — Geocode a location separately
- Search Nearby — Search with explicit coordinates
- Business Details — Get full details for a business from the results