{"openapi":"3.1.0","info":{"title":"JobCrawl API","version":"1.0.0","description":"Access job postings scraped directly from company career pages. No LinkedIn, no Indeed — every listing links to the company's own application page. Filter by category, country, salary, remote status, and more.","contact":{"email":"support@jobcrawl.org"},"x-logo":{"url":"https://jobcrawl.org/icon.png"}},"servers":[{"url":"https://jobcrawl.org/api/v1","description":"Production"}],"security":[{"bearerAuth":[]}],"paths":{"/jobs":{"get":{"operationId":"listJobs","summary":"List jobs","description":"Search and filter job postings. Returns paginated results sorted by posting date (newest first).","parameters":[{"name":"category","in":"query","schema":{"type":"string","enum":["engineering","software-development","information-technology","data-analytics","design","creative-arts","project-management","product-management","business-operations","legal-compliance","finance-accounting","human-resources","admin-clerical","quality-assurance","environment-health-safety","research-development","food-beverage","protective-services","sales","marketing","communications","business-development","advanced-practice","allied-health","nursing","pharmacy","veterinary","education","customer-service","social-services","construction","mechanical-electrical","manufacturing","maintenance-repair","general-labor","transportation","supply-chain","custodial"]},"description":"Filter by job category"},{"name":"country","in":"query","schema":{"type":"string"},"description":"Filter by country name (e.g. \"United States\")"},{"name":"remote","in":"query","schema":{"type":"string","enum":["true"]},"description":"Set to \"true\" to show only remote jobs"},{"name":"salary_min","in":"query","schema":{"type":"integer"},"description":"Minimum salary filter (annual, USD)"},{"name":"salary_max","in":"query","schema":{"type":"integer"},"description":"Maximum salary filter (annual, USD)"},{"name":"posted_after","in":"query","schema":{"type":"string","format":"date"},"description":"Only jobs posted on or after this date (YYYY-MM-DD)"},{"name":"q","in":"query","schema":{"type":"string"},"description":"Full-text search across job titles and companies"},{"name":"page","in":"query","schema":{"type":"integer","default":1,"minimum":1},"description":"Page number"},{"name":"per_page","in":"query","schema":{"type":"integer","default":20,"minimum":1,"maximum":100},"description":"Results per page (max 100)"}],"responses":{"200":{"description":"List of jobs","headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"Daily request limit for your API key"},"X-RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests remaining today"},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"},"description":"When the rate limit resets (UTC midnight)"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"meta":{"type":"object","properties":{"total":{"type":"integer","description":"Total matching jobs"},"page":{"type":"integer"},"per_page":{"type":"integer"},"total_pages":{"type":"integer"}}}}}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/jobs/{id}":{"get":{"operationId":"getJob","summary":"Get a single job","description":"Retrieve a job posting by its ID.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"},"description":"Job ID"}],"responses":{"200":{"description":"Job details","headers":{"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"Daily request limit for your API key"},"X-RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests remaining today"},"X-RateLimit-Reset":{"schema":{"type":"string","format":"date-time"},"description":"When the rate limit resets (UTC midnight)"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Job"}}}}}},"401":{"description":"Missing or invalid API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Job not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key from your JobCrawl account (starts with jc_live_). Sign up at https://jobcrawl.org, go to Account → API Keys."}},"schemas":{"Job":{"type":"object","properties":{"id":{"type":"integer","example":42561},"title":{"type":"string","example":"Senior Software Engineer"},"company":{"type":"string","example":"Stripe"},"company_domain":{"type":["string","null"],"example":"stripe.com"},"salary_min":{"type":["integer","null"],"example":120000},"salary_max":{"type":["integer","null"],"example":180000},"salary_currency":{"type":["string","null"],"example":"USD"},"category":{"type":"string","enum":["engineering","software-development","information-technology","data-analytics","design","creative-arts","project-management","product-management","business-operations","legal-compliance","finance-accounting","human-resources","admin-clerical","quality-assurance","environment-health-safety","research-development","food-beverage","protective-services","sales","marketing","communications","business-development","advanced-practice","allied-health","nursing","pharmacy","veterinary","education","customer-service","social-services","construction","mechanical-electrical","manufacturing","maintenance-repair","general-labor","transportation","supply-chain","custodial"],"example":"software-development"},"category_label":{"type":"string","example":"Software Development"},"country":{"type":"string","example":"United States"},"countries":{"type":"array","items":{"type":"string"},"example":["United States"]},"is_remote":{"type":"boolean","example":true},"apply_url":{"type":"string","format":"uri","example":"https://stripe.com/jobs/1234"},"posted_at":{"type":"string","format":"date-time","example":"2026-03-10T00:00:00Z"},"created_at":{"type":"string","format":"date-time","example":"2026-03-10T12:00:00Z"}},"required":["id","title","company","category","category_label","country","is_remote","apply_url","posted_at","created_at"]},"Error":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}