Call GET https://services.onetcenter.org/ws/mnm/search?keyword={encoded_title}&end=10 with HTTP Basic Auth; e.g., keyword=software+developer returns a list of matching occupations with onetsoc_code and title
Select the best-match code from the results using title similarity; optionally call GET /ws/online/occupations/{onetsoc_code}/summary for the occupation description to validate the match
Retrieve the skills profile via GET /ws/online/occupations/{onetsoc_code}/details/skills; each skill entry includes element_id (e.g., 2.A.1.b), element_name, scale_id (LV for level, IM for importance), and data_value (0–7 scale)
Retrieve technology skills separately via GET /ws/online/occupations/{onetsoc_code}/details/technology_skills for software and tools
Map skill element_ids to the O*NET Content Model hierarchy (downloadable at https://www.onetcenter.org/database.html) to categorize skills into Knowledge, Skills, Abilities, and Work Activities
Cache occupation data locally with a TTL of at least 90 days; the O*NET database updates quarterly, so stale caches rarely cause problems but must be invalidated on major updates
Known gotchas
The /ws/mnm/search endpoint returns a maximum of 20 results per call; if the correct occupation is ranked lower, refine the keyword or iterate through results using the start and end parameters
data_value scores are on different scales depending on scale_id: LV (Level) uses 0–7, IM (Importance) uses 1–5; normalizing across scales without checking scale_id produces meaningless aggregations
The O*NET Web Services API is provided free of charge by the US DOL but requires registration and acceptable use; commercial redistribution of raw O*NET data may require an additional data use agreement
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp