API Documentation

Everything you need to integrate the JobDataLake API

Base URL: https://api.jobdatalake.com

Authentication

All API requests require an API key passed via the X-API-Key header. Get a free key (1,000 credits) at jobdatalake.com/register.

curl "https://api.jobdatalake.com/v1/jobs?q=backend+engineer" \
-H "X-API-Key: YOUR_API_KEY"

Search Jobs

GET /v1/jobs

Search and filter 1M+ enriched job listings. Each request costs 1 credit.

ParameterTypeDescriptionDefault
qstringKeyword search (searches title, company, skills)*
semantic_querystringAI semantic search. Works best with job-title-like queries. Remote + tech jobs only.
pageintPage number1
per_pageintResults per page (max 100)20
sort_bystringSort: posted_at:desc (newest), posted_at:asc (oldest), salary_max_usd:desc (highest paid), salary_min_usd:asc (lowest paid)posted_at:desc
remote_typestringfully_remote | hybrid | on_site
countriesstringComma-separated ISO codes (e.g. US,GB,DE)
statesstringComma-separated US state codes (e.g. CA,NY)
job_functionstringeng | data | design | sales | ops | marketing | security | product | finance | hr | legal | other
senioritystringComma-separated: Entry, Mid Level, Senior, Staff, Principal, Manager, Director, Lead, C Level, Internship
employment_typestringfull_time | part_time | contract | internship
salary_minintMinimum salary in thousands USD (e.g. 150 = $150k)
salary_maxintMaximum salary in thousands USD
skillsstringComma-separated required skills (AND mode — all must match)
domainstringFilter by company domain (e.g. stripe.com)
locationstringFree-text location filter (e.g. "Remote", "San Francisco", "Europe")
posted_afterintUnix timestamp (ms) — only jobs posted after this time
facetsstringComma-separated facet fields to include in response
curl "https://api.jobdatalake.com/v1/jobs?q=backend+engineer&remote_type=fully_remote&salary_min=150&per_page=5" \
-H "X-API-Key: YOUR_API_KEY"

Get Job by Handle

GET /v1/jobs/:handle

Fetch a single job by its handle or ID. Returns the full job description, requirements, and apply link.

curl "https://api.jobdatalake.com/v1/jobs/dropbox-staff-backend-software-engineer-core-0ceq7" \
-H "X-API-Key: YOUR_API_KEY"

Get Company

GET /v1/companies/:handle

Fetch a company profile by handle or domain name. Returns industry, size, funding, and career page.

curl "https://api.jobdatalake.com/v1/companies/stripe.com" \
-H "X-API-Key: YOUR_API_KEY"

Response Format

All responses are JSON. Search responses include job data, pagination info, optional facets, and collection stats.

{
"found": 3800,
"page": 1,
"per_page": 10,
"jobs": [
{
"title": "Senior Backend Engineer",
"company_name": "Stripe",
"domain_name": "stripe.com",
"posted_at": 1775520869,
"locations": ["San Francisco, CA", "Remote"],
"countries": ["US"],
"remote_type": "fully_remote",
"job_function": "eng",
"seniority": ["Senior"],
"salary_min_usd": 180,
"salary_max_usd": 250,
"required_skills": ["Python", "AWS", "Kubernetes"],
"employment_type": "full_time",
"url": "https://stripe.com/jobs/...",
"job_handle": "stripe-senior-backend-engineer-abc123"
}
],
"stats": {
"total_jobs": 1080000,
"new_last_24h": 1100
}
}

Available Facets

Use the facets parameter to get aggregated counts for filtering UIs. Available facet fields: - remote_type — Remote policy breakdown - job_function — Department/function counts - seniority — Seniority level distribution - countries — Country distribution - states — US state distribution - required_skills — Top skills with counts - employment_type — Full-time, part-time, contract, internship - employee_count — Company size ranges - funding — Company funding stages - industry — Company industries

curl "https://api.jobdatalake.com/v1/jobs?q=*&per_page=0&facets=remote_type,seniority,required_skills" \
-H "X-API-Key: YOUR_API_KEY"

MCP Server

Use JobDataLake directly from Claude, Cursor, or any MCP-compatible AI tool. Free — no signup required, 500 calls/day.

# Claude Code (one command)
claude mcp add --transport http jobdatalake https://mcp.jobdatalake.com
# Or add to your MCP config (Cursor, Windsurf)
{
"mcpServers": {
"jobdatalake": {
"url": "https://mcp.jobdatalake.com"
}
}
}

Pricing

Each API request costs 1 credit. Free accounts start with 1,000 credits. Credit packages: - Starter — 1,000,000 credits for $200 - Growth — 2,000,000 credits for $300 - Business — 4,000,000 credits for $400 Credits never expire. Returns HTTP 402 when credits are exhausted.

Rate Limits

Requests are rate-limited to 10 per second per API key. Exceeding this returns 429 Too Many Requests. Contact [email protected] for higher limits.

Error Codes

Common error responses: - 401 — Invalid or missing API key - 402 — Insufficient credits (purchase more at /dashboard/billing) - 429 — Rate limit exceeded (10 req/sec) or daily MCP/RapidAPI limit reached - 404 — Job or company not found