# Search jobs

Returns startup job postings for `role`, `location`, or both — at least one is required. Slugs are lowercase-hyphenated, exactly as in a wellfound.com URL (`software-engineer`, `san-francisco`). `remote` is valid only on a role-only search; combined with `location` it is rejected.

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

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `role` | query | no | string | Wellfound role slug, as it appears in a /role/ URL. At least one of role or location is required. |
| `location` | query | no | string | Wellfound location slug, as it appears in a /location/ URL. At least one of role or location is required. |
| `remote` | query | no | boolean | Restrict to remote postings. Only valid on a role-only search — Wellfound has no remote variant of the location or role+location pages, so combining remote with location is rejected rather than silently ignored. Default: false. |
| `count` | query | no | integer | How many job rows to return (1-500). A larger count is slower. Fewer may come back when Wellfound's results end; ended_at_source_limit says so. Default: 40. |

## Example request

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