BLS Data Scraper
Pricing
from $19.00 / 1,000 results
BLS Data Scraper
Scrapes US Bureau of Labor Statistics time series data via the official BLS API v2. Returns each observation as a flat row with period, value, and series metadata.
Pricing
from $19.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
BLS Data Scraper
Scrape BLS time series data for any series ID, up to a million rows per run. Get CPI, unemployment, payrolls, and PPI with full history, no API key required. Export to CSV, JSON, Excel, or XML.
The BLS public API v2 needs registration, API keys, and rate limits that slow you down. This Actor reads the same time series directly, so you can pull CPI, unemployment rate, nonfarm payrolls, and thousands of other series by their BLS series ID. Each run returns a flat table of observations with period, value, and series metadata, ready for analysis.
| Who uses it | What they scrape BLS for |
|---|---|
| Economists | Pull long-run CPI or employment series for macro models |
| Financial analysts | Track inflation and labor market indicators for investment decisions |
| Data journalists | Get official unemployment or wage data for reporting |
| Researchers | Collect consistent time series across many BLS datasets |
| Business planners | Monitor PPI or industry employment for market forecasts |
What it does
This Actor collects BLS time series data for the series IDs you provide and returns each observation as a flat row with period, value, and series identifiers.
- ๐ Multiple series per run: fetch up to 25 series IDs in one request, and paginate to collect up to a million series.
- ๐๏ธ Date range control: set start and end years to limit the data window, up to 10 years per request for unregistered use.
- ๐ No API key needed: uses the public BLS API v2 endpoint without registration.
- ๐ Flat output: each observation becomes one row with period, value, and series metadata, ready for CSV or JSON export.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with BLS data
๐ Track inflation trends.
An economist pulls CPI series CUUR0000SA0 from 2010 to 2024 to chart monthly inflation and compare against wage growth.
๐ผ Monitor labor market health.
A financial analyst fetches unemployment rate LNS14000000 and nonfarm payrolls CES0000000001 to gauge recession risk.
๐ฐ Report on economic data.
A data journalist collects PPI series WPUFD4 for the last five years to write about producer price changes.
๐ฌ Build research datasets.
A researcher gathers dozens of BLS series on employment by industry to study long-term structural shifts.
๐ญ Forecast business costs.
A business planner pulls PPI and wage series to project input costs for the next fiscal year.
Why choose this scraper
| What you get | |
|---|---|
| Official data | Direct from the U.S. Bureau of Labor Statistics, not a third-party copy |
| Any series | Works with CPI, unemployment, payrolls, PPI, and thousands of other series IDs |
| No registration | Uses the public API endpoint, so you skip API key setup and approval |
| Scalable | Collect up to a million series per run with pagination |
| Clean schema | Every observation is a flat row with period, value, and series metadata |
How it compares
No other Store actor targets BLS the same way, so the honest comparison is with the alternatives teams actually weigh.
| BLS Data Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When BLS changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst hours |
Configure the run
Drive the Actor with BLS series IDs and a date range. The start and end years filter the observations returned, and maxItems caps how many series are collected per run. The Input tab lists every parameter.
A first run with the defaults:
{"seriesIds": ["CUUR0000SA0","LNS14000000"],"startYear": 2020,"endYear": 2024,"maxItems": 10}
A larger pull:
{"seriesIds": ["CUUR0000SA0","LNS14000000"],"startYear": 2020,"endYear": 2024,"maxItems": 200}
Pricing
Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $2.10 |
| 1,000 results | $21.00 |
| 10,000 results | $210.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
- Create a free Apify account with $5 in credit.
- Open the BLS Data Scraper.
- Set your inputs and any filters, then click Start.
- 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-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your series IDs are valid and that the start and end years are within the allowed range. Also ensure maxItems is at least 1. If the BLS API returns an error, the run log will show details.
Why is the run slow?
The BLS API allows only 25 series per request, so large maxItems values require many requests. Reduce the number of series or narrow the date range to speed up the run.
Why did I get an API error?
The BLS API may rate-limit unregistered users. Try reducing the number of series or spacing out requests. If the error persists, check the BLS API documentation for current limits.
Why are some series missing from the output?
If a series ID is invalid or has no data for the requested years, the BLS API will not return it. Verify the series ID and date range, then rerun.
Can I get data older than 10 years?
Yes, but the BLS API limits each request to 10 years for unregistered use. The Actor can split the range into multiple requests, so set startYear and endYear accordingly.
FAQ
| Question | Answer |
|---|---|
| Do I need a BLS API key? | No. This Actor uses the public BLS API v2 endpoint, which does not require registration for basic use. You can start scraping right away. |
| What series IDs can I scrape? | Any valid BLS series ID, such as CUUR0000SA0 for CPI, LNS14000000 for unemployment rate, CES0000000001 for nonfarm employment, or WPUFD4 for PPI. You can find IDs in the BLS database. |
| How many series can I fetch in one run? | You can set maxItems up to 1,000,000 series. The Actor paginates automatically, but the BLS API allows up to 25 series per request, so larger runs take more time. |
| What is the maximum date range? | For unregistered use, the BLS API limits each request to 10 years of data. If you need a longer range, the Actor can split it into multiple requests automatically. |
| What output formats are supported? | The Actor returns data in a flat schema that can be exported to CSV, JSON, Excel, or XML from the Apify platform. |
| Can I get monthly and annual data? | Yes, the BLS series include different periodicities. The Actor returns whatever period the series uses, such as monthly, quarterly, or annual. |
| Is this the official BLS API? | Yes, the Actor calls the official BLS Public Data API v2, so the data comes directly from the U.S. Bureau of Labor Statistics. |
| What if I enter an invalid series ID? | The BLS API will return an error for that series, and the Actor will skip it or log the issue. Check the series ID format and try again. |
| Can I schedule this Actor to run automatically? | Yes, you can set up a schedule in Apify to run the Actor daily, weekly, or monthly to keep your dataset updated. |
| Does this Actor handle seasonal adjustment? | The BLS series IDs themselves determine whether data is seasonally adjusted or not. Choose the appropriate series ID for your needs. |
Related actors
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.
