Banner: Web API: Get Occupations Reports

Web API: Get Occupations Reports

Get Occupations Reports

The 'Get Occupations Reports' API enables developers to input a location and report type to get occupation reports.

About this data

The API provides search results for Occupations Reports based on a location entered. It provides 5 types of reports. "Fastest Growing Occupations", "Highest Paying Occupations", "Careers with Most Openings", "Careers with Declining Employment" and "Careers with Largest Employment". Information about the data used in these reports can be found here.

Resource URL

https://api.careeronestop.org/v1/occupationsreports/{userId}/{reporttype}/{location}/{education}/{sortColumns}/{sortDirections}/{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/occupationsreports/{userId}/{reporttype}/{location}/{education}/{sortColumns}/{sortDirections}/{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/occupationsreports/{userId}/{reporttype}/{location}/{education}/{sortColumns}/{sortDirections}/{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

Parameter Name Value Required? Description
API Token
String
Yes
Your unique API Token provided during the CareerOneStop Web API registration process. 
userId
String
Yes Your unique UserID provided during the CareerOneStop Web API registration process.
reporttype
String
Yes
Type of report to generate.
"FG" is Fastest-Growing Careers
"HP" is Highest Paying Careers
"MO" is Most Openings
"LE" is Careers with Largest Employment
"DE" is Careers with Declining Employment 
location
String
Yes This value accepts a state (IL) or "US". Reports show data at the state or national level. 
education
String Yes To filter the results based on education level of occupations, enter the value from the corresponding response object, EducationTitle.FilterList.Value. Default value is 0, no filter.
sortColumns
String Yes

This value is for sorting the records. Valid values are:
ORRANK - Occupation Report Rand is the default order for this particular report. For HP, it's wages; for DE and FG, it's percent change; for LE, it's employment. For MO, it's the number of openings.
EDUCODE - Typical education level
FMT_ESTEMP - Estimated employment (for the earlier year)
FMT_PCHG - Percent change
FMT_PROJEMP - Projected employment (for the later year)
OccupationTitle - Occupation title
QUARTILE - Earnings quartile (relevant in DE, FG, LE, MO reports)
Default value is 0, same as ORRANK

sortDirection
String Yes Use this parameter to set the ordering of the results. Valid values are ASC, DESC and 0. Default value is 0 for relevance.
startRecord
Integer
Yes This value is to set the starting record. Default value 0 is for the first record.
limitRecord
Integer
Yes This value sets the limit of the maximum number of records to be returned. Default value is 10.

Response Structure

