/v1/occupations/{soc_code}/skillsGet the skill list (with importance + level scores) for an occupation
Return every skill, knowledge area, and ability required for a single occupation, each annotated with an importance score and a level score. Both scores are normalized to 0.00-1.00 — `importance` tells you how critical the skill is, `level` tells you the proficiency required. **When to use:** power skill-gap widgets, career-transition tools, or LLM prompts that ask 'what does a nurse need to know?'. For a complete profile (tasks, wages, projections) use `GET /v1/occupations/{soc_code}` instead. **Inputs:** `soc_code` (path), plus optional `category` filter to narrow to one of knowledge / skill / ability. **Response shape:** an `ApiResponse` wrapping a list of `OccupationSkillDetail` items (`skill_id`, `name`, `category`, `importance`, `level`) sorted by importance. Source: O*NET OnLine (USDOL/ETA). Required scope: `skills:read`.
Authentication
Requires API key via X-API-Key header.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| soc_code | path | string | required | |
| category | query | any | optional | Filter by skill category |
Example request
curl -X GET \
"https://skills.wageapi.com/api/v1/occupations/%3Csoc_code%3E/skills?category=%3Ccategory%3E" \
-H "X-API-Key: YOUR_API_KEY"Responses
dataarray<OccupationSkillDetail>requiredskill_idstringrequiredO*NET skill identifier
namestringrequiredSkill name
categorystringrequiredknowledge | skill | ability
importancenumberrequiredHow important this skill is (0.00-1.00)
min 0 · max 1
levelnumberrequiredRequired proficiency level (0.00-1.00)
min 0 · max 1
metadataMetadataSchemarequiredsourcesarray<SourceSchema>optionalnamestringrequiredData source name (e.g. O*NET, BLS OES)
urlanyoptionalURL to the source
request_idstringrequiredUnique request identifier
rate_limitanyoptionallimitintegerrequiredMaximum requests per day for current tier
remainingintegerrequiredRequests remaining today
resetstringrequiredUTC timestamp when limit resets
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
statusanyoptionalHTTP status code
request_idanyoptionalRequest 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
statusanyoptionalHTTP status code
request_idanyoptionalRequest 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
statusanyoptionalHTTP status code
request_idanyoptionalRequest 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
statusanyoptionalHTTP status code
request_idanyoptionalRequest 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
statusanyoptionalHTTP status code
request_idanyoptionalRequest 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
statusanyoptionalHTTP status code
request_idanyoptionalRequest 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 →