bls public data apiis the api documentation sufficient—any gaps that would greatly help or would...

31
1 U.S. BUREAU OF LABOR STATISTICS bls.gov Overview BLS Public Data API Amrit Kohli Office of Technology and Survey Processing Division of Enterprise Web Systems 9 November 2017

Upload: others

Post on 10-Apr-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

1 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Overview

BLS Public Data API

Amrit KohliOffice of Technology and Survey Processing

Division of Enterprise Web Systems

9 November 2017

Page 2: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

2 — U.S. BUREAU OF LABOR STATISTICS • bls.gov2 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

BLS Public Data API What is it Usage history What can you do with it How to get started How to use it Lessons Learned Questions for the DUAC/Discussion

Page 3: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

3 — U.S. BUREAU OF LABOR STATISTICS • bls.gov3 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

BLS API at a Glance

What is it?Data retrieval targeted for application developers Replace Web scraping

How does it work? HTTPS-based API JSON and XLSX outputs

Page 4: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

4 — U.S. BUREAU OF LABOR STATISTICS • bls.gov4 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

2 years of BLS API usageLowest # of requests 97K (June 2015) -- Highest # of requests 23M (Nov 2013)Lowest # of unique IPs 748 (June 2014) -- Highest # unique IPs 13093 (Apr 2014)

0

200,000

400,000

600,000

800,000

1,000,000

1,200,000

1,400,000

1,600,000

API Requests

Total API Requests

BLS Requests

Page 5: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

5 — U.S. BUREAU OF LABOR STATISTICS • bls.gov5 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Web scraping

Page 6: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

6 — U.S. BUREAU OF LABOR STATISTICS • bls.gov6 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

API equivalent

Page 7: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

7 — U.S. BUREAU OF LABOR STATISTICS • bls.gov7 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

BLS API Use Case 1 Washington Post Jobs

Report https://www.washingtonp

ost.com/graphics/business/jobs-report/

Source: The Washington Post

Page 8: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

8 — U.S. BUREAU OF LABOR STATISTICS • bls.gov8 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

BLS API Use Case 2 Flatiron School

https://flatironschool.com/ Students developed CareerSpark

an iOS application that uses employment and occupational data from the BLS for career exploration as part of the Opportunity project https://opportunity.census.gov/

Page 9: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

9 — U.S. BUREAU OF LABOR STATISTICS • bls.gov9 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

BLS API Use Case 3 UMd’s CS department built several

prototypes ingesting data using the BLS API https://arxiv.org/pdf/1608.03569.pdfTime Series explorer to compare and contrast multiple

time series through a stacked overlay. Geographic Chloropleth map to investigate changes in

employment according to demographics or industryBLSVisualizer to interactively navigate through the

employment data, which is organized in a hierarchical format

Page 10: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

10 — U.S. BUREAU OF LABOR STATISTICS • bls.gov10 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Time Series Explorer

Page 11: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

11 — U.S. BUREAU OF LABOR STATISTICS • bls.gov11 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Geographic Chloropleth Map

Page 12: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

12 — U.S. BUREAU OF LABOR STATISTICS • bls.gov12 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

BLSVisualizer

Page 13: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

13 — U.S. BUREAU OF LABOR STATISTICS • bls.gov13 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

BLS API Use Case 4 Major Sector Productivity in BLS

Using Excel macro to pull about 100 series from APIs -industrial production index from the Fed, sales and inventories from Census, and BLS prices to get a preliminary growth rate of manufacturing industries.

Helps to validate the statistics produced by the office.Gives an early idea of stories to focus on to inform the

public.

Page 14: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

14 — U.S. BUREAU OF LABOR STATISTICS • bls.gov14 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Excel Macro

Page 15: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

15 — U.S. BUREAU OF LABOR STATISTICS • bls.gov15 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

BLS API Use Case 5 BLS DataFinder (text based time series search tool)

Extracts time series details using API.

Page 16: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

16 — U.S. BUREAU OF LABOR STATISTICS • bls.gov16 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

BLS DataFinder

Page 17: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

17 — U.S. BUREAU OF LABOR STATISTICS • bls.gov17 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Resources

API Getting Started Pagehttps://www.bls.gov/developersDocumentation of API signatures (parameters)

– Sample Code: Java, Python, PHP, R, SAS, MATLAB, etc…– FAQs

Page 18: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

18 — U.S. BUREAU OF LABOR STATISTICS • bls.gov18 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Request a Single Series

Requesting data about a single time series: LAUCN040010000000005 (Employment: Apache County, AZ)

https://api.bls.gov/publicAPI/v2/timeseries/data/LAUCN040010000000005

Page 19: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

