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.
{
"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"
}
]
}