NLRB Stats Archive › About
NLRB Stats Archive is an open-access data project by me. I made this for two reasons. First, I am a big proponent of "learning by doing" and wanted to build something that would let me learn how to build open data tools using agentic workflows. Second, I have long been interested in the history of labor relations in the United States and found that (a) the data was often scattered across the four winds of the Internet, and (b) many data are still in forms that machines and robots have a hard time reading.
With infinite time and resources, this would become a Wiki for researchers and bots--a one-stop shop for accessing historical NLRB data. Alas, I am one person with one Claude Max subscription. Thankfully, many others have pursued this goal, and I am indebted to their work and link to them on the front page.
Check out this post for the original motivation, and this one for how the pipeline was rebuilt.
I am definitely looking for collaborators. I have a PhD in Economics, but you can easily observe in this website some of my limitations in web development and design, and data engineering. Also, I am not a labor historian, and I do not have access (nor would steal) the reams of data available at the incredible labor libraries scattered across the country. If you are interested in collaborating, please reach out to me at nlrbarchive@gmail.com.
This is a work in progress. I will continue to add more data and make corrections as needed. Anything I make with AI agents will be clearly marked as such, and I will provide all the underlying source material so you can verify my constructions.
Every table page of the 74 Annual Reports (1936–2009) was cropped from the scanned page and read by a vision model (Claude Opus, claude-opus-5, effort max) with a fixed prompt, one page at a time; a table that runs over several pages is stitched back into one grid, headings as the first page prints them. 4,420 pages were read in all.
On 40 held-out tables checked by hand (25,194 cells), the model read 25,191 cells correctly. Because the checked tables were themselves corrected from the model’s reading, the independent check is each table’s own arithmetic, which no model touched: across the archive, 94.2% of the 508,691 whole-number cells sit in a row or column sum that works out, and 912 cells (0.18%) break one — a misread or a misprint in the report, named on the table’s page. Cells outside any sum, labels, percentages and the lists of cases are not checked that way.
Shown as printed: footnote markers are dropped from cells, a parenthesised figure appears in square brackets, a dash or blank is blank, and a decimal point the scan lost is restored where the column vouches for it. Figures (charts and maps) are shown as images only.
Source data: U.S. NLRB Annual Reports (public domain). Reconstruction by NLRB Stats Archive. Updated June 2026. · nlrb.andrewjoung.com