# Remote Jobs API — Full Reference Live, normalized remote-job data across 73 job boards (1,354,483 jobs), refreshed continuously. No signup, no API key. Pay-per-call via x402 on Base and Solana (USDC), plus free Stripe plans. ## What it returns Every job is normalized to a common shape across all 73 boards: `id`, `title`, `company`, `location`, `remote` (bool), `salary_min`, `salary_max`, `currency`, `salary_period`, `posted_at`, `apply_url`, `source`, `category`, `skills`. Filters are query params on `/v1/jobs`. ## Free tier (no key, 10 jobs per call) | Endpoint | Params | Returns | |---|---|---| | `GET https://remote-jobs-api.tten.no/v1/jobs` | `limit` (<=10), `source`, `q`, `location`, `skill`, `category`, `remote` | recent remote jobs, capped at 10 | | `GET https://remote-jobs-api.tten.no/v1/jobs/sources` | — | per-source job counts | | `GET https://remote-jobs-api.tten.no/v1/snapshot` | — | full current feed (free, unbounded) | | `GET https://remote-jobs-api.tten.no/v1/salary-band` | `band` e.g. `60-100k` | jobs in a salary band | | `GET https://remote-jobs-api.tten.no/v1/health` | — | status, source count, total jobs | ## Paid per-call (x402, USDC, no signup) Send a signed x402 payment on the request to unlock the unbounded feed: | Endpoint | Params | Returns | |---|---|---| | `GET https://remote-jobs-api.tten.no/x402/jobs` | `limit` (unbounded), same filters | full job feed, all sources | | `GET https://remote-jobs-api.tten.no/x402/sources` | — | per-source counts | | `GET https://remote-jobs-api.tten.no/x402/health` | — | payment status (no auth) | x402 manifest (machine-readable): `https://remote-jobs-api.tten.no/.well-known/x402` ## Machine-readable discovery - `https://remote-jobs-api.tten.no/openapi.yaml` — OpenAPI 3.1 spec (version = live service version) - `https://remote-jobs-api.tten.no/.well-known/ard.json` — ARD (AI Registry) manifest - `https://remote-jobs-api.tten.no/.well-known/ai-catalog.json` — AI catalog mirror - `https://remote-jobs-api.tten.no/.well-known/ai-plugin.json` — AI plugin manifest - `https://remote-jobs-api.tten.no/llms.txt` — compact LLM reference - `https://remote-jobs-api.tten.no/llms-full.txt` — this file - `https://remote-jobs-api.tten.no/docs` — human docs ## Paid plans (Stripe) - **Pro $19/mo** — API key, full feed - **Team $49/mo** — API key, full feed, 5 seats ## Quick start ``` # Free, 10 jobs, no key: GET https://remote-jobs-api.tten.no/v1/jobs?limit=10&skill=python # Full feed (x402 signed): GET https://remote-jobs-api.tten.no/x402/jobs?limit=500&remote=true ``` ## Notes - `remote` is authoritative (strict superset of a source's 'Remote' tag). - `salary_min`/`salary_max` are numeric in `currency` (defaults USD when the source discloses a bare number). Free tier is capped at 10 rows/call.