Ocean of Jobs
REST APIReferenceJobs

Search, filter, and page through job listings

GET
/jobs

Skill Matching (sort=match)

Ranks jobs by the number of matching skills, adjusted for posting age (every 14 days reduces the effective match count by 1).

curl "https://oceanofjobs.com/api/jobs?skills=Python,Kubernetes&sort=match&country=US"

Query Parameters

search?string

Space-separated search terms (e.g., kubernetes new york). Matches title, company, location, category, and description. Use quotes for exact phrases (e.g., "software engineer"). A few role names also match their related titles (soc analyst finds Security Analyst and SecOps roles), a trailing word matches as a prefix while it is typed, and tier words (tier 1, L1) rank rather than filter. The response's search.expanded lists the phrases added.

search_mode?string

all (default): every term must match. any: one term is enough.

Value in"all""any"
search_exact?"1"

1 to match only the words as typed, with no related titles, prefix or tier handling.

Value in"1"
q?string

Legacy title/company search.

keywords?string

Semicolon-separated terms (e.g., azure;excel;iso). Matches title and description.

country?string

Two-letter country code (e.g., US or US,GB). Uses normalized location data.

city?string

City names (e.g., New York,London).

location?string

Raw location text provided by the employer.

company?string

Company domain names (e.g., example.com,example.org).

ats?string

Applicant tracking system names (e.g., greenhouse,lever).

department?string

Normalized job categories (e.g., Security, Infrastructure). Fetch valid values via /api/facets.

seniority?string

intern, junior, mid, senior, staff, principal, lead, manager, director, exec.

workplace?string

remote, hybrid, onsite.

skills?string

Comma-separated skill names (e.g., Python,Kubernetes). Filters jobs matching at least one skill and sets sort=match.

ids?string

Fetch specific job IDs in a single request.

israel_only?string

Set to 1 to restrict to Israeli locations (Equivalent to country=IL).

confidence?string

verified (default, confirmed on employer site), best_effort, or all.

Default"verified"
Value in"verified""best_effort""all"
include_closed?string

Set to 1 to include roles closed within the last 30 days.

include_outdated?string

Set to 1 to include open postings older than 1 year (hidden by default).

min_age_days?integer

Filter listings by age in days.

Range0 <= value
max_age_days?integer

Filter listings by age in days.

Range0 <= value
salary_min?integer

Lowest monthly gross salary in shekels. Keeps listings with no shekel figure unless salary_known=1.

Range0 <= value
salary_max?integer

Highest monthly gross salary in shekels. Same rule as salary_min.

Range0 <= value
salary_known?"1"

1 for only listings with a shekel salary figure.

Value in"1"
salary_disclosed?"1"

1 for only listings whose employer stated the salary, in any currency.

Value in"1"
sort?string

age (default), company, title, location, ats, or match.

Default"age"
Value in"age""company""title""location""ats""match"
dir?string

asc (default; for age, asc means newest first) or desc.

Default"asc"
Value in"asc""desc"
limit?integer

Number of results per page (1 to 500, default 100).

Range1 <= value <= 500
Default100
offset?integer

Pagination offset (default 0).

Range0 <= value
Default0

Response Body

Success.

application/json
  1. response
jobs?array<>
total?|

Null when the count was deferred.

limit?integer
offset?integer
matched_skills?array<string>
search?string|null
Example Request
curl -X GET 'https://oceanofjobs.com/api/jobs'
Example Response
{  "jobs": [    {      "id": "string",      "title": "string",      "company_domain": "string",      "company_name": "string",      "logo_url": "string",      "ats": "string",      "location": "string",      "department": "string",      "category": "string",      "seniority": null,      "workplace_type": null,      "url": "string",      "posted_at": "2019-08-24T14:15:22Z",      "first_seen": "2019-08-24T14:15:22Z",      "last_seen": "2019-08-24T14:15:22Z",      "closed_at": "2019-08-24T14:15:22Z",      "reopened_at": "2019-08-24T14:15:22Z",      "confidence": "verified",      "skills": "string",      "salary_text": "string",      "salary_is_estimate": 0,      "salary_source": "string",      "match_score": 0    }  ],  "total": 0,  "limit": 0,  "offset": 0,  "matched_skills": [    "string"  ],  "search": "string"}