# Search businesses

Returns up to 20 complete business records near a point: name, address, phone, website, hours, rating, attributes and photos in one call — 26 requests covers 500 businesses, not 526. Requires `query`, `latitude` and `longitude`. A parameter that can't be applied fails terminal, not retryable.

- Platform: Google Maps
- Request: `GET https://api.toolzerhub.com/v1/google-maps/search`
- Auth: `x-api-key` header
- Cost: 1 credit per successful request. Failed requests are not billed.
- Page: https://docs.toolzerhub.com/reference/google-maps/get-google-maps-search

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `query` | query | yes | string | Business type, product, service, or name to search for. interpreted_query reports how Google understood the text. Results are scoped to this query and the requested viewport. |
| `latitude` | query | yes | number | Latitude of the search viewport center. Use with longitude and span_metres to define the area to search. |
| `longitude` | query | yes | number | Longitude of the search viewport center. Use with latitude and span_metres to define the area to search. |
| `span_metres` | query | no | number | Width of the search viewport in metres. To cover a large area beyond one viewport's result limit, search several smaller adjacent viewports and deduplicate businesses by cid. Default: 20000. |
| `page` | query | no | integer | Page of 20 complete business records. Pages can overlap, so deduplicate by cid; use has_more to decide whether to request the next page. Default: 1. |

## Example request

```bash
curl "https://api.toolzerhub.com/v1/google-maps/search?query=<query>&latitude=<latitude>&longitude=<longitude>" \
  -H "x-api-key: $TOOLZERHUB_API_KEY"
```

Success responses are wrapped as `{ "data": ... }`. Errors return `{ "error": { "code", "status", "message", "retryable", "details" } }`. See https://docs.toolzerhub.com/docs/responses-and-errors.
