# Search businesses

Runs a Yelp business search and returns one page of results, with Yelp's ranking and ads labelled. Organic rows carry only `business_id` and `alias`; only ads carry a populated `business` (see `hydration_note`). `start` must be a multiple of 10. `data` is `null` only if Yelp returned no page.

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

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `find_desc` | query | yes | string | What to search for — Yelp's own find_desc. Free text: a category ("coffee", "plumbers") or a business name. |
| `find_loc` | query | yes | string | Where to search — Yelp's own find_loc. Free text, and deliberately not alphabet-restricted or coerced into a format, because people write a location every way there is: "San Francisco, CA", "94110", "Mission District, San Francisco". |
| `start` | query | no | integer | Result offset in steps of 10: 0, 10, 20, and so on. Other values are rejected. Default: 0. |

## Example request

```bash
curl "https://api.toolzerhub.com/v1/yelp/search?find_desc=<find_desc>&find_loc=<find_loc>" \
  -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.
