curl -X POST "https://connect.jobo.world/api/jobs/search" \
-H "X-Api-Key: $JOBO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"queries": ["backend engineer"],
"locations": ["London"],
"work_models": ["remote", "hybrid"],
"experience_levels": ["senior"],
"salary_usd": { "min": 150000 },
"page_size": 50
}'from jobo_enterprise import JoboClient, RangeFilter
with JoboClient(api_key="YOUR_API_KEY") as client:
results = client.search.search_advanced(
queries=["backend engineer"],
locations=["London"],
work_models=["remote", "hybrid"],
experience_levels=["senior"],
salary_usd=RangeFilter(min=150_000),
page_size=50,
)
const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
queries: ['<string>'],
search_description: true,
locations: ['<string>'],
sources: ['<string>'],
skills: {include: ['<string>'], exclude: ['<string>']},
companies: {include: ['<string>'], exclude: ['<string>']},
industries: {include: ['<string>'], exclude: ['<string>']},
work_models: [],
employment_types: [],
experience_levels: [],
salary_usd: {min: 1, max: 1},
posted_after: '2023-11-07T05:31:56Z',
posted_before: '2023-11-07T05:31:56Z',
discovered_after: '2023-11-07T05:31:56Z',
discovered_before: '2023-11-07T05:31:56Z',
page: 1,
page_size: 25,
include_facets: [],
include_fields: []
})
};
fetch('https://connect.jobo.world/api/jobs/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://connect.jobo.world/api/jobs/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'queries' => [
'<string>'
],
'search_description' => true,
'locations' => [
'<string>'
],
'sources' => [
'<string>'
],
'skills' => [
'include' => [
'<string>'
],
'exclude' => [
'<string>'
]
],
'companies' => [
'include' => [
'<string>'
],
'exclude' => [
'<string>'
]
],
'industries' => [
'include' => [
'<string>'
],
'exclude' => [
'<string>'
]
],
'work_models' => [
],
'employment_types' => [
],
'experience_levels' => [
],
'salary_usd' => [
'min' => 1,
'max' => 1
],
'posted_after' => '2023-11-07T05:31:56Z',
'posted_before' => '2023-11-07T05:31:56Z',
'discovered_after' => '2023-11-07T05:31:56Z',
'discovered_before' => '2023-11-07T05:31:56Z',
'page' => 1,
'page_size' => 25,
'include_facets' => [
],
'include_fields' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://connect.jobo.world/api/jobs/search"
payload := strings.NewReader("{\n \"queries\": [\n \"<string>\"\n ],\n \"search_description\": true,\n \"locations\": [\n \"<string>\"\n ],\n \"sources\": [\n \"<string>\"\n ],\n \"skills\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"companies\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"industries\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"work_models\": [],\n \"employment_types\": [],\n \"experience_levels\": [],\n \"salary_usd\": {\n \"min\": 1,\n \"max\": 1\n },\n \"posted_after\": \"2023-11-07T05:31:56Z\",\n \"posted_before\": \"2023-11-07T05:31:56Z\",\n \"discovered_after\": \"2023-11-07T05:31:56Z\",\n \"discovered_before\": \"2023-11-07T05:31:56Z\",\n \"page\": 1,\n \"page_size\": 25,\n \"include_facets\": [],\n \"include_fields\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://connect.jobo.world/api/jobs/search")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"queries\": [\n \"<string>\"\n ],\n \"search_description\": true,\n \"locations\": [\n \"<string>\"\n ],\n \"sources\": [\n \"<string>\"\n ],\n \"skills\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"companies\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"industries\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"work_models\": [],\n \"employment_types\": [],\n \"experience_levels\": [],\n \"salary_usd\": {\n \"min\": 1,\n \"max\": 1\n },\n \"posted_after\": \"2023-11-07T05:31:56Z\",\n \"posted_before\": \"2023-11-07T05:31:56Z\",\n \"discovered_after\": \"2023-11-07T05:31:56Z\",\n \"discovered_before\": \"2023-11-07T05:31:56Z\",\n \"page\": 1,\n \"page_size\": 25,\n \"include_facets\": [],\n \"include_fields\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://connect.jobo.world/api/jobs/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"queries\": [\n \"<string>\"\n ],\n \"search_description\": true,\n \"locations\": [\n \"<string>\"\n ],\n \"sources\": [\n \"<string>\"\n ],\n \"skills\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"companies\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"industries\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"work_models\": [],\n \"employment_types\": [],\n \"experience_levels\": [],\n \"salary_usd\": {\n \"min\": 1,\n \"max\": 1\n },\n \"posted_after\": \"2023-11-07T05:31:56Z\",\n \"posted_before\": \"2023-11-07T05:31:56Z\",\n \"discovered_after\": \"2023-11-07T05:31:56Z\",\n \"discovered_before\": \"2023-11-07T05:31:56Z\",\n \"page\": 1,\n \"page_size\": 25,\n \"include_facets\": [],\n \"include_fields\": []\n}"
response = http.request(request)
puts response.read_body{
"jobs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"normalized_title": "<string>",
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"website": "<string>",
"logo_url": "<string>",
"summary": "<string>",
"industries": [
"<string>"
],
"categories": [
"<string>"
],
"linkedin_url": "<string>",
"crunchbase_url": "<string>",
"details_url": "<string>"
},
"description": "<string>",
"summary": "<string>",
"listing_url": "<string>",
"apply_url": "<string>",
"locations": [
{
"location": "<string>",
"city": "<string>",
"region": "<string>",
"country": "<string>",
"latitude": 123,
"longitude": 123
}
],
"compensation": {
"min": 123,
"max": 123,
"currency": "<string>",
"period": "hourly"
},
"employment_type": "Full-time",
"workplace_type": "Remote",
"experience_level": "Intern",
"source": "greenhouse",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"date_posted": "2023-11-07T05:31:56Z",
"valid_through": "2023-11-07T05:31:56Z",
"qualifications": {
"must_have": {
"education": [
"<string>"
],
"certifications": [
"<string>"
],
"skills": [
{
"name": "<string>",
"type": "hard"
}
]
},
"preferred": {
"education": [
"<string>"
],
"certifications": [
"<string>"
],
"skills": [
{
"name": "<string>",
"type": "hard"
}
]
}
},
"responsibilities": [
"<string>"
],
"benefits": [
"<string>"
],
"is_work_auth_required": true,
"is_h1b_sponsor": true,
"is_clearance_required": true
}
],
"total": 123,
"page": 123,
"page_size": 123,
"total_pages": 123,
"facets": {},
"warnings": [
{
"code": "companies_unmatched",
"field": "companies.include",
"message": "<string>"
}
],
"filters": {
"companies": {
"matched": [
{
"query": "<string>",
"companies": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"provider_id": "workday",
"website": "<string>",
"is_enabled": true
}
]
}
],
"unmatched": [
"<string>"
],
"exclude_unmatched": [
"<string>"
]
}
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}Search jobs
Structured search for multiple OR’d queries and locations, explicit include/exclude filters, date and salary ranges, field selection, and facets. The body is optional; an omitted body performs an unfiltered first-page search. Delivered jobs use your plan’s included jobs first, then the pay-as-you-go rate; without a plan, the pay-as-you-go rate applies.
curl -X POST "https://connect.jobo.world/api/jobs/search" \
-H "X-Api-Key: $JOBO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"queries": ["backend engineer"],
"locations": ["London"],
"work_models": ["remote", "hybrid"],
"experience_levels": ["senior"],
"salary_usd": { "min": 150000 },
"page_size": 50
}'from jobo_enterprise import JoboClient, RangeFilter
with JoboClient(api_key="YOUR_API_KEY") as client:
results = client.search.search_advanced(
queries=["backend engineer"],
locations=["London"],
work_models=["remote", "hybrid"],
experience_levels=["senior"],
salary_usd=RangeFilter(min=150_000),
page_size=50,
)
const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
queries: ['<string>'],
search_description: true,
locations: ['<string>'],
sources: ['<string>'],
skills: {include: ['<string>'], exclude: ['<string>']},
companies: {include: ['<string>'], exclude: ['<string>']},
industries: {include: ['<string>'], exclude: ['<string>']},
work_models: [],
employment_types: [],
experience_levels: [],
salary_usd: {min: 1, max: 1},
posted_after: '2023-11-07T05:31:56Z',
posted_before: '2023-11-07T05:31:56Z',
discovered_after: '2023-11-07T05:31:56Z',
discovered_before: '2023-11-07T05:31:56Z',
page: 1,
page_size: 25,
include_facets: [],
include_fields: []
})
};
fetch('https://connect.jobo.world/api/jobs/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://connect.jobo.world/api/jobs/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'queries' => [
'<string>'
],
'search_description' => true,
'locations' => [
'<string>'
],
'sources' => [
'<string>'
],
'skills' => [
'include' => [
'<string>'
],
'exclude' => [
'<string>'
]
],
'companies' => [
'include' => [
'<string>'
],
'exclude' => [
'<string>'
]
],
'industries' => [
'include' => [
'<string>'
],
'exclude' => [
'<string>'
]
],
'work_models' => [
],
'employment_types' => [
],
'experience_levels' => [
],
'salary_usd' => [
'min' => 1,
'max' => 1
],
'posted_after' => '2023-11-07T05:31:56Z',
'posted_before' => '2023-11-07T05:31:56Z',
'discovered_after' => '2023-11-07T05:31:56Z',
'discovered_before' => '2023-11-07T05:31:56Z',
'page' => 1,
'page_size' => 25,
'include_facets' => [
],
'include_fields' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://connect.jobo.world/api/jobs/search"
payload := strings.NewReader("{\n \"queries\": [\n \"<string>\"\n ],\n \"search_description\": true,\n \"locations\": [\n \"<string>\"\n ],\n \"sources\": [\n \"<string>\"\n ],\n \"skills\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"companies\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"industries\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"work_models\": [],\n \"employment_types\": [],\n \"experience_levels\": [],\n \"salary_usd\": {\n \"min\": 1,\n \"max\": 1\n },\n \"posted_after\": \"2023-11-07T05:31:56Z\",\n \"posted_before\": \"2023-11-07T05:31:56Z\",\n \"discovered_after\": \"2023-11-07T05:31:56Z\",\n \"discovered_before\": \"2023-11-07T05:31:56Z\",\n \"page\": 1,\n \"page_size\": 25,\n \"include_facets\": [],\n \"include_fields\": []\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://connect.jobo.world/api/jobs/search")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"queries\": [\n \"<string>\"\n ],\n \"search_description\": true,\n \"locations\": [\n \"<string>\"\n ],\n \"sources\": [\n \"<string>\"\n ],\n \"skills\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"companies\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"industries\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"work_models\": [],\n \"employment_types\": [],\n \"experience_levels\": [],\n \"salary_usd\": {\n \"min\": 1,\n \"max\": 1\n },\n \"posted_after\": \"2023-11-07T05:31:56Z\",\n \"posted_before\": \"2023-11-07T05:31:56Z\",\n \"discovered_after\": \"2023-11-07T05:31:56Z\",\n \"discovered_before\": \"2023-11-07T05:31:56Z\",\n \"page\": 1,\n \"page_size\": 25,\n \"include_facets\": [],\n \"include_fields\": []\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://connect.jobo.world/api/jobs/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"queries\": [\n \"<string>\"\n ],\n \"search_description\": true,\n \"locations\": [\n \"<string>\"\n ],\n \"sources\": [\n \"<string>\"\n ],\n \"skills\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"companies\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"industries\": {\n \"include\": [\n \"<string>\"\n ],\n \"exclude\": [\n \"<string>\"\n ]\n },\n \"work_models\": [],\n \"employment_types\": [],\n \"experience_levels\": [],\n \"salary_usd\": {\n \"min\": 1,\n \"max\": 1\n },\n \"posted_after\": \"2023-11-07T05:31:56Z\",\n \"posted_before\": \"2023-11-07T05:31:56Z\",\n \"discovered_after\": \"2023-11-07T05:31:56Z\",\n \"discovered_before\": \"2023-11-07T05:31:56Z\",\n \"page\": 1,\n \"page_size\": 25,\n \"include_facets\": [],\n \"include_fields\": []\n}"
response = http.request(request)
puts response.read_body{
"jobs": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"normalized_title": "<string>",
"company": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"website": "<string>",
"logo_url": "<string>",
"summary": "<string>",
"industries": [
"<string>"
],
"categories": [
"<string>"
],
"linkedin_url": "<string>",
"crunchbase_url": "<string>",
"details_url": "<string>"
},
"description": "<string>",
"summary": "<string>",
"listing_url": "<string>",
"apply_url": "<string>",
"locations": [
{
"location": "<string>",
"city": "<string>",
"region": "<string>",
"country": "<string>",
"latitude": 123,
"longitude": 123
}
],
"compensation": {
"min": 123,
"max": 123,
"currency": "<string>",
"period": "hourly"
},
"employment_type": "Full-time",
"workplace_type": "Remote",
"experience_level": "Intern",
"source": "greenhouse",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"date_posted": "2023-11-07T05:31:56Z",
"valid_through": "2023-11-07T05:31:56Z",
"qualifications": {
"must_have": {
"education": [
"<string>"
],
"certifications": [
"<string>"
],
"skills": [
{
"name": "<string>",
"type": "hard"
}
]
},
"preferred": {
"education": [
"<string>"
],
"certifications": [
"<string>"
],
"skills": [
{
"name": "<string>",
"type": "hard"
}
]
}
},
"responsibilities": [
"<string>"
],
"benefits": [
"<string>"
],
"is_work_auth_required": true,
"is_h1b_sponsor": true,
"is_clearance_required": true
}
],
"total": 123,
"page": 123,
"page_size": 123,
"total_pages": 123,
"facets": {},
"warnings": [
{
"code": "companies_unmatched",
"field": "companies.include",
"message": "<string>"
}
],
"filters": {
"companies": {
"matched": [
{
"query": "<string>",
"companies": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"provider_id": "workday",
"website": "<string>",
"is_enabled": true
}
]
}
],
"unmatched": [
"<string>"
],
"exclude_unmatched": [
"<string>"
]
}
}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"code": "<string>",
"api_version": "2026-08-31"
}Authorizations
API key provided by Jobo
Body
Free-text search queries; multiple entries are OR'd. Each entry matches broadly by default (title, company name, popular skills, summary) with typo tolerance. Wrap an entry in double quotes (e.g. ""Quantitative Developer"") to make it an exact, contiguous phrase match restricted to the job title only — use this when a query is a job-title filter and broad matches are noise. Prefix an entry with - to exclude it. Maximum 10 positive terms per request; more returns a 400 (negative - exclusions don't count toward the limit).
Controls which fields the queries match against. When true (default), queries match title, curated alternative titles, company, popular skills, and summary — broad recall, best for keyword discovery (e.g. "python" finds a "Software Engineer" that lists Python as a skill). When false, queries match against job titles only — the job's own title plus a curated set of same-role alternative titles, so "Android Developer" also finds roles titled "Android Engineer" without pulling in jobs that merely mention the terms in their summary or skills (e.g. an "IT Support Engineer" that lists Android as a skill no longer matches). Use false when you pass exact job titles and want relevance over keyword recall. Double-quoted entries are stricter still: an exact, contiguous phrase match against the literal job title only (alternative titles excluded) — the escape hatch when even title synonyms are unwanted. In both modes results are relevance-ordered — jobs matching every word of a query always rank above partial matches, and partial matches only appear at the tail when a query has no full match inside the filtered window (e.g. a short posted_after range). Take results from the top; the tail of a large page is best-effort filler.
Location strings to filter by (geocoded automatically)
Restrict to specific ATS provider IDs (e.g. greenhouse, lever, workday).
Include/exclude skills filter
Show child attributes
Show child attributes
Include/exclude companies. Each entry is, independently, one of three kinds, classified deterministically:
A company id GUID (any standard format/casing), matched against the Jobo company id — the same id returned in job payloads and in filters.companies.matched.
A website domain or URL (fedex.com, https://www.fedex.com/careers), matched against the company's stored website domain. Scheme, path, port and a leading www. are stripped; subdomains are significant, so use the company's main website domain. Anything that parses as a domain is treated as one — it is never retried as a name.
Anything else is a company display name, matched on the WHOLE name, case-insensitively, after normalization: accents folded, punctuation collapsed, and common trailing legal suffixes stripped (Inc, Corp, Ltd, plc, GmbH, …). So FedEx Corporation, fedex and FedEx, Inc. all resolve to the same companies. It is NOT a partial or prefix match — Glenmark does not find Glenmark Pharmaceuticals, and Fidelity finds the company actually called Fidelity rather than every Fidelity* employer.
Entries that match nothing are reported in filters.companies.unmatched and as a companies_unmatched entry in warnings; when every include entry misses, the response is a 200 with zero jobs, not a 400. An unmatched exclude entry excludes nothing and is reported as companies_exclude_unmatched.
Pairing this with sources can be provably empty — a company indexed on Workday cannot satisfy sources: [greenhouse] — which is reported as companies_outside_sources.
Show child attributes
Show child attributes
Include/exclude company-industry filter. Matched on the whole industry name, case-insensitively — not a partial match.
Show child attributes
Show child attributes
Filter by work model: remote, hybrid, onsite
remote, hybrid, onsite Filter by employment type: full-time, part-time, contract, internship, freelance, temporary
full-time, part-time, contract, internship, freelance, temporary Exact-match experience-level filter. Canonical values are intern, entry, mid, senior, lead, and executive.
intern, entry, mid, senior, lead, executive Annualized USD range-overlap filter. A job matches when its disclosed salary range intersects the requested range. Jobs without disclosed compensation are excluded.
Show child attributes
Show child attributes
Only return jobs whose employer posting date is on or after this date
Only return jobs whose employer posting date is on or before this date
Only return jobs first indexed on or after this UTC timestamp
Only return jobs first indexed on or before this UTC timestamp
x >= 11 <= x <= 100Facets to compute and return. Omit (or null) for the default subset (work_model, experience_level, employment_type, sources). Pass an empty array to skip facets entirely. industries and skills are high-cardinality and only computed when explicitly requested. Unknown names are ignored.
work_model, experience_level, employment_type, sources, industries, skills Heavy, non-core fields to include. Omit (or null) for the full job — every field, the default. Pass a subset to keep only those non-core fields alongside the always-present core fields. Pass an empty array for core fields only. Unknown names are ignored; excluded non-core fields come back empty.
description, summary, qualifications, responsibilities, benefits Response
Paginated list of matching jobs with optional facets
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Non-fatal problems with the request. Absent entirely when there is nothing to report, so an ordinary successful search is unchanged. The same codes are published, comma-separated, on the X-Jobo-Warnings response header so a client can branch without parsing the body.
Show child attributes
Show child attributes
How the server interpreted the filters that needed resolving. Present only when a companies filter was supplied.
Show child attributes
Show child attributes

