Checking status…
Catalog / Bureau of Labor Statistics
bls

Bureau of Labor Statistics

Open · redistributedU.S. Government Work (public domain)macro

FULL-COVERAGE ingest of the U.S. BLS flat files (time.series database). Source: https://download.bls.gov/pub/time.series/ -- one folder per survey (ap, ce, cu, ln, jt, wp, pr, la, ...). For each survey we download every `<survey>.data.N.*` file (the observations) plus `<survey>.series` (series…

Redistributable. This source is served as canonical Parquet under the license below, with attribution and provenance preserved.

Important notes

Coverage

Series catalogued
9
Temporal coverage
2007-01-01 – 2026-04-01
Frequencies
Monthly
Distinct geographies
1
Categories
macro
Measured observations
482,052,185

Licensing & provenance

License
U.S. Government Work (public domain)
License URL
https://www.usa.gov/government-works
Required attribution
Source: U.S. BLS (public domain)
Redistribution
Permitted (served here)
Commercial use
Yes
Modification
Permitted

How to cite

U.S. Bureau of Labor Statistics. Retrieved from https://www.bls.gov. Compiled and redistributed by the Elkassabgi Data Library.

Processing: Retrieved from the official source, normalized to a long {series_key, obs_date, value} schema (period-start dates), de-duplicated, and stored as zstd Parquet. Compiled and redistributed by the Elkassabgi Data Library.

Access & mirrors

Download
Select & download bls series as CSV →
API
Get a free API key, then GET /v1/series/<id>.csv
Canonical landing
https://econdatalibrary.com/bls.html
Update cadence
weekly
Update strategy
bulk snapshot if changed
Storage layout
grouped: one parquet per survey -> data/clean_full/bls/<survey>.parquet, all rows materialized in memory then pq.write_table. Schema: series_id, obs_date(STRING), value(float64), period. No sidecar, no raw cache (downloads to memory each run). Writes into the SAME dir as ingest_bls.py and would overwrite/duplicate-shape those files.

Full description

FULL-COVERAGE ingest of the U.S. BLS flat files (time.series database). Source: https://download.bls.gov/pub/time.series/ -- one folder per survey (ap, ce, cu, ln, jt, wp, pr, la, ...). For each survey we download every `<survey>.data.N.*` file (the observations) plus `<survey>.series` (series metadata) and parse ALL series. GROUPED storage (mirrors jobs/ingest_eurostat.py / ingest_sec_edgar.py): ONE Parquet per survey -> data/clean_full/bls/<survey>.parquet with a `series_id` column inside. Columns: series_id, obs_date, value, period, footnote. Memory is bounded: data files are streamed to disk, then parsed line-by-line and flushed to the Parquet writer in row-group batches (never the whole survey in RAM). License: us-public-domain (configs/sources.yaml). BLS data-file row (tab-separated, has a header line): series_id <tab> year <tab> period <tab> value <tab> footnote_codes period codes: M01..M12 monthly, M13 annual avg, Q01..Q04 quarterly, Q05 annual avg, S01/S02 semiannual, S03 semiannual annual avg, A01 annual. Usage: python jobs/ingest_bls.py --probe # validate parser on small surveys python jobs/ingest_bls.py --only pr,jl # one/few surveys python jobs/ingest_bls.py # full run (all 67 surveys) python jobs/ingest_bls.py --skip-download # reuse already-downloaded raw files

Structured metadata

schema.org/Dataset (Google Dataset Search)
{
  "@context": "https://schema.org/",
  "@type": "Dataset",
  "name": "Bureau of Labor Statistics",
  "description": "FULL-COVERAGE ingest of the U.S. BLS flat files (time.series database). Source: https://download.bls.gov/pub/time.series/ -- one folder per survey (ap, ce, cu, ln, jt, wp, pr, la, ...). For each survey we download every `<survey>.data.N.*` file (the observations) plus `<survey>.series` (series…",
  "url": "https://econdatalibrary.com/bls.html",
  "identifier": "bls",
  "isAccessibleForFree": true,
  "publisher": {
    "@type": "Organization",
    "name": "Econ Data Library",
    "url": "https://econdatalibrary.com"
  },
  "creator": {
    "@type": "Organization",
    "name": "Bureau of Labor Statistics"
  },
  "license": "https://www.usa.gov/government-works",
  "keywords": [
    "macro",
    "bls"
  ],
  "temporalCoverage": "2007-01-01/2026-04-01",
  "repeatFrequency": "P1M",
  "citation": "U.S. Bureau of Labor Statistics. Retrieved from https://www.bls.gov. Compiled and redistributed by the Elkassabgi Data Library.",
  "sameAs": [
    "https://huggingface.co/datasets/econdatalibrary-bls",
    "https://zenodo.org/communities/econdatalibrary"
  ],
  "distribution": [
    {
      "@type": "DataDownload",
      "encodingFormat": "text/csv",
      "contentUrl": "https://econdatalibrary.com/download.html?source=bls",
      "license": "https://www.usa.gov/government-works"
    }
  ]
}
Croissant (ML-ready, schema.org JSON-LD)
{
  "@context": {
    "@language": "en",
    "@vocab": "https://schema.org/",
    "cr": "http://mlcommons.org/croissant/",
    "data": {
      "@id": "cr:data",
      "@type": "@json"
    },
    "dataType": {
      "@id": "cr:dataType",
      "@type": "@vocab"
    },
    "sc": "https://schema.org/",
    "conformsTo": "dct:conformsTo",
    "dct": "http://purl.org/dc/terms/"
  },
  "@type": "sc:Dataset",
  "conformsTo": "http://mlcommons.org/croissant/1.0",
  "name": "bls",
  "description": "FULL-COVERAGE ingest of the U.S. BLS flat files (time.series database). Source: https://download.bls.gov/pub/time.series/ -- one folder per survey (ap, ce, cu, ln, jt, wp, pr, la, ...). For each survey we download every `<survey>.data.N.*` file (the observations) plus `<survey>.series` (series…",
  "url": "https://econdatalibrary.com/bls.html",
  "creator": {
    "@type": "sc:Organization",
    "name": "Bureau of Labor Statistics"
  },
  "publisher": {
    "@type": "sc:Organization",
    "name": "Econ Data Library",
    "url": "https://econdatalibrary.com"
  },
  "license": "https://www.usa.gov/government-works",
  "keywords": [
    "macro"
  ],
  "temporalCoverage": "2007-01-01/2026-04-01",
  "citation": "U.S. Bureau of Labor Statistics. Retrieved from https://www.bls.gov. Compiled and redistributed by the Elkassabgi Data Library.",
  "distribution": [
    {
      "@type": "cr:FileObject",
      "@id": "bls-csv",
      "name": "bls-csv",
      "description": "Per-series CSV, downloadable with a free API key.",
      "contentUrl": "https://econdatalibrary.com/download.html?source=bls",
      "encodingFormat": "text/csv"
    }
  ]
}
Part of the Econ Data Library catalog · metadata generated 2026-07-14 from the central registry · browse all datasets
ElkassabgiData

One account. Every library.

HF Data Library  ·  Econ Data Library  · more to come