# Open Skills API API

> Open Skills API API on Apizie: 13 endpoints (Job Titles and Descriptions, Job Title Autocomplete, Job Title Normalization, Unusual Job Titles, …) returned as clean JSON through one API key. 13 endpoints are live now. Call it over REST at https://zieapi.vercel.app/v1/open-data:dataatwork/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `open-data:dataatwork`
- Category: Open Data
- Status: live
- Source: http://www.dataatwork.org
- Page: https://zieapi.vercel.app/api/open-data/dataatwork
- OpenAPI: https://zieapi.vercel.app/api/open-data/dataatwork/openapi.json

A complete and standard data store for canonical and emerging skills, knowledge, abilities, tools, technolgies, and how they relate to jobs.

## Endpoints

### Job Titles and Descriptions
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-jobs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| offset | integer | no | Pagination offset. Default is 0. |
| limit | integer | no | Maximum number of items per page. Default is 20 and cannot exceed 500. |

### Job Title Autocomplete
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-jobs-autocomplete`

| Parameter | Type | Required | Description |
|---|---|---|---|
| begins_with | string | no | Find job titles beginning with the given text fragment |
| contains | string | no | Find job titles containing the given text fragment |
| ends_with | string | no | Find job titles ending with the given text fragment |

### Job Title Normalization
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-jobs-normalize`

| Parameter | Type | Required | Description |
|---|---|---|---|
| job_title | string | yes | Find the canonical job title(s) for jobs matching the given text fragment |
| limit | integer | no | Maximumn number of job title synonyms to return. Default is 1 and cannot exceed 10. |

### Unusual Job Titles
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-jobs-unusual-titles`

### Job Title and Description
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-jobs-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The O*NET SOC Code or UUID of the job title to retrieve |
| fips | string | no | The FIPS Code of a Core-Based Statistical Area. Only return the job if present in this area |

### Jobs Associated with a Job
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-jobs-id-related-jobs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The UUID of the job to retrieve related jobs for |

### Skills Associated with a Job
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-jobs-id-related-skills`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The UUID of the job to retrieve skills for |

### Skill Names and Descriptions
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-skills`

| Parameter | Type | Required | Description |
|---|---|---|---|
| offset | integer | no | Pagination offset. Default is 0. |
| limit | integer | no | Maximum number of items per page. Default is 20 and cannot exceed 500. |

### Skill Name Autocomplete
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-skills-autocomplete`

| Parameter | Type | Required | Description |
|---|---|---|---|
| begins_with | string | no | Find skill names beginning with the given text fragment |
| contains | string | no | Find skill names containing the given text fragment |
| ends_with | string | no | Find skill names ending with the given text fragment |

### Skill Name Normalization
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-skills-normalize`

| Parameter | Type | Required | Description |
|---|---|---|---|
| skill_name | string | yes | Find the canonical skill name(s) for skills matching the given text fragment |

### Skill Name and Description
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-skills-id`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The UUID of the skill name to retrieve |

### Jobs Associated with a Skill
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-skills-id-related-jobs`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The UUID of the skill to retrieve jobs for |

### Skills Associated with a Skill
`GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-skills-id-related-skills`

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The UUID of the skill to retrieve related skills for |

## Example
```
curl "https://zieapi.vercel.app/v1/open-data:dataatwork/get-jobs" \
  -H "x-api-key: $APIZIE_KEY"
```

## FAQ

### How do I call the Open Skills API API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/open-data:dataatwork/get-jobs with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Open Skills API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card.

### Can AI agents use the Open Skills API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key open-data:dataatwork.

### What is the status of the Open Skills API API?
Live: works with just an Apizie key
