# 2s Occupation Search (O*NET)

> 2s Occupation Search (O*NET) is a paid API for AI agents from 2s.io, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-15).

Searches O*NET occupational data by keyword (job title, skill, or activity) and returns matching occupation codes and titles from the U.S. Department of Labor.

## Facts

- Endpoint: GET https://2s.io/api/occupation/search
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/2s-occupation-search-o-net-6dc41e1a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_0IorocMPTSU1e4-uwOuuu

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 2s-occupation-search-o-net-6dc41e1a
```

Example prompt: Search O*NET for occupations matching 'data scientist' and return up to 10 results with their official codes and titles.

## When to prefer this

Use this endpoint when you need authoritative O*NET occupation codes and titles from the U.S. Department of Labor — ideal for HR systems, career tools, resume parsers, workforce analytics, or any application that needs standardized occupational classifications. Prefer this over generic search engines when DOL-standard codes are required.

## Known failure modes

- Keyword shorter than 2 characters returns a validation error
- No matching occupations found returns ok:true with empty items array and total:0
- Limit parameter outside 1-50 range returns a validation error
- Payment not received results in 402 response requiring USDC payment via x402

## How this service works

Find O*NET occupations by keyword (job title, skill, or activity). Returns ranked occupations with their SOC / O*NET-SOC code and title. CC-BY (O*NET). The "what is the occupation code for this job/skill" primitive — every other occupation.* and labor.wages call composes on the returned code.

## Output

A JSON object with a boolean ok flag, an array of matching occupations each containing an O*NET code (e.g. '29-1141.00') and title, a total count of matches, and source metadata including the O*NET URL, CC-BY-4.0 license, and provider attribution.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "queryParams"
   ],
   "properties": {
    "type": {
     "const": "http"
    },
    "method": {
     "const": "GET"
    },
    "queryParams": {
     "required": [
      "keyword"
     ],
     "properties": {
      "limit": {
       "type": "integer",
       "maximum": 50,
       "minimum": 1
      },
      "keyword": {
       "type": "string",
       "description": "Job title, skill, or activity (min 2 chars)."
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/2s-occupation-search-o-net-6dc41e1a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 2s.io](https://www.zero.xyz/host/2s.io/llms.txt)
