JobsPipe

Quickstart

Create an API key and run your first job search in under two minutes.

Create an API key

Sign in to your dashboard, open Settings → API Keys, and click Generate API key. Copy the key - it starts with jp_live_ and is shown only once.

See Manage API keys for naming and revoking keys.

Make your first request

Send a POST to /v1/jobs/search with your key as a Bearer token.

curl https://api.jobspipe.dev/v1/jobs/search \
  -H "Authorization: Bearer jp_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "job_title_or": ["software engineer"], "limit": 5 }'
import requests

resp = requests.post(
    "https://api.jobspipe.dev/v1/jobs/search",
    headers={"Authorization": "Bearer jp_live_your_key_here"},
    json={"job_title_or": ["software engineer"], "limit": 5},
)
resp.raise_for_status()
data = resp.json()
print(data["metadata"], len(data["data"]))
const resp = await fetch("https://api.jobspipe.dev/v1/jobs/search", {
  method: "POST",
  headers: {
    Authorization: "Bearer jp_live_your_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ job_title_or: ["software engineer"], limit: 5 }),
});
const data = await resp.json();
console.log(data.metadata, data.data.length);

Read the response

Every response has a metadata object and a data array of normalized jobs.

200 OK
{
  "metadata": {
    "total_results": 1284,
    "truncated_results": 5,
    "total_companies": null,
    "truncated_companies": 0,
    "next_cursor": null
  },
  "data": [
    {
      "id": "jp_3958211043",
      "job_title": "Senior Software Engineer",
      "company": "Acme Inc",
      "location": "Remote · United States",
      "country_code": "US",
      "remote": true,
      "date_posted": "2026-06-18",
      "final_url": "https://example.com/careers/3958211043"
    }
  ]
}

Next steps

On this page