/v1/salary/eudeprecated[Deprecated] Get EU salary data for a job title and country
**Deprecated — use `GET /v1/salary?location=<country>` instead. This endpoint will be removed on 2026-09-01.** Return mean/median annual salary in EUR, percentile distribution (p10-p90), gender pay gap, and minimum wage for a single EU country. Covers all 27 EU member states using Eurostat Structure of Earnings Survey (SES) data. Job titles are matched to ISCO-08 major group codes via fuzzy matching with a SOC→ISCO crosswalk for US job titles. **Limitations:** Eurostat SES reports at the 1-digit ISCO major group level only, so all occupations in a group share the same benchmark. Expect lower resolution than the US BLS OES dataset. **Migration:** the unified `GET /v1/salary` endpoint auto-detects EU locations and returns a superset of this response. Prefer it for new integrations. Source: Eurostat SES, ISCO-08 occupation codes. Required scope: `salary:read`.
Authentication
Requires API key via X-API-Key header.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| job_title | query | string | required | Job title (e.g., 'software developer', 'nurse', 'manager') |
| country | query | string | required | Country name or ISO code (e.g., 'Germany', 'DE', 'FR') |
Example request
curl -X GET \
"https://salary.wageapi.com/api/v1/salary/eu?job_title=%3Cjob_title%3E&country=DE" \
-H "X-API-Key: YOUR_API_KEY"Responses
queryEUSalaryQueryrequiredjob_titlestringrequiredmatched_iscostringrequiredmatched_isco_fullstringrequiredmatched_titlestringrequiredmatch_methodstringrequiredcountrystringrequiredcountry_codestringrequiredsalaryEUSalaryBandrequiredmean_annualanyrequiredmedian_annualanyrequiredp10anyrequiredp25anyrequiredp75anyrequiredp90anyrequiredcurrencystringoptionaldefault "EUR"
gender_gap_pctanyrequiredmean_maleanyrequiredmean_femaleanyrequiredsample_sizeanyrequiredminimum_wageanyoptionalmonthly_euranyrequiredmonthly_ppsanyrequiredyearintegerrequiredsemesteranyoptionaldata_sourcestringoptionaldefault "Eurostat SES"
data_datestringrequiredisco_notestringoptionaldefault "Eurostat SES data uses 1-digit ISCO major groups only. The matched occupation is mapped to its major group for lookup."
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)
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 →