{

  "OccupationsList": {

    "Occupations": [

      {

        "Rank": 297,

        "ID": "100930",

        "OccupationTitle": "Real Estate Sales Agents",

        "EstYear": null,

        "ProjYear": "2015",

        "PercentChange": null,

        "StateAbbrev": "VA",

        "StateName": "Virginia",

        "StateFips": "51",

        "QUARTILE": null,

        "Definition": null,

        "TypicalEducation": "High school diploma or equivalent",

        "SocCode": "419022",

        "EducationTitle": [

          {

            "Name": "High school diploma or equivalent",

            "NValue": "4294967293"

          }

        ],

        "EstimatedEmployment": null,

        "ProjectedEmployment": null,

        "ProjectedAnnualJobOpening": null,

        "JobFamily": "41",

        "OptStatus": "110000000",

        "NodeID": "2",

        "Level": "edu7",

        "Median": "22.81",

        "Annualizedwage": "$47,400",

        "HourlyWage": "$22.81"

      },

      {

        "Rank": 358,

        "ID": "93530",

        "OccupationTitle": "Broadcast Technicians",

        "EstYear": null,

        "ProjYear": "2015",

        "PercentChange": null,

        "StateAbbrev": "VA",

        "StateName": "Virginia",

        "StateFips": "51",

        "QUARTILE": null,

        "Definition": null,

        "TypicalEducation": "Associate's degree",

        "SocCode": "274012",

        "EducationTitle": [

          {

            "Name": "Associate's degree",

            "NValue": "4294967289"

          }

        ],

        "EstimatedEmployment": null,

        "ProjectedEmployment": null,

        "ProjectedAnnualJobOpening": null,

        "JobFamily": "27",

        "OptStatus": "110000000",

        "NodeID": "2",

        "Level": "edu4",

        "Median": "20.4",

        "Annualizedwage": "$42,400",

        "HourlyWage": "$20.40"

      },

      {

        "Rank": 101,

        "ID": "97210",

        "OccupationTitle": "Civil Engineers",

        "EstYear": null,

        "ProjYear": "2015",

        "PercentChange": null,

        "StateAbbrev": "VA",

        "StateName": "Virginia",

        "StateFips": "51",

        "QUARTILE": null,

        "Definition": null,

        "TypicalEducation": "Bachelor's degree",

        "SocCode": "172051",

        "EducationTitle": [

          {

            "Name": "Bachelor's degree",

            "NValue": "4294967292"

          }

        ],

        "EstimatedEmployment": null,

        "ProjectedEmployment": null,

        "ProjectedAnnualJobOpening": null,

        "JobFamily": "17",

        "OptStatus": "110000000",

        "NodeID": "2",

        "Level": "edu3",

        "Median": "38.89",

        "Annualizedwage": "$80,900",

        "HourlyWage": "$38.89"

      },

      {

        "Rank": 461,

        "ID": "104690",

        "OccupationTitle": "Extruding and Drawing Machine Setters, Operators, and Tenders, Metal and Plastic",

        "EstYear": null,

        "ProjYear": "2015",

        "PercentChange": null,

        "StateAbbrev": "VA",

        "StateName": "Virginia",

        "StateFips": "51",

        "QUARTILE": null,

        "Definition": null,

        "TypicalEducation": "High school diploma or equivalent",

        "SocCode": "514021",

        "EducationTitle": [

          {

            "Name": "High school diploma or equivalent",

            "NValue": "4294967293"

          }

        ],

        "EstimatedEmployment": null,

        "ProjectedEmployment": null,

        "ProjectedAnnualJobOpening": null,

        "JobFamily": "51",

        "OptStatus": "110000000",

        "NodeID": "2",

        "Level": "edu7",

        "Median": "16.39",

        "Annualizedwage": "$34,100",

        "HourlyWage": "$16.39"

      }

    ],

    "RecordCount": 592,

    "AreaValidationErr": "",

    "AreaRecordCountList": [

      {

        "Item": "VA",

        "Count": 592,

        "NValue": null

      }

    ],

    "EducationTitle": {

      "Undo": [],

      "Filter": [

        {

          "Item": "High school diploma or equivalent (292)",

          "Count": 292,

          "NValue": "4294967293"

        },

        {

          "Item": "Bachelor's degree (152)",

          "Count": 152,

          "NValue": "4294967292"

        },

        {

          "Item": "Master's degree or higher (58)",

          "Count": 58,

          "NValue": "4294967291"

        },

        {

          "Item": "Some college (46)",

          "Count": 46,

          "NValue": "4294967290"

        },

        {

          "Item": "Associate's degree (44)",

          "Count": 44,

          "NValue": "4294967289"

        }

      ]

    }

  }

}
<OccupationsReports xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/API.CareerOneStop.DTO">

  <OccupationsList>

    <AreaRecordCountList>

      <ItemCount xmlns="">

        <Count>592</Count>

        <Item>VA</Item>

        <NValue i:nil="true" />

      </ItemCount>

    </AreaRecordCountList>

    <AreaValidationErr />

    <EducationTitle>

      <Filter xmlns="">

        <ItemCount>

          <Count>292</Count>

          <Item>High school diploma or equivalent (292)</Item>

          <NValue>4294967293</NValue>

        </ItemCount>

        <ItemCount>

          <Count>152</Count>

          <Item>Bachelor's degree (152)</Item>

          <NValue>4294967292</NValue>

        </ItemCount>

        <ItemCount>

          <Count>58</Count>

          <Item>Master's degree or higher (58)</Item>

          <NValue>4294967291</NValue>

        </ItemCount>

        <ItemCount>

          <Count>46</Count>

          <Item>Some college (46)</Item>

          <NValue>4294967290</NValue>

        </ItemCount>

        <ItemCount>

          <Count>44</Count>

          <Item>Associate's degree (44)</Item>

          <NValue>4294967289</NValue>

        </ItemCount>

      </Filter>

      <Undo xmlns="" />

    </EducationTitle>

    <Occupations>

      <OccupationReport xmlns="">

        <Annualizedwage>$47,400</Annualizedwage>

        <Definition i:nil="true" />

        <EducationTitle>

          <Dimension>

            <NValue>4294967293</NValue>

            <Name>High school diploma or equivalent</Name>

          </Dimension>

        </EducationTitle>

        <EstYear i:nil="true" />

        <EstimatedEmployment i:nil="true" />

        <PercentChange i:nil="true" />

        <HourlyWage>$22.81</HourlyWage>

        <ID>100930</ID>

        <JobFamily>41</JobFamily>

        <Level>edu7</Level>

        <Median>22.81</Median>

        <NodeID>2</NodeID>

        <OccupationTitle>Real Estate Sales Agents</OccupationTitle>

        <OptStatus>110000000</OptStatus>

        <ProjYear>2015</ProjYear>

        <ProjectedAnnualJobOpening i:nil="true" />

        <ProjectedEmployment i:nil="true" />

        <QUARTILE i:nil="true" />

        <Rank>297</Rank>

        <SocCode>419022</SocCode>

        <StateAbbrev>VA</StateAbbrev>

        <StateFips>51</StateFips>

        <StateName>Virginia</StateName>

        <TypicalEducation>High school diploma or equivalent</TypicalEducation>

      </OccupationReport>

      <OccupationReport xmlns="">

        <Annualizedwage>$42,400</Annualizedwage>

        <Definition i:nil="true" />

        <EducationTitle>

          <Dimension>

            <NValue>4294967289</NValue>

            <Name>Associate's degree</Name>

          </Dimension>

        </EducationTitle>

        <EstYear i:nil="true" />

        <EstimatedEmployment i:nil="true" />

        <PercentChangei:nil="true" />

        <HourlyWage>$20.40</HourlyWage>

        <ID>93530</ID>

        <JobFamily>27</JobFamily>

        <Level>edu4</Level>

        <Median>20.4</Median>

        <NodeID>2</NodeID>

        <OccupationTitle>Broadcast Technicians</OccupationTitle>

        <OptStatus>110000000</OptStatus>

        <ProjYear>2015</ProjYear>

        <ProjectedAnnualJobOpening i:nil="true" />

        <ProjectedEmployment i:nil="true" />

        <QUARTILE i:nil="true" />

        <Rank>358</Rank>

        <SocCode>274012</SocCode>

        <StateAbbrev>VA</StateAbbrev>

        <StateFips>51</StateFips>

        <StateName>Virginia</StateName>

        <TypicalEducation>Associate's degree</TypicalEducation>

      </OccupationReport>

      <OccupationReport xmlns="">

        <Annualizedwage>$80,900</Annualizedwage>

        <Definition i:nil="true" />

        <EducationTitle>

          <Dimension>

            <NValue>4294967292</NValue>

            <Name>Bachelor's degree</Name>

          </Dimension>

        </EducationTitle>

        <EstYear i:nil="true" />

        <EstimatedEmployment i:nil="true" />

        <PercentChangei:nil="true" />

        <HourlyWage>$38.89</HourlyWage>

        <ID>97210</ID>

        <JobFamily>17</JobFamily>

        <Level>edu3</Level>

        <Median>38.89</Median>

        <NodeID>2</NodeID>

        <OccupationTitle>Civil Engineers</OccupationTitle>

        <OptStatus>110000000</OptStatus>

        <ProjYear>2015</ProjYear>

        <ProjectedAnnualJobOpening i:nil="true" />

        <ProjectedEmployment i:nil="true" />

        <QUARTILE i:nil="true" />

        <Rank>101</Rank>

        <SocCode>172051</SocCode>

        <StateAbbrev>VA</StateAbbrev>

        <StateFips>51</StateFips>

        <StateName>Virginia</StateName>

        <TypicalEducation>Bachelor's degree</TypicalEducation>

      </OccupationReport>

      <OccupationReport xmlns="">

        <Annualizedwage>$34,100</Annualizedwage>

        <Definition i:nil="true" />

        <EducationTitle>

          <Dimension>

            <NValue>4294967293</NValue>

            <Name>High school diploma or equivalent</Name>

          </Dimension>

        </EducationTitle>

        <EstYear i:nil="true" />

        <EstimatedEmployment i:nil="true" />

        <PercentChangei:nil="true" />

        <HourlyWage>$16.39</HourlyWage>

        <ID>104690</ID>

        <JobFamily>51</JobFamily>

        <Level>edu7</Level>

        <Median>16.39</Median>

        <NodeID>2</NodeID>

        <OccupationTitle>Extruding and Drawing Machine Setters, Operators, and Tenders, Metal and Plastic</OccupationTitle>

        <OptStatus>110000000</OptStatus>

        <ProjYear>2015</ProjYear>

        <ProjectedAnnualJobOpening i:nil="true" />

        <ProjectedEmployment i:nil="true" />

        <QUARTILE i:nil="true" />

        <Rank>461</Rank>

        <SocCode>514021</SocCode>

        <StateAbbrev>VA</StateAbbrev>

        <StateFips>51</StateFips>

        <StateName>Virginia</StateName>

        <TypicalEducation>High school diploma or equivalent</TypicalEducation>

      </OccupationReport>

    </Occupations>

    <RecordCount>592</RecordCount>

  </OccupationsList>

