Developer API

Remote jobs feed,
ready to integrate.

Access thousands of live remote jobs pulled directly from company ATS systems. Filter by department, remote type, or company. JSON over HTTPS.

REST JSON API 4,000+ live jobs API key auth Bearer token

Authentication

All requests require an Authorization header with your API key. Keys are prefixed rtmt_live_.

Header
Authorization: Bearer rtmt_live_YOUR_KEY

To request API access, email api@remotato.com.

Endpoints

GET/api/v1/jobs— List remote jobs with optional filters

Query Parameters

ParameterTypeDescription
qstringFull-text search across title and company name
deptstringEngineering · Design · Product · Marketing · Sales · Customer Success · Data & Analytics · Security · Finance & Legal · People & HR · Operations
remotestringfully_remote · remote_us · remote_eu · hybrid
companystringFilter by company name (partial match, case-insensitive) — e.g. "stripe" matches "Stripe"
company_iduuidFilter to a single company by its exact UUID
pageintegerPage number — default 1
per_pageintegerResults per page — min 1, max 100, default 20

Example

curl
curl https://remotato.com/api/v1/jobs \
  -H "Authorization: Bearer rtmt_live_YOUR_KEY" \
  -G \
  --data-urlencode "dept=Engineering" \
  --data-urlencode "remote=fully_remote" \
  --data-urlencode "per_page=5"
JavaScript / TypeScript
const res = await fetch(
  'https://remotato.com/api/v1/jobs?dept=Design&remote=fully_remote',
  { headers: { Authorization: 'Bearer rtmt_live_YOUR_KEY' } }
)
const { jobs, meta } = await res.json()
console.log(`${meta.total} jobs found`)
jobs.forEach(j => console.log(j.title, '—', j.company.name))
Response (JSON)
{
  "jobs": [
    {
      "id": "3f2a1b8c-...",
      "title": "Senior Software Engineer",
      "department": "Engineering",
      "remote_type": "fully_remote",
      "location": "Remote",
      "url": "https://boards.greenhouse.io/acme/jobs/12345",
      "posted_at": "2026-10-01T09:00:00Z",
      "company": {
        "id": "9c1b4a2d-...",
        "name": "Acme Corp",
        "website": "https://acme.com",
        "logo_url": "https://icons.duckduckgo.com/ip3/acme.com.ico"
      }
    }
  ],
  "meta": {
    "total": 4820,
    "page": 1,
    "per_page": 5,
    "total_pages": 964
  }
}

Response fields

FieldTypeDescription
iduuidUnique job ID
titlestringJob title as posted by the company
departmentstringNormalized department category
remote_typestringfully_remote · remote_us · remote_eu · hybrid
locationstringLocation string from ATS, may be null
urlstringDirect link to the job application page
posted_atISO 8601When the job was first detected on the ATS
company.iduuidCompany ID — use with company_id filter
company.namestringCompany display name
company.websitestringCompany homepage URL
company.logo_urlstringLogo image URL (DuckDuckGo favicon CDN)
meta.totalintegerTotal jobs matching your query
meta.total_pagesintegerTotal number of pages

Limits & notes

• per_page is capped at 100. Use page to paginate.

• Only jobs with a classified remote_type are returned. Unknown/unclassified listings are excluded.

• Jobs are updated every hour. Stale listings are automatically removed.

• No hard rate limits today — please be reasonable. Aggressive polling may result in key suspension.

Get API access

API access is available on request. Email us with your use case and we'll get you set up.

Request API access