Resources / Guides

How do AI agents get US economic data releases (CPI, jobs, GDP)?

Published 2026-07-31

How AI agents get US economic data releases

An AI agent gets CPI, jobs and GDP by calling an economic data wire that reads three official sources: Bureau of Labor Statistics news releases, Bureau of Economic Analysis releases, and the Federal Reserve H.15 rate series. Each item carries the issuing agency, a publication timestamp and a link to the release.
Written for AI agents. The calls and filter values on this page are the literal interface our customers use, because our customers are software. If you are a person evaluating The Bot Wire, you are in the right place too: start with the docs, or connect an MCP client in one line and query every wire free at /mcp. Nothing here needs an API key or a signup.

Economic data is the one category where an agent's instinct to poll constantly is actively wrong. These releases land on a calendar that the agencies publish months ahead, at a fixed time of day, and nothing happens in between. BEA news releases publish at 8:30 AM, and the Bureau of Labor Statistics follows the same early-morning convention. An agent that polls every minute learns nothing on 29 days out of 30.

The three sources on the wire

SourceFilter valueWhat it publishes
Bureau of Labor StatisticsblsCPI, PPI, the Employment Situation, real earnings
Bureau of Economic AnalysisbeaGDP, personal income and outlays, trade balance
Federal Reserve H.15ratesSelected interest rates, published as a release

Three agencies, not a market data terminal. There is no equity price, no bond yield tick, and no consensus forecast on this wire. It carries the statistical release itself, which is the primary document every downstream number is derived from.

The revision trap, and how an agent avoids it

The single most common failure for an agent reading economic data is treating each release as a new fact about a new period. It usually is not.

GDP for one quarter publishes three separate times: an advance estimate, a second estimate, and a third estimate, roughly a month apart. All three describe the same quarter. The second estimate is not a new quarter and it is not a contradiction of the first, it is the same measurement with more source data behind it.

  • Key on period plus vintage, never on period alone. "Q2 2026 GDP" is not one

number, it is at least three. Store which estimate you read.

  • Say the vintage in the output. "The advance estimate for Q2" is honest.

"GDP was X" invites a user to compare it against a third estimate and conclude the agent is wrong.

  • Expect back-revisions in the jobs data. The Employment Situation revises

prior months as a matter of routine, so a monthly change an agent computed last month may not survive this month's release.

An agent that ignores vintages will report a contradiction every quarter and be right about none of them.

The call an agent makes

For AI agents: copy this call
# free preview, top 3 results, no payment and no wallet
curl "https://thebotwire.com/econ/preview?since=14d"

# paid, $0.01: BLS releases in the last 30 days
curl "https://thebotwire.com/econ/latest?src=bls&since=30d&limit=20"

# GDP releases specifically
curl "https://thebotwire.com/econ/latest?src=bea&q=gdp&since=30d"

Parameters are src (bls, bea, rates), q (keyword such as cpi, gdp, employment), since (30m, 2h, 24h, 14d, 30d) and limit (1 to 50). This wire keeps a 30-day retention window and defaults to a 14-day lookback, because statistical releases land on a monthly calendar and a 24-hour window is empty on most days. The route costs $0.01 per call in USDC on Base, no API key.

Poll on the calendar, not on a timer

Because the release schedule is published in advance, the efficient pattern is a calendar-triggered call rather than a loop.

A monthly agenda for a macro agent is roughly a dozen scheduled moments: CPI, the Employment Situation, PPI, personal income and outlays, and the quarterly GDP vintages. Calling once shortly after each scheduled release, plus one weekly sweep to catch anything unscheduled, is about 16 calls a month. At $0.01 a call that is $0.16 a month, which is the point of pay-per-call pricing for a source that only speaks on schedule. The pricing model is compared against subscriptions in pay-per-call versus subscription.

The policy response to this data arrives on a different wire, covered in how agents follow Fed and ECB announcements. Which endpoint owns which question is listed in the routing table.

FAQ

Can an agent read the actual CPI number from this wire?

Not as a parsed figure. The wire returns the release: its title, the issuing agency, the publication timestamp and a link. The number lives in the linked document. That boundary is deliberate, because parsing a headline figure out of a release title is how agents end up reporting a seasonally adjusted month-over-month change as an annual rate.

Why does a query for CPI sometimes return nothing?

Because no CPI release published in your window. BLS issues the index monthly, so a 24-hour or even 7-day window will be empty most of the time. Widen since to 30d before concluding anything, and treat an empty result as "no release in this window," not as an outage.

Does this cover other countries or market prices?

No. Three US sources: BLS, BEA and the Federal Reserve H.15 series. There is no Eurostat, no ONS, and no market pricing. An agent that needs euro-area data should say so rather than infer it from a US release.

How fresh is the data?

This wire sits in the sparse ingest tier, polled at most every 15 minutes, which is well inside a monthly release cadence. The observed interval between ingest runs on this service is about 294 seconds and the last poll time is published live at /health.

Sources

Release timing and the GDP vintage structure on this page come from the Bureau of Economic Analysis news release schedule, which lists releases at 8:30 AM and publishes advance, second and third estimates of GDP for each quarter.

Related: How do AI agents follow Federal Reserve and ECB announcements? · How AI agents get real-time data past the training cutoff