The 'List Tools and Tech by Keyword' API enables developers to query and retrieve a list of O*NET defined tools and technologies for a specific keyword.
About this data
This Web API provides information about the instruments, machines and the computer software that are 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}/{keyword}/{startRecord}/{limitRecord}
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}/{keyword}/{startRecord}/{limitRecord}"
};
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}/{keyword}/{startRecord}/{limitRecord}")
.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
Refer to the following table for a list of the required and optional request parameters. All parameter names and values are case sensitive. Important: You must provide all required parameters. Submitting an empty request does not return all possible results; an empty request returns an error.
Response Structure
{ "RecordCount": 335,
"DidYouMean": "",
"AutoCorrection": "",
"Techtools": [
{
"Category": "Information retrieval or search software",
"Type": "Technology",
"ExampleList": [
{
"Name": "ACT Contractors Forms software"
},
{
"Name": "AeroPlanner"
}
],
"ExampleCount": "121",
"OccupationList": [
{
"OnetCode": "23-1021.00",
"OnetTitle": "Administrative Law Judges, Adjudicators, and Hearing Officers"
},
{
"OnetCode": "25-1041.00",
"OnetTitle": "Agricultural Sciences Teachers, Postsecondary"
}
],
"OccupationCount": "97"
}
]
}
<TechTool xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/XPAND.CareerOneStop.WebApi.ViewModels">
<AutoCorrection/>
<DidYouMean/>
<RecordCount>335</RecordCount>
<Techtools>
<TechTools>
<Category>Information retrieval or search software</Category>
<ExampleCount>121</ExampleCount>
<ExampleList>
<Example>
<Name>ACT Contractors Forms software</Name>
</Example>
<Example>
<Name>AeroPlanner</Name>
</Example>
</ExampleList>
<OccupationCount>97</OccupationCount>
<OccupationList>
<OccupationInfo>
<OnetCode>23-1021.00</OnetCode>
<OnetTitle>Administrative Law Judges, Adjudicators, and Hearing Officers</OnetTitle>
</OccupationInfo>
<OccupationInfo>
<OnetCode>25-1041.00</OnetCode>
<OnetTitle>Agricultural Sciences Teachers, Postsecondary</OnetTitle>
</OccupationInfo>
</OccupationList>
<Type>Technology</Type>
</TechTools>
</Techtools>
</TechTool>
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. |