The 'List Tools and Tech by Occupation' API enables developers to query and retrieve a list of O*NET defined tools and technologies for a specific Occupation.
About this data
This Web API provides information about the instruments, machines and the computer software used in O*NET defined occupations. Data is collected and released publicly on an annual basis by O*NET. You can see the Tools & Technology Finder on CareerOneStop. Click here for more information on the data.
Resource URL
https://api.careeronestop.org/v1/techtool/{userId}/{occupationCode}/
Example Code
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
namespace CareerOneStopAPISample
{
class Program
{
static void Main(string[] args)
{
CreateRequest().Wait();
}
private static async Task CreateRequest()
{
var uri = new UriBuilder(Uri.UriSchemeHttps, "api.careeronestop.org")
{
Path = "/v1/techtool/{userId}/{occupationCode}/"
};
using (var http = new HttpClient())
{
http.DefaultRequestHeaders.Accept.Clear();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "Your API Token");
http.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await http.GetAsync(uri.Uri).ConfigureAwait(false);
if (response.IsSuccessStatusCode)
{
var result = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
}
}
}
}
}
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class CareerOneStopAPISample {
public static void main(String[] args) throws IOException, URISyntaxException {
URI uri = new URIBuilder()
.setScheme("https")
.setHost("api.careeronestop.org")
.setPath("/v1/techtool/{userId}/{occupationCode}/")
.build();
CloseableHttpResponse response = null;
HttpGet httpGet = null;
try {
CloseableHttpClient httpClient = HttpClients.createDefault();
httpGet = new HttpGet(uri);
httpGet.setHeader("Content-Type","application/json");
httpGet.setHeader("Authorization", "Bearer Your API Token");
response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
System.out.println(EntityUtils.toString(entity));
} finally {
if(httpGet != null) httpGet.releaseConnection();
if(response != null) response.close();
}
}
}
Request Parameters
Response Structure
{
"RecordCount": 128,
"DidYouMean": "",
"AutoCorrection": "",
"TechToolOccupationDetails": {
"OnetCode": "29-1171.00",
"OnetTitle": "Nurse Practitioners",
"Tools": {
"Categories": [
{
"Title": "Medical suction or vacuum appliances",
"Examples": [
{
"Name": "Nasal suctioning equipment"
},
{
"Name": "Oral suctioning equipment"
}
]
},
{
"Title": "Medical syringe with needle",
"Examples": [
{
"Name": "Hypodermic syringes"
}
]
}
]
},
"Technology": {
"CategoryList": [
{
"Title": "Internet browser software",
"Examples": [
{
"Name": "Microsoft Internet Explorer"
},
{
"Name": "Web browser software"
}
]
},
{
"Title": "Medical software",
"Examples": [
{
"Name": "Allscripts Professional EHR"
},
{
"Name": "Amkai AmkaiCharts"
}
]
}
]
}
}
}
<TechToolOccupationDetailsList xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/XPAND.CareerOneStop.WebApi.ViewModels">
<AutoCorrection/>
<DidYouMean/>
<RecordCount>128</RecordCount>
<TechToolOccupationDetails>
<OnetCode>29-1171.00</OnetCode>
<OnetTitle>Nurse Practitioners</OnetTitle>
<Technology>
<CategoryList>
<Category>
<Examples>
<Example>
<Name>Microsoft Internet Explorer</Name>
</Example>
<Example>
<Name>Web browser software</Name>
</Example>
</Examples>
<Title>Internet browser software</Title>
</Category>
<Category>
<Examples>
<Example>
<Name>Allscripts Professional EHR</Name>
</Example>
<Example>
<Name>Amkai AmkaiCharts</Name>
</Example>
</Examples>
<Title>Medical software</Title>
</Category>
</CategoryList>
</Technology>
<Tools>
<Categories>
<Category>
<Examples>
<Example>
<Name>Pacemaker analyzers</Name>
</Example>
<Example>
<Name>Transcutaneous pacemakers</Name>
</Example>
</Examples>
<Title>Cardiac pacemaker generator or cardiac resynchronization therapy pacemaker CRT-P</Title>
</Category>
<Category>
<Examples>
<Example>
<Name>Doppler ultrasound equipment</Name>
</Example>
</Examples>
<Title>Cardiac ultrasound or doppler or echo units or cardioscopes</Title>
</Category>
</Categories>
</Tools>
</TechToolOccupationDetails>
</TechToolOccupationDetailsList>
Response Parameters
Errors
Error/Status Code |
Description |
200
|
OK / Success. The request went through successfully and there is a response body.
|
400
|
Bad Request (Request was invalid or missing parameters)
|
401
|
Unauthorized. This error occurs specifically when authentication is required and has failed or has not yet been provided correctly. (ex: Invalid API Token)
|
404
|
This error will be shown in two scenarios 1) Not found - (An error occurred) and 2) Not found - (No data available)
|
500
|
Internal Server Error. This error will occur when there is something critically wrong in the API call. |