# Search

Search Seek job listings by keyword and optional location. Sponsored listings may repeat across pages; use `job_id` to get a listing's details.

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

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `query` | query | yes | string | Search text, matched the same way seek.com.au's own search box does. |
| `location` | query | no | string | Free-text location filter. Omit for a nationwide search. Default: . |
| `page` | query | no | integer | 1-indexed page of results. Honoured, but not fully disjoint: measured 2026-09-03, two consecutive pages of the same query shared 3 of 32 job ids — Seek pins some sponsored/featured listings across pages. De-duplicate by results[].job_id if you are paginating and collecting. Default: 1. |

## Example request

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