{"openapi":"3.1.0","info":{"title":"BOQQS Jobs API","version":"1.0.0","description":"Live vacancies advertised directly with BOQQS. Free, no key required. Listings syndicated from partner job boards appear on boqqs.com but are not redistributable and are never returned by this API.","termsOfService":"https://boqqs.com/developers#terms","contact":{"name":"BOQQS","url":"https://boqqs.com/contact"},"license":{"name":"Free to use with attribution","url":"https://boqqs.com/developers#terms"},"x-providerName":"boqqs.com","x-apisguru-categories":["open_data"],"x-logo":{"url":"https://boqqs.com/icon.svg","backgroundColor":"#FFFFFF"}},"servers":[{"url":"https://boqqs.com/api/v1"}],"security":[],"paths":{"/jobs":{"get":{"summary":"Search live jobs","operationId":"listJobs","parameters":[{"name":"q","in":"query","schema":{"type":"string"},"description":"Free text over title, employer and category."},{"name":"city","in":"query","schema":{"type":"string"},"description":"City slug, e.g. london."},{"name":"country","in":"query","schema":{"type":"string","enum":["GB","NG"]}},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"remote","in":"query","schema":{"type":"string","enum":["remote","hybrid","onsite"]}},{"name":"employment_type","in":"query","schema":{"type":"string"}},{"name":"salary_min","in":"query","schema":{"type":"integer"},"description":"Matches jobs whose upper salary reaches this figure."},{"name":"posted_since","in":"query","schema":{"type":"string","format":"date"}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1}},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}],"responses":{"200":{"description":"A page of jobs.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobList"}}}},"400":{"description":"A parameter was out of range."},"429":{"description":"Rate limited — 60 requests a minute per address."}}}},"/jobs/{id}":{"get":{"summary":"One job, including its description","operationId":"getJob","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The job.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDetailResponse"}}}},"404":{"description":"No directly-advertised job with that id."}}}}},"components":{"schemas":{"Job":{"type":"object","required":["id","title","employer","location","salary","postedAt","url","applyUrl"],"properties":{"id":{"type":"string","description":"The advert's BOQQS reference, e.g. BQ-2026-1004. Assigned once and stable for the life of the listing."},"title":{"type":"string"},"employer":{"type":"string"},"employerWebsite":{"type":"string","format":"uri"},"location":{"type":"object","properties":{"city":{"type":"string"},"region":{"type":"string"},"country":{"type":"string","description":"ISO 3166-1 alpha-2."}}},"remote":{"type":"string","enum":["remote","hybrid","onsite"]},"salary":{"type":"object","properties":{"min":{"type":"integer"},"max":{"type":"integer"},"currency":{"type":"string","description":"ISO 4217, e.g. GBP or NGN."},"period":{"type":"string","enum":["year","month","week","day","hour"]},"display":{"type":"string","description":"The figure as the employer wrote it."}}},"employmentType":{"type":"string"},"category":{"type":"string"},"postedAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"url":{"type":"string","format":"uri","description":"The listing on boqqs.com. Link here when you display the job."},"applyUrl":{"type":"string","format":"uri"}}},"JobDetail":{"allOf":[{"$ref":"#/components/schemas/Job"},{"type":"object","properties":{"descriptionHtml":{"type":"string","description":"Sanitised HTML. Already stripped of scripts and event handlers."}}}]},"Attribution":{"type":"object","properties":{"source":{"type":"string"},"url":{"type":"string","format":"uri"},"terms":{"type":"string","format":"uri"},"requirement":{"type":"string"}}},"JobList":{"type":"object","properties":{"jobs":{"type":"array","items":{"$ref":"#/components/schemas/Job"}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"perPage":{"type":"integer"},"total":{"type":"integer"},"totalPages":{"type":"integer"}}},"attribution":{"$ref":"#/components/schemas/Attribution"},"notice":{"type":"string"},"docs":{"type":"string","format":"uri"}}},"JobDetailResponse":{"type":"object","properties":{"job":{"$ref":"#/components/schemas/JobDetail"},"attribution":{"$ref":"#/components/schemas/Attribution"}}}}}}