REST and Direct Download

In addition to the HTML tables (Long-Term here, Short-Term here), publicly available projections data is available via REST and direct download.

Direct Downloads

Note: For downloaded CSV files, formatting the Occupation Code column of the spreadsheet as "Custom", with a format of "mm-yyyy", will solve the issue of some codes appearing as dates.


Excel xlsx - Last Updated 7/12/2023

Comma Delimited csv - Last Updated 7/12/2023


Excel xlsx - Last Updated 5/14/2024

Comma Delimited csv - Last Updated 5/14/2024


REST Endpoints

Additional Information about REST resources:

REST resources are available via read only https get requests. Results are sorted alphabetically according to State/Territory name with national data listed first when available.

Filtering by Area and/or Occupation Code

Users can filter results retrieved from REST resources by appending state FIPS codes to the request separated by a forward slash. For example, to retrieve results only from Texas the user should request results from "/Projections/LongTermRestJson/48". More than one area can be used at the same time by using a plus symbol. For example, to retrieve results from Alabama and Alaska the user should request results from "/Projections/LongTermRestXml/1+2". Note that FIPS codes 0-9 are only one character instead of two.

Users can also filter results retrieved by appending SOC occupation codes. This is the second filter that the system expects, so it must be coupled with a FIPS code or "all" for the first filter. For example, if the user would like to retrieve projections for Chief Executives in all states the user should request "/Projections/LongTermRestJson/all/11-1011". This field can also have multiple arguments passed in just like the area filter. To request projection data for Chiropractors and Massage Therapists in Idaho, Hawaii, and Illinois the user would request "/Projections/LongTermRestXml/15+16+17/29-1011+31-9011"


In each result there are two arrays returned. The first, called "rows" contains the data requested. The second, called "pager" returns information regarding the page size, total count of pages, and which pages was retrieved. By default queries are limited to 100 results per page. 

To select the page number the user can specify the page number by adding URL parameters to the query string. Page numbering starts at 0, so to request the 7th page, the user should request "/Projections/LongTermRestXml?page=6".

The user can adjust the size of the pages returned to a handful of pre-set values. The accepted values are 10, 25, 50, 100, and 1000. This adjustment is made by adding URL parameters to the query string. To request only 10 records the user request "/Projections/LongTermRestJson?items_per_page=10".