Everything you need to integrate the JobDataLake API
Base URL: https://api.jobdatalake.com
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"
GET /v1/jobsSearch and filter 1M+ enriched job listings. Each request costs 1 credit.
| Parameter | Type | Description | Default |
|---|---|---|---|
| q | string | Keyword search (searches title, company, skills) | * |
| semantic_query | string | AI semantic search. Works best with job-title-like queries. Remote + tech jobs only. | — |
| page | int | Page number | 1 |
| per_page | int | Results per page (max 100) | 20 |
| sort_by | string | Sort: posted_at:desc (newest), posted_at:asc (oldest), salary_max_usd:desc (highest paid), salary_min_usd:asc (lowest paid) | posted_at:desc |
| remote_type | string | fully_remote | hybrid | on_site | — |
| countries | string | Comma-separated ISO codes (e.g. US,GB,DE) | — |
| states | string | Comma-separated US state codes (e.g. CA,NY) | — |
| job_function | string | eng | data | design | sales | ops | marketing | security | product | finance | hr | legal | other | — |
| seniority | string | Comma-separated: Entry, Mid Level, Senior, Staff, Principal, Manager, Director, Lead, C Level, Internship | — |
| employment_type | string | full_time | part_time | contract | internship | — |
| salary_min | int | Minimum salary in thousands USD (e.g. 150 = $150k) | — |
| salary_max | int | Maximum salary in thousands USD | — |
| skills | string | Comma-separated required skills (AND mode — all must match) | — |
| domain | string | Filter by company domain (e.g. stripe.com) | — |
| location | string | Free-text location filter (e.g. "Remote", "San Francisco", "Europe") | — |
| posted_after | int | Unix timestamp (ms) — only jobs posted after this time | — |
| facets | string | Comma-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 /v1/jobs/:handleFetch 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 /v1/companies/:handleFetch 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"
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}}
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"
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"}}}
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.
Requests are rate-limited to 10 per second per API key. Exceeding this returns 429 Too Many Requests. Contact [email protected] for higher limits.
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