# HeadHunter Uzbekistan — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and browse job vacancies across Uzbekistan with filters for location, experience, employment type, and more, while accessing detailed employer profiles and professional role information from HeadHunter Uzbekistan (hh.uz). Retrieve full vacancy details, explore geographic regions, and discover companies by name.

**Category:** Jobs | **Website:** [hh.uz/](https://hh.uz/) | **Docs:** [parse.bot/marketplace/4a66e019-9c33-4917-8dd4-474f1da42697/hh-uz-api](https://parse.bot/marketplace/4a66e019-9c33-4917-8dd4-474f1da42697/hh-uz-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-hh-uz-api-4a66e019/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_areas

Retrieve the list of all geographic regions or details for a specific region. Without area_id returns the full tree of all countries and cities wrapped in an areas array. With area_id returns the specific area node including name, parent, and child areas.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `area_id` | string | No | Optional ID of a specific region (e.g. 2759 for Tashkent, 97 for Uzbekistan) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hh-uz-api-4a66e019/get_areas \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area_id":"<string>"}'
```

### get_employer_detail

Fetch details for a specific employer including name, website, description, and open vacancy count. Requires an employer_id obtained from search_employers or search_vacancies results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `employer_id` | string | Yes | ID of the employer (from search_employers or search_vacancies results) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hh-uz-api-4a66e019/get_employer_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"employer_id":"<string>"}'
```

### get_professional_roles

List all professional roles organized by category. Returns a structured list of job role categories with their individual roles. Each category contains an array of roles with ID and name.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hh-uz-api-4a66e019/get_professional_roles \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_vacancy_detail

Fetch full details of a single vacancy including description, key skills, experience, salary, and employer information. Requires a vacancy_id obtained from search_vacancies results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `vacancy_id` | string | Yes | ID of the vacancy (numeric string from search_vacancies results) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hh-uz-api-4a66e019/get_vacancy_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"vacancy_id":"<string>"}'
```

### search_employers

Search for employers by name on hh.uz. Returns a list of matching companies with their IDs and names. Use employer IDs from results to fetch full details via get_employer_detail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `area` | string | No | Area ID to filter by |
| `page` | integer | No | Page number (0-based) |
| `text` | string | Yes | Employer name search query |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hh-uz-api-4a66e019/search_employers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area":"<string>","page":"<integer>","text":"<string>"}'
```

### search_vacancies

Search for job vacancies on hh.uz with filters for keyword, location, experience, employment type, and more. Returns paginated results. Each result includes vacancy ID, title, employer info, salary text, and address. Use vacancy IDs from results to fetch full details via get_vacancy_detail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `area` | string | No | Area ID (e.g. 2759 for Tashkent, 97 for Uzbekistan) |
| `employment` | string | No | Employment type filter |
| `experience` | string | No | Experience level filter |
| `only_with_salary` | boolean | No | Only show vacancies with salary specified |
| `order_by` | string | No | Sort order for results |
| `page` | integer | No | Page number (0-based) |
| `per_page` | integer | No | Items per page (max 100) |
| `salary` | integer | No | Minimum salary filter |
| `schedule` | string | No | Work schedule filter |
| `text` | string | No | Keyword search query |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-hh-uz-api-4a66e019/search_vacancies \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area":"<string>","employment":"<string>","experience":"<string>","only_with_salary":"<boolean>","order_by":"<string>","page":"<integer>","per_page":"<integer>","salary":"<integer>","schedule":"<string>","text":"<string>"}'
```
