{"openapi":"3.1.0","info":{"title":"Adzuna (BYOK) API","version":"0.1.0","description":"Adzuna (BYOK) lets an AI assistant read your own Adzuna data through the Adzuna API with a key you supply (Adzuna application ID (app_id)). Read-only: 6 tools (search_jobs, list_categories, get_salary_histogram, get_salary_history, get_top_companies, get_regional_job_counts). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-adzuna.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-adzuna/docs"},"termsOfService":"https://connectorbay.com/byok-adzuna/terms"},"servers":[{"url":"https://byok-adzuna.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-adzuna/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/search_jobs":{"post":{"operationId":"search_jobs","summary":"Search current job adverts in one country by keywords, place, salary and contract terms; returns title, employer, locati","description":"Search current job adverts in one country by keywords, place, salary and contract terms; returns title, employer, location, salary range, category and a redirect link. Adzuna's default quota is 25 calls a minute and 250 a day. Use for \"Find senior data engineer jobs in London paying at least 70000\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country":{"description":"Two-letter lowercase country code of the Adzuna job market, for example 'gb' or 'us'.","maxLength":2,"title":"Country","type":"string"},"page":{"description":"Result page number, starting at 1.","maximum":1000,"minimum":1,"title":"Page","type":"integer"},"results_per_page":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Adverts per page (the documentation's examples use 20; keep it small).","title":"Results Per Page"},"what":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Keywords to search for in the advert.","title":"What"},"what_exclude":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Keywords the advert must not contain.","title":"What Exclude"},"location":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Place name to search in, for example 'London'.","title":"Location"},"sort_by":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Sort order, for example 'salary'.","title":"Sort By"},"salary_min":{"anyOf":[{"maximum":10000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Minimum salary in the country's currency.","title":"Salary Min"},"full_time":{"anyOf":[{"maximum":1,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Set to 1 to return only full-time jobs.","title":"Full Time"},"permanent":{"anyOf":[{"maximum":1,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Set to 1 to return only permanent jobs.","title":"Permanent"}},"required":["country","page"],"title":"search_jobsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_categories":{"post":{"operationId":"list_categories","summary":"List the job categories of one country's Adzuna market, with the tag to use when filtering history and regional calls. U","description":"List the job categories of one country's Adzuna market, with the tag to use when filtering history and regional calls. Use for \"Which job categories does Adzuna have for the UK\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country":{"description":"Two-letter lowercase country code of the Adzuna job market, for example 'gb' or 'us'.","maxLength":2,"title":"Country","type":"string"}},"required":["country"],"title":"list_categoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_salary_histogram":{"post":{"operationId":"get_salary_histogram","summary":"Get the distribution of advertised salaries for a search: each key is the lower bound of a salary band and each value th","description":"Get the distribution of advertised salaries for a search: each key is the lower bound of a salary band and each value the number of adverts in it (key order is not guaranteed). Use for \"What is the salary distribution for finance officer jobs in London\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country":{"description":"Two-letter lowercase country code of the Adzuna job market, for example 'gb' or 'us'.","maxLength":2,"title":"Country","type":"string"},"location0":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Top-level place name, for example 'UK' (use get_regional_job_counts to find valid names).","title":"Location0"},"location1":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Second-level place name below location0, for example 'London'.","title":"Location1"},"what":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Keywords to search for, for example 'finance officer'.","title":"What"}},"required":["country"],"title":"get_salary_histogramArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_salary_history":{"post":{"operationId":"get_salary_history","summary":"Get the average advertised salary per month (keys like 2026-03, in no guaranteed order) for a place and optional job cat","description":"Get the average advertised salary per month (keys like 2026-03, in no guaranteed order) for a place and optional job category. Use for \"How has the average IT salary in London moved over the past year\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country":{"description":"Two-letter lowercase country code of the Adzuna job market, for example 'gb' or 'us'.","maxLength":2,"title":"Country","type":"string"},"location0":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Top-level place name, for example 'UK' (use get_regional_job_counts to find valid names).","title":"Location0"},"location1":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Second-level place name below location0, for example 'London'.","title":"Location1"},"category":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Category tag from list_categories, for example 'it-jobs'.","title":"Category"}},"required":["country"],"title":"get_salary_historyArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_top_companies":{"post":{"operationId":"get_top_companies","summary":"List the employers with the most current vacancies for a job title keyword, with vacancy count and average salary (the t","description":"List the employers with the most current vacancies for a job title keyword, with vacancy count and average salary (the top five). Use for \"Which companies are hiring the most cooks in the UK\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country":{"description":"Two-letter lowercase country code of the Adzuna job market, for example 'gb' or 'us'.","maxLength":2,"title":"Country","type":"string"},"what":{"description":"Job title keywords, for example 'cook'.","maxLength":100,"title":"What","type":"string"}},"required":["country","what"],"title":"get_top_companiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_regional_job_counts":{"post":{"operationId":"get_regional_job_counts","summary":"List the places directly below a location with their current number of job adverts, optionally for one category; use the","description":"List the places directly below a location with their current number of job adverts, optionally for one category; use the area names for later location0 and location1 values. Use for \"How many jobs are advertised in each region of the West Midlands\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"country":{"description":"Two-letter lowercase country code of the Adzuna job market, for example 'gb' or 'us'.","maxLength":2,"title":"Country","type":"string"},"location0":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Top-level place name, for example 'UK' (use get_regional_job_counts to find valid names).","title":"Location0"},"location1":{"anyOf":[{"maxLength":80,"type":"string"},{"type":"null"}],"default":null,"description":"Second-level place name below location0, for example 'London'.","title":"Location1"},"category":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Category tag from list_categories.","title":"Category"}},"required":["country"],"title":"get_regional_job_countsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}