BLS Wage Data Scraper avatar

BLS Wage Data Scraper

Pricing

from $6.00 / 1,000 results

Go to Apify Store
BLS Wage Data Scraper

BLS Wage Data Scraper

Scrapes official U.S. Bureau of Labor Statistics data by series ID and year range. Returns each observation as a flat row with date, value, and series metadata.

Pricing

from $6.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

14 days ago

Last modified

Share

ParseForge

BLS Wage Data Scraper

Scrape official U.S. wage, inflation, and employment data from the BLS public API. Get CPI, unemployment rate, average hourly earnings, and more as clean rows. No login required. Export to CSV, JSON, Excel, or XML.

The BLS website and its API are built for browsing, not for analysis. This Actor pulls the same official series directly into a flat dataset, so you can compare wage growth, inflation, and employment trends without manual downloads. Pick a preset series like CPI or average hourly earnings, or enter any custom BLS series ID.

Who uses itWhat they scrape BLS for
Market researchersTrack inflation and wage trends for industry reports
EconomistsPull official employment and price statistics for models
HR analystsBenchmark average hourly earnings against national data
Data journalistsGet CPI or unemployment figures for news stories
Financial analystsMonitor producer price indexes for cost forecasts

What it does

This Actor collects BLS time series data by series ID and year range, and returns each observation as a flat row with date, value, and series metadata.

  • ๐Ÿ“Š Preset series: CPI, core CPI, unemployment rate, nonfarm payrolls, average hourly earnings, PPI, and more.
  • ๐Ÿ”ง Custom series ID: Enter any valid BLS series ID from the BLS data finder.
  • ๐Ÿ“… Year range control: Set start and end years, with up to 10 years without a key and 20 years with a free registration key.
  • ๐Ÿ”‘ Optional API key: Add a BLS registration key for higher rate limits and longer date ranges.
  • ๐Ÿ“ฆ Flat output: Each observation becomes one row with date, value, and series metadata, ready for export.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with BLS data

๐Ÿ“ˆ Track inflation for pricing strategy.

A market researcher runs the Actor with the CPI series for the last five years and uses the monthly values to adjust product pricing forecasts.

๐Ÿ“Š Monitor wage growth for HR benchmarking.

An HR analyst pulls average hourly earnings for total private industry and compares it to internal salary data to stay competitive.

๐Ÿ“ฐ Gather unemployment data for a news article.

A data journalist fetches the seasonally adjusted unemployment rate for the past decade and charts the trend for a story.

๐Ÿญ Analyze producer prices for supply chain planning.

A financial analyst retrieves the Producer Price Index for final demand to forecast input cost changes for the next quarter.

๐Ÿ” Research custom BLS series for academic work.

An economist enters a custom series ID for a specific industry employment measure and exports the full history for a regression model.

Why choose this scraper

What you get
Official dataDirect from the U.S. Bureau of Labor Statistics, not a third-party copy
No manual downloadsSkip the BLS website and get rows in your dataset automatically
Flexible seriesUse common presets or any custom series ID you find on the BLS site
Long historyUp to 20 years of monthly or quarterly data with a free API key
Clean schemaEvery row has the same fields, so you can merge and analyze immediately

How it compares

No other Store actor targets BLS the same way, so the honest comparison is with the alternatives teams actually weigh.

BLS Wage Data ScraperBuild it in-houseBy hand
SetupRun it now, zero configDays of engineeringNone, but hours per pull
When BLS changesMaintained for youYou fix itYou re-learn the page
Proxies, retries, anti-botBuilt inYour problemBrowser only
OutputFixed JSON schema, CSV/Excel exportWhatever you buildCopy-paste
CostPay per resultEngineering timeAnalyst hours

Configure the run

Drive the Actor with a preset series or a custom BLS series ID, set the year range, and optionally add a registration key for extended history. Only matching observations are returned. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10,
"seriesId": "CUUR0000SA0",
"startYear": "2022",
"endYear": "2024"
}

A larger pull:

{
"maxItems": 200,
"seriesId": "CUUR0000SA0",
"startYear": "2022",
"endYear": "2024"
}

Pricing

Pay-per-result: $0.0065 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$0.65
1,000 results$6.50
10,000 results$65.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the BLS Wage Data Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to BLS through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/bls-wage-data-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Make sure the series ID is valid and the start year is not after the end year. Also check that the series has data for the years you selected. Try a shorter date range or a preset series like CUUR0000SA0 to test.

Why is my run limited to 10 items?

Free Apify users are limited to 10 items as a preview. Upgrade to a paid plan to increase the maxItems limit up to 1,000,000.

Why can't I get more than 10 years of data?

Without a BLS registration key, the API limits requests to 10 years. Register for a free key at https://data.bls.gov/registrationEngine/ and add it to the registrationKey field to get up to 20 years.

Why does my custom series ID fail?

The ID may be mistyped or not available via the public API. Verify it on the BLS data finder and ensure you selected 'Custom Series ID' in the Data Series dropdown.

Why are some months missing from the output?

Some BLS series are not published monthly, or there may be revisions. The Actor returns only the observations that exist in the API for your date range.

FAQ

QuestionAnswer
Do I need a BLS registration key?No, the Actor works without a key for up to 10 years of data. A free key from the BLS website raises the limit to 20 years and gives you higher rate limits.
How do I find a custom BLS series ID?Go to https://www.bls.gov/data/, search for the series you need, and copy the series ID from the results page. Then set Data Series to Custom and paste it into the Custom Series ID field.
What is the maximum number of records I can get?Free Apify users are limited to 10 items as a preview. Paid users can set maxItems up to 1,000,000, but the actual number depends on the series and date range.
Can I get multiple series in one run?Yes, set Data Series to 'All Series' to fetch CPI, unemployment, wages, PPI, and employment together. Or run the Actor multiple times with different series IDs.
What date range can I request?Without a registration key, the maximum range is 10 years. With a free BLS key, you can request up to 20 years.
How often is the data updated?The Actor pulls live data from the BLS API each time it runs, so you always get the latest published values for the series you select.
What output formats are supported?You can export the dataset as CSV, JSON, Excel, or XML from the Apify platform after the run finishes.
Is this data free to use?BLS data is public domain and free to use. The Actor itself runs on Apify's infrastructure, and you may need a paid Apify plan for larger extractions.
Can I schedule this Actor to run monthly?Yes, you can set up a schedule in Apify to run the Actor automatically, for example on the first day of each month after BLS releases new data.
What if my custom series ID returns no data?Check that the series ID is correct and that the start and end years are within the allowed range. Some series may not have data for the full range you requested.

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by U.S. Bureau of Labor Statistics. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.