Department of Labor Logo United States Department of Labor
Dot gov

The .gov means it's official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you're on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

BLS Public Data API Signatures (Version 1.0)

The BLS Public Data API utilizes the following three signatures:

All signatures must include an HTTP type, a RESTful URL, and at least one series ID. The series ID(s) can include underscore (_), dash (-) and hash (#) but must not include lower case letters or special characters. All requests specifying years must include a four-digit start year and an end year in numeric format – YYYY (e.g. 2013, not 13).

The following are sample responses for each of API signature with added white spaces for easier readability.

Single Series

Use this signature to retrieve data for a single time series for the past three years. Be sure to include the specific series ID at the end of the URL.

 

HTTP Type: GET
URL: https://api.bls.gov/publicAPI/v1/timeseries/data/
Payload: series_id
Example Payload:
LAUCN040010000000005


 

Sample Response:

{
  "status": "REQUEST_SUCCEEDED",
  "responseTime": 16,
  "message": [
    
  ],
  "Results": [
    {
      "series": [
        {
          "seriesID": "LAUCN040010000000005",
          "data": [
            {
              "year": "2013",
              "period": "M11",
              "periodName": "November",
              "value": "16393",
              "footnotes": [
                {
                  "code": "P",
                  "text": "Preliminary."
                }
              ]
            },
            {
              "year": "2013",
              "period": "M10",
              "periodName": "October",
              "value": "16536",
              "footnotes": [
                {
                 ...
                 }
              ]
            }
          ]
        }
      ]
    }
  ]
}

 

Multiple Series

Use this signature to retrieve data for more than one timeseries for the past three years. You can include up to 25 series IDs, each separated with a comma, in the body of your request.

HTTP Type: POST
URL: https://api.bls.gov/publicAPI/v1/timeseries/data/
Payload: JSON Payload:
{"seriesid":["Series1", ..., "SeriesN"]}
Example Payload:
{"seriesid":["LAUCN040010000000005", "LAUCN040010000000006"]}


 

Sample Response:

{
  "status": "REQUEST_SUCCEEDED",
  "responseTime": 37,
  "message": [ ],
  "Results": [
    {
      "series": [
        {
          "seriesID": "LAUCN040010000000005",
          "data": [
            {
              "year": "2013",
              "period": "M11",
              "periodName": "November",
              "value": "16393",
              "footnotes": [
                {
                   "code": "P",
                   "text": "Preliminary."
                }
              ],
              . . .
        {
          "seriesID": "LAUCN040010000000006",          
          "data": [            
            {              
              "year": "2013",              
              "period": "M11",              
              "periodName": "November",              
              "value": "20155",              
              "footnotes": [                
                {                  
                  "code": "P",                  
                  "text": "Preliminary."                
                }              
               ],
          . . .
    }


 

One or More Series, Specifying Years

Use this signature to retrieve data for one or more timeseries within a set time frame of up to 10 years. You must include at least one series ID, the start year, and the end year in the body of the request. If you include multiple series IDs, be sure to separate each with a comma.

HTTP Type: POST
URL: https://api.bls.gov/publicAPI/v1/timeseries/data/
Payload: JSON Payload:
{"seriesid":["Series1",..., "SeriesN"],
 "startyear":"yearX", 
 "endyear":"yearY"
}
Example Payload:
{"seriesid":["LAUCN040010000000005", "LAUCN040010000000006"],
 "startyear":"2010", 
 "endyear":"2012"
}


Sample Response:

{
  "status": "REQUEST_SUCCEEDED",
  "responseTime": 706,
  "message": [ ],
  "Results": [
    {
      "series": [
        {
          "seriesID": "LAUCN040010000000005",
          "data": [
            {
              "year": "2012",
              "period": "M13",
              "periodName": "Annual",
              "value": "17656",
              "footnotes": [
                {
                  
                }
              ],
               . . .
}


To help you get started, sample code for some of the most popular programming languages has been written:

API Version 2.0         API Version 1.0
 

 

Last Modified Date: October 16, 2014