</OccupationsReports>

Response Parameters

Name
Description
Type
Parent
OccupationsList 
 
Object 
OccupationsList
Occupations
Each object in this list has details about one occupation 
List of objects
Occupations
Rank
The rank of current item, when items are sorted according to principal sort order
Number
Occupations
ID
Not useful for external customers 
 
Occupations
OccupationTitle
Occupation Title
String
Occupations
EstYear
The year in the very recent past for which we have data on the estimated number employees. Available only in DE, FG, LE, MO reports
String
Occupations
ProjYear
For DE, FG, LE, and MO: The year in the future for which we have data on projected employment levels. For HP: the year covered by the wage data
String
Occupations
PercentChange 
Percentage Change in employment of current occupation between EstYear and ProjYear
String
Occupations
StateAbbrev
Abbreviation of State for current search
String
Occupations
StateName
Current state name, spelled-out
String
Occupations
StateFips
State FIPS Code 
String
Occupations
QUARTITLE
Earnings quartile for current occupation. Note the parameter name has "quartile" misspelled. Based on wage data from BLS OES. Available only in DE, FG, LE, MO reports. 
String
Occupations
Definition
Wage range for the quartile of the current occupation. Available only in DE, FG, LE, MO reports.
String
Occupations
TypicalEducation
The typical education for entry into this occupation. Data from U.S. Department of Labor, Bureau of Labor Statistics, Employment Projections Program, Education and Training Data, Education and training assignments by detailed occupation
String
Occupations
SocCode
SOC code for this occupation. www.bls.gov/soc
String
Occupations
EducationTitle
Education Title
Object
Occupations
Name
Name
String
Occupations
Value
Value
String
Occupations
EstimatedEmployment
Estimated employment amount; populated only in DE, FG, LE, and MO reports 
String
Occupations
ProjectedEmployment
Projected employment amount; populated only in DE, FG, LE, and MO reports
String
Occupations
ProjectedAnnualJobOpening
Annual job opening amount; populated only in DE, FG, LE, and MO reports
String
Occupations
JobFamily
Job Family Number. Normally, the first 2 digits of SOC code. Used by CareerOneStop's Occupation Profile.
String
Occupations
OptStatus
Not useful for external customers
 
Occupations
NodeID
Not useful for external customers
 
Occupations
Level
Not useful for external customers
 
Occupations
Median
Median wage of current occupation; available only in HP report
String
Occupations
Annualizedwage
Annual wage of current occupation; available only in HP report  
String
Occupations
HourlyWage
Hourly Wage of current occupation; available only in HP report  
String
Occupations
RecordCount 
Count of this results set
Number 
OccupationsList
AreaValidationErr 
Not useful for external customers 
 
OccupationsList
AreaRecordCountList 
Not useful for external customers 
 
OccupationsList
EducationTitle
This object can be sued to filter subsequent calls to this Web API by only one education level 
Object
OccupationsList
UndoList 
Info about active filter, if any 
List of objects 
EducationTitle
Item 
Value of the item filtered 
String
UndoList
Count 
Count of the items with that value
Number 
UndoList
Value 
Internal index value 
String
UndoList
FilterList 
Info about this results set that could be used to filter the results in the future
List of objects 
EducationTitle
Item 
Value of the item filtered 
String
FilterList
Count
Count of the items with that value 
Number 
FilterList
Value
Internal index value 
String
FilterList

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.