---
title: "Search jobs by keyword and location, list live postings, or fetch one by id"
method: GET
path: "/api/v1/jobs.php"
tags: ["Postings"]
---

# Search jobs by keyword and location, list live postings, or fetch one by id

`GET /api/v1/jobs.php`

## Request

- Base URL: `https://veritahire.com`
- URL: `https://veritahire.com/api/v1/jobs.php`
- Auth: API key in header `X-API-Key`

## Query parameters

- `after` integer
- `limit` integer
- `state` string
- `category` string
- `remote` 0 | 1
- `employer_id` integer
- `platform` string
- `posting_kind` 'requisition' | 'evergreen'
- `since` string, date
- `id` integer
- `q` string
- `where` string
- `radius` 10 | 25 | 30 | 50 | 100
- `posted_within_days` integer
- `employment_type` 'full_time' | 'part_time' | 'contract' | 'seasonal' | 'temporary'
- `min_pay` number
- `title_exclude` string
- `sort` 'new' | 'pay' | 'near'
- `description` 0 | 1
- `page` integer

## Response `200`

A page of live postings

- JobsPage
  - `data` Job[]
    - `job_id` integer
    - `employer` string
    - `employer_id` integer
    - `title` string
    - `location` string
    - `state` string
    - `lat` number, nullable
    - `lng` number, nullable
    - `remote` boolean
    - `category` string
    - `employment_type` string, nullable
    - `seniority` string, nullable
    - `level_band` string, nullable
    - `pay_text` string, nullable
    - `comp_structure` string, nullable
    - `req_edu_level` string, nullable
    - `req_fields` string, nullable
    - `req_hard_years` integer, nullable
    - `skills` string[]
    - `benefits` string, nullable
    - `posting_kind` 'requisition' | 'evergreen'
    - `platform` string
    - `posted_at` string, nullable
    - `first_seen_at` string
    - `last_seen_in_feed` string
    - `valid_through` string, nullable
    - `apply_url` string
    - `status` string
    - `pay_annual_mid` integer, nullable: Stated pay annualised to USD: midpoint of the stated range or the single figure; hourly x 2,080; null when no figure is stated (never estimated).
    - `pay_annual_high` integer, nullable: Stated pay annualised to USD: top of the stated range.
  - `count` integer
  - `next_after` integer, nullable
  - `quota` Quota
    - `used` integer
    - `limit` integer, nullable
    - `resets` string, nullable

## Other responses

- `401`: Missing, unknown or revoked key
- `429`: Per-minute limit or monthly quota reached

---

[API](https://skmtc.dev/veritahire/apis/veritahire-api.md) · [All operations](https://skmtc.dev/veritahire/apis/veritahire-api/llms.txt) · [OpenAPI document](https://skmtc.dev/veritahire/apis/veritahire-api/revisions/fa64bf8f73bb?raw)
