# Search jobs (v1)

Returns one page of 30 Naukrigulf jobs with company, city and country, experience range, skills, highlights and the full description; at most 1,500 pages per query. A query nothing matches returns no results and a `total` of 0.

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

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `query` | query | yes | string | Keywords, skills, designation or company, matched the way naukrigulf.com's own search box matches them. |
| `location` | query | no | string | City or country in the Gulf, such as Dubai, Riyadh, Doha or Saudi Arabia. Omit to search every location. Default: . |
| `page` | query | no | integer | One-based page of 30 jobs, up to page 1,500 (45,000 jobs). A page past the last one for the query returns empty results with stop_reason set to past_last_page. Default: 1. |
| `sort` | query | no | enum: date, relevance | relevance (the default, as on naukrigulf.com) keeps to jobs that match the query. date lists the newest postings first and matches the query more loosely. Default: relevance. |
| `experience_years` | query | no | integer | Candidate experience in years. Keeps jobs whose required experience range includes this value. |
| `posted_within_days` | query | no | integer | Keep only jobs posted in the last 1, 3, 7, 15, 30 or 60 days. Other values are rejected. |

## Example request

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