How to Filter Jobs by Skills, Location & Salary

Find exactly the jobs you need with Jobven API filters. Filter by skills, location, salary, experience level, and remote work type.

The Jobven API supports powerful filtering to help you find exactly the jobs you need. Combining multiple filters narrows your results (AND between filter types).

Array Parameters: Filters that accept multiple values require bracket notation: skills[]=react&skills[]=node — not skills=react,node or skills=["react"].

Filter Categories

Skills Filter

Find jobs requiring specific technologies or skills:

// Single skill
const params = new URLSearchParams({ limit: '20' });
params.append('skills[]', 'python');

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

// Multiple skills (OR logic - matches jobs with ANY of these skills)
const multiParams = new URLSearchParams({ limit: '20' });
multiParams.append('skills[]', 'python');
multiParams.append('skills[]', 'django');

const multiResponse = await fetch(
  `https://api.jobven.com/v1/public/jobs?${multiParams}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);
Tips:
  • Skills are matched case-insensitively. React, react, and REACT all work the same.
  • Keep skills to 2-4 for best relevance. More skills = broader results but less focused.
  • Multiple skills use OR logic — jobs matching any skill are returned.

Location Filters

Filter by geography using multiple parameters:

ParameterDescriptionExample
locationFree-text searchlocation=San Francisco
countryISO 3166-1 codecountry=US
stateState/region codesstate=CA,NY,TX
cityCity namescity=Austin,Seattle
Tip: Use country=XX to find jobs with no location information at all — often "work from anywhere" remote positions. Jobs with a city but no identifiable country match no country filter, so omit country if you want those too. See Data Types for details.
// Jobs in California
const params = new URLSearchParams({
  country: 'US',
  state: 'CA',
  limit: '20'
});

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

// Jobs in specific cities
const cityParams = new URLSearchParams({
  city: 'San Francisco,Austin,Seattle',
  limit: '20'
});

const cityResponse = await fetch(
  `https://api.jobven.com/v1/public/jobs?${cityParams}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

Remote Work Filter

Filter by work arrangement:

ValueDescription
remoteFully remote positions
hybridMix of remote and on-site
onsiteOn-site only
flexibleEmployee chooses
// Remote only
const params = new URLSearchParams({ limit: '20' });
params.append('remoteType[]', 'remote');

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

// Remote or hybrid
const flexParams = new URLSearchParams({ limit: '20' });
flexParams.append('remoteType[]', 'remote');
flexParams.append('remoteType[]', 'hybrid');

const flexResponse = await fetch(
  `https://api.jobven.com/v1/public/jobs?${flexParams}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

Salary Filter

Filter by compensation range:

// Minimum $100k salary
const params = new URLSearchParams({
  minSalary: '100000',
  limit: '20'
});

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

// Salary range $80k-$150k
const rangeParams = new URLSearchParams({
  minSalary: '80000',
  maxSalary: '150000',
  limit: '20'
});

const rangeResponse = await fetch(
  `https://api.jobven.com/v1/public/jobs?${rangeParams}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);
Note: Salary values are in the job's listed currency (usually USD). Jobs without salary data are excluded when using salary filters.

Experience Level

Filter by seniority:

ValueDescription
entryEntry-level / Junior
midMid-level
seniorSenior
leadLead / Staff
executiveExecutive / Director+
// Senior positions only
const params = new URLSearchParams({ limit: '20' });
params.append('experienceLevel[]', 'senior');

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

// Senior or Lead
const multiParams = new URLSearchParams({ limit: '20' });
multiParams.append('experienceLevel[]', 'senior');
multiParams.append('experienceLevel[]', 'lead');

const multiResponse = await fetch(
  `https://api.jobven.com/v1/public/jobs?${multiParams}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

Employment Type

Filter by job type:

ValueDescription
full_timeFull-time permanent
part_timePart-time
contractContract / Freelance
internshipInternship
temporaryTemporary position
const params = new URLSearchParams({ limit: '20' });
params.append('employmentType[]', 'full_time');

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

Industry Filter

Filter by industry category:

ValueDescription
technology_softwareTechnology / Software
healthcare_medicalHealthcare / Medical
finance_bankingFinance / Banking
educationEducation
retail_ecommerceRetail / E-commerce
...See all 16 industries
// Single industry
const params = new URLSearchParams({ limit: '20' });
params.append('industry[]', 'technology_software');

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

// Multiple industries (OR logic - matches ANY industry)
const multiParams = new URLSearchParams({ limit: '20' });
multiParams.append('industry[]', 'technology_software');
multiParams.append('industry[]', 'finance_banking');

const multiResponse = await fetch(
  `https://api.jobven.com/v1/public/jobs?${multiParams}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);
Note: Industry values use underscores, not spaces. Use technology_software, not technology software.

Common Filter Recipes

Remote Senior React Developer

High-paying remote React positions:

const params = new URLSearchParams({
  minSalary: '120000',
  limit: '50'
});
params.append('skills[]', 'react');
params.append('skills[]', 'typescript');
params.append('remoteType[]', 'remote');
params.append('experienceLevel[]', 'senior');
params.append('experienceLevel[]', 'lead');

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

Entry-Level Jobs in California

Jobs for new graduates in California:

const params = new URLSearchParams({
  country: 'US',
  state: 'CA',
  limit: '50'
});
params.append('experienceLevel[]', 'entry');
params.append('employmentType[]', 'full_time');

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

High-Salary Contract Positions

Contract roles paying $150k+:

const params = new URLSearchParams({
  minSalary: '150000',
  limit: '50'
});
params.append('employmentType[]', 'contract');

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

Jobs with Visa Sponsorship

International candidates looking for sponsorship:

const params = new URLSearchParams({
  hasVisaSponsorship: 'true',
  country: 'US',
  limit: '50'
});

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

Add q parameter to search titles, summaries, and descriptions:

const params = new URLSearchParams({
  q: 'backend developer',
  limit: '20'
});
params.append('skills[]', 'python');
params.append('skills[]', 'django');

const response = await fetch(
  `https://api.jobven.com/v1/public/jobs?${params}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

const { data: jobs } = await response.json();
console.log(`Found ${jobs.length} Python backend developer jobs`);

The q parameter searches across:

  • Job title
  • Job summary
  • Full description

Sorting Results

Control result ordering with sortBy and order:

sortByDescription
postedAtDate posted (default)
titleAlphabetical by title
companyAlphabetical by company
// Newest jobs first (default)
const newestParams = new URLSearchParams({
  sortBy: 'postedAt',
  order: 'DESC',
  limit: '20'
});

const newestResponse = await fetch(
  `https://api.jobven.com/v1/public/jobs?${newestParams}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

// Oldest jobs first
const oldestParams = new URLSearchParams({
  sortBy: 'postedAt',
  order: 'ASC',
  limit: '20'
});

const oldestResponse = await fetch(
  `https://api.jobven.com/v1/public/jobs?${oldestParams}`,
  { headers: { 'X-API-Key': process.env.JOBVEN_API_KEY } }
);

Next Steps

Jobs Reference

Complete list of all filter parameters.

Fetch All Jobs

Retrieve thousands of jobs across multiple pages.