# Search recipes (v1)

Returns one page of 20 Tasty recipes for a dish, ingredient or tags, with times, tags and the filter tags available for the search. A search with no match returns empty `results`.

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

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `query` | query | no | string | A dish, ingredient or keyword, such as chicken, chicken rice or banana bread. Omit to browse by tags alone. Default: . |
| `tags` | query | no | string | Comma-separated tags a recipe must all carry, by name or label: vegan, Under 30 Minutes, mexican, desserts. Use the facets in a search response or the Tags endpoint to find more. Default: . |
| `sort` | query | no | enum: popular, latest | popular (the default, as on tasty.co) ranks by popularity and pads thin keyword matches with popular recipes. latest lists only matching recipes, newest first. Default: popular. |
| `page` | query | no | integer | One-based page of 20 recipes. A keyword search in popular order stops at page 25; use latest to page through every match. Default: 1. |

## Example request

```bash
curl "https://api.toolzerhub.com/v1/tasty/search" \
  -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.