19 — U.S. BUREAU OF LABOR STATISTICS • bls.gov19 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Single Series Results

{ "status":"REQUEST_SUCCEEDED", "responseTime":34, "message":[], "Results": {

"series": [{"seriesID":"LAUCN040010000000005", "data":[

{"year":"2017","period":"M07","periodName":“July","value":"17216","footnotes":[

{"code":“P","text":“Preliminary.“

}]},{"year":"2017","period":"M06","periodName":“June","value":"17728","footnotes":[{}]},

...

Page 20: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

20 — U.S. BUREAU OF LABOR STATISTICS • bls.gov20 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Request Excel Output

Requesting data about a single time series: LAUCN040010000000005 (Employment: Apache County, AZ)

https://api.bls.gov/publicAPI/v2/timeseries/data/LAUCN040010000000005.xlsx

Page 21: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

21 — U.S. BUREAU OF LABOR STATISTICS • bls.gov21 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Excel Results

Page 22: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

22 — U.S. BUREAU OF LABOR STATISTICS • bls.gov22 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Request Catalog Metadata

Requesting data about a single time series for a given year, including metadata: LAUCN040010000000005 (Employment: Apache County, AZ)

https://api.bls.gov/publicAPI/v2/timeseries/data/LAUCN040010000000005?registrationKey=000f4e000f204473bb565256e8eee73e&catalog=true&startYear=2010&endYear=2010

Page 23: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

23 — U.S. BUREAU OF LABOR STATISTICS • bls.gov23 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Catalog Results{ "status":"REQUEST_SUCCEEDED", "responseTime":55, "message":[],

"Results": { "series": [{

"seriesID":"LAUCN040010000000005", "catalog":{

"series_title":"Employment: Apache County, AZ (U)","series_id":"LAUCN040010000000005","seasonality":"Not Seasonally Adjusted","survey_name":"Local Area Unemployment Statistics","measure_data_type":"employment","area":"Apache County, AZ","area_type":"Counties and equivalents“

}"data":[

{"year":"2010","period":"M12","periodName":"December","value":"19170","footnotes":[

{"code":"R","text":"Data were subject to revision on April 15, 2016.“

}]},….

Page 24: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

24 — U.S. BUREAU OF LABOR STATISTICS • bls.gov24 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Request Calculations

Page 25: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

25 — U.S. BUREAU OF LABOR STATISTICS • bls.gov25 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Net and Percent Changes"data": [

{"year": "2010","period": "M13","periodName": "Annual","value": "23438","footnotes": [{

"code": "R","text": "Data were subject to revision on April 15, 2016."}],

"calculations": {"net_changes": {

"1": "747","3": "413","6": "-632","12": "500“ },

"pct_changes": {“1": "3.3","3": "1.8","6": "-2.6","12": "2.2"}

}}

Page 26: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

26 — U.S. BUREAU OF LABOR STATISTICS • bls.gov26 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

API: Lessons Learned

Performance, Scaling and Caching Limiting and Throttling (victim of its own success)

Usability (documentation, output & input formats)

Providing tiered-technical support to your users (Why doesn’t my code work?)

Page 27: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

27 — U.S. BUREAU OF LABOR STATISTICS • bls.gov27 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Questions for the DUAC

How many DUAC members use or have tried to use the BLS Data API? Use other agencies API? Which agencies?

One of the prerequisites to effectively use the BLS Data API is to know the BLS series identifiers (Series IDs). How do or did you discover the Series IDs to use for the API?

Page 28: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

28 — U.S. BUREAU OF LABOR STATISTICS • bls.gov28 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Questions for the DUAC

Are the current daily API use limitations reasonable?

Registered Unregistered Daily query limit 500 25

Series per query limit 50 25

Years per query limit 20 10

Page 29: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

29 — U.S. BUREAU OF LABOR STATISTICS • bls.gov29 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Questions for the DUAC

Is the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API?

From your experience of using other agencies API’s, what key feature made it easier to use that you’d like to see in the BLS Data API?

Page 30: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

30 — U.S. BUREAU OF LABOR STATISTICS • bls.gov30 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Questions for the DUAC

We implemented human friendly features (e.g., XLSX file) into the API as Chrome and Firefox browsers allow GET and POST calls using add-ons. Should we develop more such features or primarily focus to improve automated systems interactions (machine to machine) with the API?

Page 31: BLS Public Data APIIs the API documentation sufficient—any gaps that would greatly help or would helped in your use of the API? From your experience of using other agencies API’s,

Contact Information

31 — U.S. BUREAU OF LABOR STATISTICS • bls.gov

Amrit KohliDivision of Enterprise Web Systems

www.bls.gov202-691-6723

[email protected]