/v1/compliance/salary-bands/{country}Get recommended salary bands for a job posting (EU compliance)
Return three compliant salary band options — `recommended`, `narrow`, and `wide` — for a job title in a specific EU country, based on statistical modelling of Eurostat SES percentile data. Use this when an employer needs to fill in a pay transparency posting ('What range should I put in my job advert for a software developer in Germany?') and wants a defensible band anchored to official benchmarks. **How the bands are built:** a log-normal distribution is fit to the p10, p25, p50, p75, p90 points from Eurostat SES for the matched ISCO major group in the target country. The three bands are derived from different percentile windows (e.g. `narrow` = p25–p75, `wide` = p10–p90). **Response:** the three bands, the national minimum wage for reference, the methodology note, and a legal disclaimer. Each band includes a human-readable `description` explaining the statistical interpretation. Source: Eurostat SES, national statistics offices, EU Directive 2023/970. Required scope: `compliance:read` (Pro tier or higher).
Authentication
Requires API key via X-API-Key header.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| country | path | string | required | |
| job_title | query | string | required | Job title (e.g., 'software developer') |
Example request
curl -X GET \
"https://salary.wageapi.com/api/v1/compliance/salary-bands/DE?job_title=%3Cjob_title%3E" \
-H "X-API-Key: YOUR_API_KEY"Responses
country_codestringrequiredcountry_namestringrequiredjob_titlestringrequiredmatched_iscostringrequiredmatched_titlestringrequiredbandsarray<ComplianceSalaryBand>requiredlabelstringrequiredmin_salarynumberrequiredmax_salarynumberrequireddescriptionstringrequiredminimum_wageanyrequiredmonthly_euranyrequiredmonthly_ppsanyrequiredyearintegerrequiredsemesteranyoptionalcurrencystringoptionaldefault "EUR"
data_sourcestringrequireddata_yearintegerrequiredmethodology_notestringrequireddisclaimerstringoptionaldefault "Salary bands are statistical estimates based on Eurostat SES data and log-normal distribution modelling. They do not constitute legal advice. Consult a qualified employment lawyer for compliance decisions."
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
errorErrorDetailrequiredStructured error payload returned by all Aethar APIs. Mirrors the shape produced by aethar_auth.exception_handlers so the OpenAPI spec accurately describes real error bodies for documentation readers and MCP clients.
codestringrequiredMachine-readable error code (e.g. INVALID_API_KEY)
messagestringrequiredHuman-readable error message
statusintegerrequiredHTTP status code
request_idstringrequiredRequest identifier — include in support tickets
suggestionanyoptionalActionable hint on how to resolve the error
doc_urlanyoptionalLink to full documentation for this error code
fieldanyoptionalField that caused the error (if applicable)
errorsanyoptionalPer-field validation errors (only for 422 VALIDATION_ERROR responses)
Try this endpoint
Create a free Aethar account and generate an API key in 2 minutes.
Create free account →