Remote Landers API

A free, public, read-only JSON API of the live remote job listings on remotelanders.com. Built for job-board directories, aggregators, and partner sites that want to list or link to our openings - no API key, no auth, no rate-limit headaches.

Every listing returned here is sourced directly from the employer's own ATS (Greenhouse, Ashby, Lever, SmartRecruiters, Recruitee) - paid or aggregated third-party listings are never included.

Base URL

https://remotelanders.com/api

Authentication

None required. Every endpoint below is a public GET request and responds with Access-Control-Allow-Origin: *, so it can be called directly from a browser on another domain.

GET /api/jobs

Returns a paginated list of live, ATS-direct job listings.

ParamTypeDescription
categorystringFilter to one function category, e.g. Engineering.
locationstringFilter to listings whose location contains this text.
typestringFilter by employment type, e.g. Full-time.
companystringFilter to one company (exact match).
limitnumberResults per page. Default 50, max 100.
pagenumber1-indexed page number. Default 1.

Example request:

curl "https://remotelanders.com/api/jobs?category=Engineering&limit=2"

Example response:

{
  "total": 214,
  "page": 1,
  "limit": 2,
  "count": 2,
  "jobs": [
    {
      "slug": "senior-backend-engineer-acme-remote-9f3k2a",
      "title": "Senior Backend Engineer (Remote)",
      "company": "Acme",
      "companyWebsite": "https://acme.com",
      "category": "Engineering",
      "subtags": ["Backend"],
      "location": "Worldwide",
      "type": "Full-time",
      "level": "Senior",
      "salary": "$140k–180k / yr",
      "postedDate": "2026-08-04",
      "url": "https://remotelanders.com/jobs/senior-backend-engineer-acme-remote-9f3k2a",
      "applyUrl": "https://jobs.ashbyhq.com/acme/apply/9f3k2a"
    }
  ]
}

GET /api/jobs/{slug}

Returns a single job by its slug (the same value as the slug field above, and the last path segment of its url).

Example request:

curl "https://remotelanders.com/api/jobs/senior-backend-engineer-acme-remote-9f3k2a"

Returns the same job object shown above, or a 404 with the body below if the slug doesn't exist, has expired, or isn't an ATS-direct listing:

{ "error": "Job not found" }

Job object fields

ParamTypeDescription
slugstringUnique identifier for the listing, also used in the job's URL.
titlestringJob title as posted.
companystringHiring company's name.
companyWebsitestring | nullCompany's official website, when known.
categorystringOne of 15 fixed function categories, e.g. "Engineering", "Design", "Marketing".
subtagsstring[]Finer-grained sub-functions within the category, e.g. ["Frontend", "Backend"].
locationstringEligible work location(s), e.g. "Worldwide" or "United States".
typestringEmployment type: "Full-time", "Part-time", "Contract", "Intern", etc.
levelstringSeniority level when specified by the employer; empty string if unspecified.
salarystring | nullHuman-readable salary range as posted, e.g. "$98k–139k / yr".
postedDatestring | nullISO date (YYYY-MM-DD) this listing was first seen.
urlstringCanonical Remote Landers page for this listing.
applyUrlstringDirect link to the employer's own application page.

Freshness & caching

The underlying data refreshes roughly every 10 minutes. Please cache responses on your end rather than polling more often than that - repeated identical requests within that window return the same data.

Questions

Something not working, or need a field this API doesn't expose yet? Reach out via the contact page.