praxyjobs

Documentation

The Praxy Jobs API

A jobs API built on one rule: every job comes straight from the employer's own ATS board and carries the receipt to prove it. 53 platforms (see them all), millions of live postings, and a source_slug + source_endpoint on every row so you can verify any listing at the source. No aggregator middlemen, no dead links resold as fresh.

Base URL

All endpoints live under /v1 on the public origin:

Example
https://jobs-api-stage.up.railway.app/v1

Responses are JSON. Errors follow RFC 9457 problem+json — a status, title, and human-readable detail on every failure.

Try it in 10 seconds

Example
curl "https://jobs-api-stage.up.railway.app/v1/jobs/preview?q=data+engineer&country=DE"

The public preview is keyless and capped at ten jobs so you can inspect current data quality before subscribing. Full search, descriptions, company data, and lifecycle feeds require an active paid plan.

Authentication

Your production API key is created after Dodo confirms an active Starter, Growth, or Scale subscription. Reveal it once from the dashboard, store it as a secret, and send it with every production request:

Example
curl "https://jobs-api-stage.up.railway.app/v1/jobs/search?q=site+reliability+engineer&include_description=true&limit=1" \
  -H "X-API-Key: $PRAXY_JOBS_KEY"

What's in a job

Stable job_key, title, organization, direct apply URL, status with close reasons, first/last-seen timestamps, derived locations, employment types, salary when the source publishes it, a career-family taxonomy, and the verifiability block: source, source_slug, source_endpoint, directory_verified_at. Fields we don't know are omitted, never guessed — absence means unknown.

Where to next