Query verified U.S. employment, establishments, and wages for the data-center industry and semiconductor manufacturing — by national, state, and county — from the U.S. Bureau of Labor Statistics' Quarterly Census of Employment and Wages (QCEW).
Use this for "how many people work in / how many establishments / what wages in data centers (or chip
fabs) in the US, a state, or a county" questions — INDUSTRY employment, not an "AI jobs" count. Filter
by `industry_code` ("518210" = computing infrastructure / data processing / web hosting — the
data-center industry; "334413" = semiconductor & related device manufacturing), `own_code` ("5" =
Private — the usual one; "1"/"2"/"3" = federal/state/local government; "0" = Total Covered), geography
(`agglvl` "18" national / "58" state / "78" county; plus `state` USPS e.g. "VA", `county_fips` 5-digit
e.g. "51107" Loudoun County, or `area_fips`), and time (`year`, `qtr` "1"-"4", the `quarter` ISO
first-of-quarter e.g. "2025-10-01", or a `quarter_from`/`quarter_to` range). Group by any of
`industry`, `industry_code`, `ownership`, `own_code`, `state`, `county_fips`, `agglvl`, `year`,
`qtr`, or `quarter`. Pass each
parameter as a top-level key of `params` (flat — not nested under a `filter`/`where` key). Example:
`{"industry_code": "518210", "own_code": "5", "agglvl": "18", "quarter": "2025-10-01"}` for the national
private figure; add `"group_by": ["county_fips"], "state": "VA"` for counties. Returns JSON aggregates
with citations and optional row-level records when `include_records` is true — every value cites the
exact BLS file, row, and quarter.
Measures: `qtrly_estabs` (establishments), `month1_emplvl`/`month2_emplvl`/`month3_emplvl` (employment
in each month of the quarter — intra-quarter SNAPSHOTS; average them for a quarterly figure, never sum
them), `total_qtrly_wages` ($), and `avg_wkly_wage` ($, on detail records). The two industries are
DISTINCT, never conflated.
SUPPRESSION: BLS withholds a confidential (small county × industry) cell by zeroing its employment and
wages and marking `disclosure_code` "N" (or "-"). Those are served as NULL (absent), never as zero —
the establishment count is still shown. Roughly half of county × data-center cells are withheld; an
absent value means "BLS withheld it," not "no jobs." A scope containing withheld cells returns a
`qcew_suppression` note counting them: sums skip the NULLs, so summed employment/wages UNDERCOUNT —
for a state or national figure use BLS's own row at that level (agglvl 58/18) instead of summing
finer cells.
Data is quarterly back to 2014 Q1, ~6-month lag (latest ≈ 2025 Q4). The response `as_of` is the release
vintage; pin `as_of` to reproduce an earlier vintage.
NOT additive across hierarchy or time: counts and employment are additive across distinct AREAS within
ONE `agglvl` + ONE `own_code` + ONE quarter (e.g. all counties in a state). They are NOT additive across
geographic levels (national already contains states/counties — a `qcew_hierarchy` note flags it), across
ownership totals ("0"/"8" contain their components), or across QUARTERS (employment is a per-quarter
stock — a `qcew_period` note flags it; quarterly wages, by contrast, sum across quarters into an annual
bill). Filter or group_by to avoid double-counting.
Does not determine "AI jobs" or a data-center-only headcount (NAICS 518210 is the broader
computing-infrastructure / hosting industry), employment for a withheld cell (served absent), occupation
or job-title detail (QCEW is industry, not occupation), which company employs (no employer breakdown), or
MSA / metro figures (national / state / county only).