ParseForge Scrapers

BEA National Accounts Scraper

parseforge/bea-national-accounts-scraper

AutomationIntegrations

Scrapes U.S. BEA national accounts data by dataset, table name, frequency, and year. Returns each observation as a flat row with line codes, descriptions, and values.

Run this scraper See the API call
Total users
1
Monthly active
0
Total runs
87
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

BEA National Accounts Scraper

Scrape official U.S. national accounts data from any BEA dataset, table, and frequency, up to a million records per run. Every row returns the full time series with line codes, descriptions, and values. No API key required. Export to CSV, JSON, Excel, or XML.

The BEA's interactive data tools are built for manual browsing, not bulk retrieval. This Actor reads the public data API directly, letting you pull any NIPA, Fixed Assets, GDP by Industry, or Regional table by name and frequency. You get a clean, flat dataset ready for analysis, without writing a single API call.

Who uses it What they scrape BEA National Accounts for
Macroeconomic analysts Pull the latest GDP and component series into a model-ready CSV.
Financial journalists Grab historical fixed-asset or personal-income tables for a long-term trend piece.
Academic researchers Collect regional GDP or industry-level data for a peer-reviewed paper.
Data engineers Automate a daily pipeline that feeds BEA tables into a data warehouse.

What it does

This Actor collects BEA national accounts data by dataset, table name, frequency, and year, and returns each observation as a flat row.

  • πŸ“‹ Five core datasets: NIPA, NI Underlying Detail, Fixed Assets, GDP by Industry, and Regional data.
  • πŸ”’ Table-name driven: supply the exact BEA table name, such as T10101, and get only that table.
  • πŸ“… Frequency selection: request annual, quarterly, or monthly series with one parameter.
  • πŸ—“οΈ Flexible year range: target a single year or use 'X' to pull every available year.

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

What you can do with BEA National Accounts data

πŸ“ˆ Monitor GDP revisions.

A macro analyst runs the Actor weekly on the NIPA T10101 table to capture the latest headline GDP and component revisions before a client note goes out.

🏭 Compare industry output.

A sector strategist pulls the GDP by Industry dataset quarterly to rank which industries are accelerating and which are contracting.

πŸ—ΊοΈ Track regional income.

An economic development officer scrapes the Regional dataset annually to compare personal income growth across all 50 states.

πŸ—οΈ Model capital stock.

A PhD candidate collects the full Fixed Assets history to build a perpetual inventory model of U.S. capital stock.

Why choose this scraper

What you get
No API key or registration The BEA's public API requires no token, and this Actor handles the request formatting for you.
Fixed, predictable schema Every row returns the same columns: table ID, line number, description, period, and value.
Bulk year pulls Set the year to 'X' and the Actor fetches the entire history of a table in one run.

How it compares

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

BEA National Accounts Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When BEA National Accounts 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 from a dataset, a table name, a frequency, and a year range, and filters run as each record is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "tableName": "T10101",
 "year": "X",
 "maxItems": 10
}

A larger pull:

{
 "tableName": "T10101",
 "year": "X",
 "maxItems": 200
}

Pricing

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

Results collected Approximate cost
100 results $0.85
1,000 results $8.50
10,000 results $85.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 BEA National Accounts 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 BEA National Accounts 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/bea-national-accounts-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 the table name is valid for the selected dataset. Not every table exists in every dataset. Also confirm the frequency is available for that table; try switching from Monthly to Quarterly or Annual.

The run finished but the dataset is empty.

The BEA API may return an empty set if the combination of dataset, table name, frequency, and year does not exist. Test the table name on the BEA interactive site first.

I got an error about an invalid table name.

Table names are case-sensitive and must match exactly, e.g. 'T10101' not 't10101'. Copy the name directly from the BEA website.

The data looks different from the BEA website.

The Actor returns the raw API response. The BEA website sometimes applies rounding or seasonal adjustment by default. Check the line description for the exact series definition.

FAQ

Question Answer
Do I need a BEA API key? No. The BEA's public data API does not require registration or an API key, and this Actor calls it directly.
How do I find the correct table name? Visit the BEA's interactive data tables on their website, select your dataset and table, and note the table name shown in the URL or the table header, such as 'T10101'.
What does setting the year to 'X' do? It tells the Actor to request all available years for that table and frequency, so you get the complete time series in one run.
Can I get monthly data? Yes, set the Frequency to 'Monthly'. Note that not every BEA table is available at a monthly frequency; the Actor will return whatever the API provides.
Which datasets are supported? The Actor supports NIPA, NI Underlying Detail, Fixed Assets, GDP by Industry, and Regional datasets.
What format is the data exported in? You can export your results to CSV, JSON, Excel, or XML directly from the Apify dataset.
Is the data adjusted for inflation? The Actor returns the raw series as published by the BEA. Check the line description for terms like 'chained dollars' or 'current dollars' to identify real versus nominal values.
Can I scrape multiple tables in one run? Each run targets one table name. To collect multiple tables, run the Actor once per table name, or use an Apify workflow to chain runs.
How many records can I collect? You can set the maximum records up to 1,000,000 per run. A single table with many lines and years can generate thousands of rows.

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 Economic Analysis. 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.

Input

FieldTypeWhat it doesDefault
datasetName string (5 options) BEA dataset. NIPA
tableName string BEA table name (e.g. T10101). T10101
frequency string (3 options) Data frequency: annual, quarterly, or monthly. Q
year string Year(s) e.g. 2025 or X for all. X
maxItems integer Maximum number of records to collect per run. 10

Pricing

from $7.50 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.0075 to $0.0085

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~bea-national-accounts-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run BEA National Accounts Scraper on Apify All scrapers