FindNeo Developers

List and show jobs

Two calls cover a careers section: one lists the jobs, one returns a single job for its own page. Both work with either kind of key.

The job list

curl "https://api.gofindneo.com/v1/website/jobs?limit=50" \
  -H "X-Api-Key: fnjobs_your_key"

Jobs come newest first. Each one has:

Field What it is
id The job's id. Use it in the job's address on your site and in every other call.
title The job title.
employmentType full_time, part_time, contract, internship, temporary, or null.
workMode onsite, hybrid, remote, or null.
countryCode Two-letter country code (IN, GB, US), or null.
locationText The location as the company wrote it ("Bengaluru"), or null.
publishedAt When the job was published (ISO 8601), or null.
applyUrl The job on the FindNeo career page. Link "Apply" here if you don't take applications yourself.

The response also has companyName and companySlug.

Paging

limit is 25 when you leave it out, and at most 100. When there are more jobs, pagination.hasMore is true and pagination.nextCursor holds a cursor. Send it back as cursor for the next page:

async function allJobs() {
  const jobs = [];
  let cursor = null;
  do {
    const params = new URLSearchParams({ limit: '100' });
    if (cursor) params.set('cursor', cursor);
    const response = await fetch(`${API}/jobs?${params}`, { headers: { 'X-Api-Key': KEY } });
    if (!response.ok) throw new Error(`FindNeo answered ${response.status}`);
    const page = await response.json();
    jobs.push(...page.data);
    cursor = page.pagination.hasMore ? page.pagination.nextCursor : null;
  } while (cursor);
  return jobs;
}

Treat the cursor as opaque: don't build or change one yourself.

One job

curl https://api.gofindneo.com/v1/website/jobs/6f1c2a9e-3b4d-4c55-9a1e-2f0b7d8e9c10 \
  -H "X-Api-Key: fnjobs_your_key"

Everything from the list, plus:

Field What it is
description The job description as HTML, or null. FindNeo cleans it when it's saved: formatting and links only, no scripts, styles or frames.
experienceMinYears, experienceMaxYears The experience range asked for, or null.
educationLevel The education asked for, or null.
headcount How many people the company is hiring for this job.
closesAt When applications close, or null.

A job that is unpublished, confidential, closed or doesn't exist answers 404 ERR_NOT_FOUND, all the same way. Show a "This job is no longer open" page and link back to your list.

Keeping it fresh

A job you list stays correct until the company changes or closes it in FindNeo. Load the list when the page loads, or cache it on your server for a few minutes. The read limit is 60 calls a minute from one IP address, so a server that builds every visitor's page with a fresh call can reach it on a busy day; a short cache avoids that.