US Economic Calendar API - CPI, Jobs, FOMC, GDP
Pricing
from $2.00 / 1,000 calendar rows
US Economic Calendar API - CPI, Jobs, FOMC, GDP
US economic release calendar from official sources (BLS, BEA, Census, DOL, Federal Reserve, Treasury): CPI, jobs report, FOMC, GDP, PCE, claims, auctions, with actuals.
Pricing
from $2.00 / 1,000 calendar rows
Rating
0.0
(0)
Developer
Jack Sheward
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
US Economic Calendar API - CPI, Jobs, FOMC, GDP
Get the US economic release calendar straight from the agencies that publish it, as clean JSON. You get upcoming and recent release dates for CPI, PPI, the jobs report (nonfarm payrolls), JOLTS, GDP, PCE, retail sales, weekly jobless claims, FOMC decisions, press conferences and minutes, and Treasury auctions. Every row has the exact release time in Eastern and UTC, the reference period and an importance tier. Released events also get actual and previous values where a free official source has them: BLS releases (CPI, jobs report, PPI, JOLTS...), weekly jobless claims, FOMC decisions and Treasury auction results need no key. GDP, PCE, retail sales and the other BEA and Census figures need your own free FRED key (see Actual values).
There is no scraping of third-party calendar sites. Every date comes from an official government source (BLS, BEA, Census Bureau, Department of Labor, Federal Reserve Board, U.S. Treasury). No login and no API key are needed.
Who it's for: traders and quant developers who need to know when data drops, AI agents answering "what's on the calendar this week?" or "when is the next CPI?", newsletters and dashboards. It also gives exact release timestamps for recent event studies, within the history the official calendars still publish (see How far back it goes). For surprise backtests, note that older actual values are today's revised figures, not first prints (see Actual values).
Unofficial. Not affiliated with or endorsed by the Bureau of Labor Statistics, Bureau of Economic Analysis, U.S. Census Bureau, U.S. Department of Labor, Federal Reserve Board or U.S. Treasury.
Sources
Agency (agency) | Releases | Official source used |
|---|---|---|
| BLS | CPI, PPI, jobs report, JOLTS, ECI, import prices, productivity, plus every other BLS release | bls.gov monthly release schedules (iCalendar feed as fallback) |
| BEA | GDP (advance/second/third), PCE / personal income & outlays, trade balance | bea.gov release calendar feed |
| Census | Retail sales, durable goods, housing starts, new home sales, construction spending | census.gov economic indicator calendar |
| DOL | Initial jobless claims (weekly) | Past releases from DOL's news-release archive; upcoming ones from DOL's publication schedule (Thursday 8:30 ET plus the non-Thursday dates it lists); figures from DOL's claims database and weekly news release |
| Fed | FOMC statement, press conference, minutes, Beige Book, industrial production (G.17), consumer credit, Chair speeches and testimony | federalreserve.gov calendar + FOMC meeting calendar |
| Treasury | Bill, note, bond, TIPS and FRN auctions, with results | Treasury FiscalData auctions API |
Input
| Field | Type | Default | What it does |
|---|---|---|---|
dateFrom | string | today (ET) | First release date. 2026-10-01, today, yesterday, -7d, +3d |
dateTo | string | from + 14 days (from + 95 days with events) | Last release date (inclusive). 2026-10-31, +30d, 2w, next month. Max range 400 days. With an events filter and no end date, the window is 95 days, so it reaches the next release of any monthly or quarterly event (FOMC meetings are up to 7 weeks apart) |
agencies | array | all | BLS, BEA, Census, DOL, Fed, Treasury. Case-insensitive. Aliases like FOMC, auctions or Department of the Treasury work. If no name is recognised, you get a free notice and are not charged |
importance | string | medium | Minimum tier: high, medium or low (low = everything) |
events | array | none | Keyword filter, e.g. ["CPI", "jobs report", "FOMC", "10-year"]. Each word of a keyword must start a word of the event's name, title or aliases. Filler words are ignored (next CPI release = CPI, fed meeting finds FOMC decisions), and/or split alternatives, and 10y means 10-year |
includeActuals | boolean | true | Fill actual / previous for released events (no extra charge) |
maxRecords | integer | all | Stop after this many rows (earliest first) |
fredApiKey | secret string | none | Your free FRED key. Adds actuals for GDP, PCE, retail sales, housing, durable goods, trade and industrial production, and fills jobless-claims weeks DOL's database has not caught up on. Not needed for the FOMC target range |
blsApiKey | secret string | none | Your free BLS key. Raises the BLS data limit from 25 to 500 requests a day |
Empty input {} returns the next 14 days of medium- and high-importance releases in about 5 seconds of actor time. Inputs are lenient inside the schema types: agency and importance names are case-insensitive, one array item may hold several comma-separated values (["BLS, Fed"]), and aliases such as FOMC, auctions, nfp or payrolls work. Callers that bypass the input form can also use key aliases (from/to/until, agency, q/keywords, limit, days). A value the actor can't read becomes a free notice row that explains what happened, and the run carries on with the default. (The Apify platform itself rejects values of the wrong JSON type, e.g. a plain string where agencies expects an array.)
Example: everything market-moving over the next month, with actuals for what already came out.
{"dateFrom": "-7d","dateTo": "+30d","importance": "high"}
Example: when is the next CPI release? With no dates, an events filter looks 95 days ahead. On 2026-09-24 this returned 3 rows ($0.011), and the first is the next CPI, on 2026-10-14 at 08:30 ET, with previous = 0.4 (August).
{"events": ["CPI"]}
Example: this quarter's Treasury coupon auctions with results.
{"agencies": ["Treasury"],"dateFrom": "2026-07-01","dateTo": "today","events": ["note", "bond"]}
Output
Each release is one flat row, and every row has the same keys.
| Field | Example | Notes |
|---|---|---|
row_type | event | event (billed) or notice (free caveat row, see below) |
id | bls:cpi:2026-09-11:2026-08 | Stable unique id |
event | CPI (Consumer Price Index) | Short, human-friendly name |
event_key | cpi | Stable machine key (employment_situation, fomc_rate_decision, treasury_auction_note_10_year...) |
category | inflation | inflation, labor, growth, consumer, housing, trade, manufacturing, central_bank, treasury_auction, other |
agency | BLS | Publishing agency |
release_name | Consumer Price Index | Official title as the agency publishes it |
period / period_code | August 2026 / 2026-08 | Reference period as published, and as YYYY-MM, YYYY-Qn, YYYY or the week-ending date. The Fed calendar doesn't list periods, so for industrial production (G.17), consumer credit (G.19), Z.1 and SLOOS it is inferred from the release date and notes says so. The Beige Book has none |
release_date_et, release_time_et | 2026-09-11, 08:30 | US Eastern |
release_datetime_et / release_datetime_utc | 2026-09-11T08:30:00-04:00 / 2026-09-11T12:30:00Z | DST handled |
importance | high | See tiers below |
status | released | upcoming or released (relative to run time) |
date_confirmed | true | false when the date is derived from a standing rule (upcoming weekly claims on a regular Thursday, FOMC minutes not yet scheduled) or is tentative (FOMC meetings after the next one) |
actual, previous | 0.4, 0.1 | Released events only; see "Actual values" |
unit | % m/m, SA | Unit of actual / previous |
actual_vintage | as_released | as_released = the figure exactly as this release published it; latest_revision = today's (possibly revised) figure for that period |
actual_series | BLS CUSR0000SA0 (CPI-U all items) | Where the number came from |
actual_note | core CPI +0.3% m/m | Secondary figures (core CPI, unemployment rate, bid-to-cover...) |
source_url | https://www.bls.gov/schedule/... | Official page |
notes | Summary of Economic Projections (dot plot) meeting | Extra context |
Real output from a local run on 2026-09-24 with {"dateFrom": "-30d", "dateTo": "+30d", "importance": "high"} (5 of the 18 rows: the free notice row, three released events and one upcoming event whose previous is already known):
[{"row_type": "notice","id": "notice:0","event": "Notice","event_key": "notice","category": null,"agency": null,"release_name": null,"period": null,"period_code": null,"release_date_et": null,"release_time_et": null,"release_datetime_et": null,"release_datetime_utc": null,"importance": null,"status": null,"date_confirmed": null,"actual": null,"previous": null,"unit": null,"actual_vintage": null,"actual_series": null,"actual_note": null,"source_url": null,"notes": "Actual/previous for GDP (Second Estimate), GDP (Third Estimate), PCE Inflation / Personal Income & Spending, Retail Sales need a free FRED API key (input fredApiKey); those rows have no actual/previous values."},{"row_type": "event","id": "bls:employment_situation:2026-09-04:2026-08","event": "Jobs Report (Nonfarm Payrolls & Unemployment Rate)","event_key": "employment_situation","category": "labor","agency": "BLS","release_name": "Employment Situation","period": "August 2026","period_code": "2026-08","release_date_et": "2026-09-04","release_time_et": "08:30","release_datetime_et": "2026-09-04T08:30:00-04:00","release_datetime_utc": "2026-09-04T12:30:00Z","importance": "high","status": "released","date_confirmed": true,"actual": 162,"previous": 21,"unit": "thousands of jobs, m/m change, SA","actual_vintage": "as_released","actual_series": "BLS CES0000000001 (Nonfarm payrolls)","actual_note": "unemployment rate 4.1%; avg hourly earnings +0.3% m/m","source_url": "https://www.bls.gov/schedule/2026/09_sched_list.htm","notes": null},{"row_type": "event","id": "bls:cpi:2026-09-11:2026-08","event": "CPI (Consumer Price Index)","event_key": "cpi","category": "inflation","agency": "BLS","release_name": "Consumer Price Index","period": "August 2026","period_code": "2026-08","release_date_et": "2026-09-11","release_time_et": "08:30","release_datetime_et": "2026-09-11T08:30:00-04:00","release_datetime_utc": "2026-09-11T12:30:00Z","importance": "high","status": "released","date_confirmed": true,"actual": 0.4,"previous": 0.1,"unit": "% m/m, SA","actual_vintage": "as_released","actual_series": "BLS CUSR0000SA0 (CPI-U all items)","actual_note": "core CPI +0.3% m/m","source_url": "https://www.bls.gov/schedule/2026/09_sched_list.htm","notes": null},{"row_type": "event","id": "fed:fomc_rate_decision:2026-09-16","event": "FOMC Rate Decision (Statement)","event_key": "fomc_rate_decision","category": "central_bank","agency": "Fed","release_name": "FOMC Meeting","period": "September 15-16 meeting","period_code": null,"release_date_et": "2026-09-16","release_time_et": "14:00","release_datetime_et": "2026-09-16T14:00:00-04:00","release_datetime_utc": "2026-09-16T18:00:00Z","importance": "high","status": "released","date_confirmed": true,"actual": 4.0,"previous": 3.75,"unit": "% (fed funds target range, upper bound)","actual_vintage": "as_released","actual_series": "federalreserve.gov open market operations table (FOMC target range)","actual_note": "target range 3.75-4.00% (+25 bp)","source_url": "https://www.federalreserve.gov/newsevents/calendar.htm","notes": "Summary of Economic Projections (dot plot) meeting"},{"row_type": "event","id": "bls:jolts:2026-09-29:2026-08","event": "JOLTS Job Openings","event_key": "jolts","category": "labor","agency": "BLS","release_name": "Job Openings and Labor Turnover Survey","period": "August 2026","period_code": "2026-08","release_date_et": "2026-09-29","release_time_et": "10:00","release_datetime_et": "2026-09-29T10:00:00-04:00","release_datetime_utc": "2026-09-29T14:00:00Z","importance": "high","status": "upcoming","date_confirmed": true,"actual": null,"previous": 7271,"unit": "thousands of job openings, SA","actual_vintage": null,"actual_series": "BLS JTS000000000000000JOL (Job openings)","actual_note": null,"source_url": "https://www.bls.gov/schedule/2026/09_sched_list.htm","notes": null}]
Notice rows (free)
When something limits the answer, the actor adds a row_type: "notice" row at the top of the dataset, and you are not charged for it. Examples: an input value it couldn't read, an agency website that was down, a date range beyond what an agency has published, or actuals that need a FRED key. When nothing matches your window, the notice names the next matching release the calendars list after it (for example CPI (Consumer Price Index) on 2026-10-14 08:30 ET). Filter notices out with row_type == "event", or read them. They tell an agent exactly why something is missing.
How far back it goes
Each agency's calendar covers a different span. Outside it, that agency's rows are missing and a free notice row says so.
| Agency | Dates available (checked 2026-09-24) |
|---|---|
| BLS | Monthly schedule pages from January 2020 to the latest month BLS has scheduled (currently December 2026) |
| BEA | The release feed currently lists January 2025 to December 2026 |
| Census | The current calendar year only (2026) |
| Fed | Calendar from 2017; FOMC meeting page 2021 to 2027. Before 2021 only scheduled FOMC decisions and minutes are listed: no press conferences and no unscheduled meetings (the 2020-03-03 and 2020-03-15 emergency cuts are missing), and a free notice says so |
| Treasury | Every auction since 1979, plus announced auctions a few days ahead |
| DOL (weekly claims) | From 2020 to one year ahead. Past releases are read from DOL's news-release archive, so weeks DOL skipped (no releases from 2025-10-02 to 2025-11-13 during the shutdown) or moved (Wednesday 2025-01-08, a day of mourning) are exact. Upcoming ones follow DOL's publication schedule |
So a window in 2025 has no Census rows (retail sales, housing, durable goods), and a window before 2025 has no BEA rows (GDP, PCE, trade).
Importance tiers
These tiers are this actor's judgement of typical market impact, not an agency rating.
| Tier | Events |
|---|---|
high | CPI, jobs report, PPI, JOLTS, GDP, PCE / personal income, retail sales, FOMC decision, FOMC press conference, FOMC minutes |
medium | Initial jobless claims, ECI, import/export prices, productivity, trade balance, durable goods, housing starts, new home sales, industrial production, Beige Book, Fed Chair speeches and testimony, 2/3/5/7/10/20/30-year note and bond auctions |
low | Everything else: bill, CMB, TIPS and FRN auctions, state and metro labor data, construction spending, factory orders, BEA satellite accounts, SLOOS, Z.1... |
Actual values
For released events (with includeActuals on, the default):
- BLS releases (CPI and core CPI, jobs report with unemployment rate and hourly earnings, PPI, JOLTS, ECI, import prices, productivity) come from the official BLS data API. It needs no key and the actor caches it between runs. The keyless BLS API allows 25 requests a day per IP address. If that limit is hit, you get a notice row. Add
blsApiKeyorfredApiKeyfor reliability. - Jobless claims come from DOL. Older weeks come from DOL's weekly claims database. The three newest weeks come from the current news release: its headline figure and its summary table, which also replace the database's figures and continuing claims for those weeks (the database lags DOL's latest revisions). The database lags by a few weeks, and the release covers that gap. If the database ever falls more than three weeks behind, a notice row says so, and a FRED key fills the missing weeks.
- Treasury auctions use the official results: high yield for notes and bonds, high discount rate for bills, high discount margin for FRNs.
previousis the previous auction of the same security type and term. The actor looks back 400 days for it, so it does not depend on your date range.actual_notegives the bid-to-cover ratio. - FOMC decisions need no key:
actualis the upper bound of the new federal funds target range andpreviousthe one before, read from the Federal Reserve's official target-range table (federalreserve.gov open market operations page), or from that meeting's statement when the table has not been updated yet.actual_notegives the range and the move, e.g.target range 3.75-4.00% (+25 bp). The next upcoming meeting getsprevious= the range in effect now; meetings after it get none, because the meeting in between may change it. - GDP, PCE, retail sales, durable goods, housing starts, new home sales, trade and industrial production need your own free FRED API key in
fredApiKey. The BEA and Census data APIs now require keys, and the actor never uses the operator's own credentials. If FRED answers without usable values, a notice row names the series.
How the numbers are computed: % m/m and % q/q values are calculated from the official index levels to one decimal, the same way the headlines are reported. Payrolls are the monthly change in thousands. previous is the prior period computed from the latest published (possibly revised) data. It is not a record of what was first printed.
actual_vintage tells you how far to trust actual as a first print: as_released means the number is exactly what that release published (the newest period of a series, the final scheduled GDP or productivity estimate of the newest quarter, an FOMC decision, a Treasury auction result, the newest weekly claims figure). latest_revision means a later release may have revised it since (older periods, and GDP or productivity estimates that were superseded).
Backtesting surprises? Use first prints, not these. For older releases actual is today's revised figure, which can differ a lot from what the market saw on release day. Checked against the archived BLS releases: September 2025 payrolls show 76K here but first printed +119K; November 2025 payrolls 41K and 4.5% unemployment here versus +64K and 4.6% first printed; October 2025 JOLTS 7,170K versus 7.7M; September 2025 PPI 0.6% versus 0.3%. Keep only actual_vintage == "as_released" rows, or take first prints from a vintage database such as ALFRED. For backtests, this actor's strength is the exact release timestamps. A period the agency never published (for example the October 2025 CPI, skipped during the shutdown) leaves actual or previous empty instead of guessing. Consensus forecasts are not included, because no official source publishes them.
Pricing
Pay per event, with no subscription.
| Event | Price | When |
|---|---|---|
actor-start | $0.005 | Once per run, only when at least one calendar row is delivered |
event-row | $0.002 | Per calendar row delivered |
| notice rows | free | Caveats and explanations. A run that returns only notice rows costs nothing |
Worked examples:
| Run | Rows | Cost |
|---|---|---|
Empty input {} (next 14 days, medium+high) | typically 8–20 (12 on 2026-09-24) | $0.005 + 12 × $0.002 = $0.029 |
importance: high, next 14 days | typically 2–9 (5 on 2026-09-24) | $0.005 + 5 × $0.002 = $0.015 |
Next CPI (events: ["CPI"], no dates, so 95 days ahead) | 3 | $0.005 + 3 × $0.002 = $0.011 |
dateFrom: -30d, dateTo: +30d, importance: high | 17 | $0.005 + 17 × $0.002 = $0.039 |
All Treasury auctions, last 14 days + announced ones (agencies: ["Treasury"], dateFrom: -14d, dateTo: +7d, importance: low) | 25 | $0.005 + 25 × $0.002 = $0.055 |
Every release over a 400-day range centred on today (dateFrom: -200d, dateTo: +200d, importance: low) | 678 | $0.005 + 678 × $0.002 = $1.361 |
Largest run: every release over the maximum 400-day range, all in the past (dateFrom: -400d, dateTo: today, importance: low). Past windows hold more rows because every Treasury auction is already known | 968 | $0.005 + 968 × $0.002 = $1.941 |
Same, capped with maxRecords: 100 | 100 | $0.005 + 100 × $0.002 = $0.205 |
Every 2026 CPI, jobs report and FOMC event (events: ["CPI", "jobs report", "FOMC"], whole year, importance: high) | 48 | $0.005 + 48 × $0.002 = $0.101 |
The row count, and so the cost, is capped by the 400-day range at roughly 1,000 rows (about $2.00); maxRecords sets a lower hard cap. The actor also respects your maximum cost per run. It trims rows before fetching actuals, stops cleanly at the limit, and says so in the status message. If the limit can't cover even one row, the run makes no upstream calls and charges nothing.
Use with AI agents / MCP
This actor is built to be called by agents through the Apify MCP server:
- One call answers "what US data comes out this week?" (
{}or{"dateTo": "+7d"}), "what did payrolls print last month?" ({"events": ["jobs report"], "dateFrom": "-35d", "dateTo": "today"}) or "when is the next CPI / FOMC decision?" ({"events": ["CPI"]}or{"events": ["FOMC decision"]}). With aneventsfilter and no end date the actor looks 95 days ahead, so the firstupcomingrow is the next release. For FOMC decisions,notessays whether it is a dot-plot (Summary of Economic Projections) meeting. - If a window matches nothing, the free notice row names the next matching release after it, so the agent can answer or retry with a later
dateTo. - Output is flat and self-describing:
event,release_datetime_utc,importance,status,actual,previous,unit. The key set never changes. - Inputs are forgiving: relative dates (
+7d,next week), case-insensitive agencies, common aliases, and keyword filters like["CPI", "FOMC"]. - A caveat never fails the run. It arrives as a free
noticerow an agent can read and repeat to the user. - Costs are small and predictable: $0.005 plus $0.002 per row. Use
maxRecordsandimportanceto keep runs short.
Example agent prompt: "Use the US economic calendar actor to list high-importance US releases in the next 10 days with times in UTC."
FAQ
Where does the data come from? Only official US government sources: bls.gov, bea.gov, census.gov, dol.gov / doleta.gov, federalreserve.gov and fiscaldata.treasury.gov. Requests use an honest, identifying User-Agent and a handful of calls per run.
Does it include consensus forecasts? No. Official sources don't publish forecasts, and the actor doesn't copy them from commercial calendars.
How current are the dates? Each run reads the agencies' live calendars, so a moved release shows its new date on the next run. BLS, BEA and Census publish their schedules about a year ahead. When your range goes past what an agency has published, a notice row tells you.
How far back can I go? It depends on the agency: BLS from 2020, BEA from 2025, Census for the current year only, the Fed from 2017 (before 2021 without press conferences or unscheduled meetings), weekly claims from 2020 and Treasury auctions from 1979. See How far back it goes. For long histories of release dates, use the agencies' own archives.
Why is a two-month release one row? After the 2025 shutdown, some catch-up releases covered two months at once. They come out as one row (for example period = September and October 2025) with period_code set to the later month, whether BEA or Census published it. You pay for one release, once.
Why is date_confirmed false for upcoming jobless claims? DOL publishes weekly claims every Thursday at 8:30 ET and lists the exceptions on its claims page (for example Wednesday, November 25, 2026). The actor applies that list, marks the listed dates confirmed, and uses Thursday, or Wednesday when Thursday is a federal holiday, for the other weeks. Those dates stay unconfirmed because a shutdown or a one-off closure can still move or cancel them. Past claims rows are confirmed: they come from DOL's news-release archive, and weeks with no release there are left out, with a free notice naming the dates. The FOMC minutes date is also marked unconfirmed until the Fed publishes it. The Fed publishes minutes three weeks after each meeting. FOMC meetings after the next one are marked unconfirmed as well, because the Fed says each meeting date is tentative until it is confirmed at the meeting before it.
Why do only the next few days of Treasury auctions show? Treasury announces each auction only a few days to a week ahead. Past auctions, with results, are available for any range.
What happens if an agency website is down or blocks the request? That agency's rows are skipped after a few polite retries. The other agencies still come through, you get a free notice row, and the run still succeeds. Every request has its own time limit inside the run's schedule budget, so one stalled page costs only its own rows. BLS monthly pages fall back to the BLS iCalendar feed. BEA falls back to its JSON release list. The Fed calendar and the FOMC meeting page stand in for each other. Jobless-claims rows are listed only when a DOL page answers: when every DOL page is down, there are no claims rows and nothing is charged for them.
Time zones? US releases are scheduled in Eastern Time, so every row carries ET and UTC, with daylight saving handled.
Is this investment advice? No. It's a data feed. Check critical numbers against the linked official source.
Limitations
- US only. No global or FX-market events.
- History is limited to what the official calendars still publish: BLS from 2020, BEA from 2025, Census for the current year only.
- No consensus forecasts. Actuals for BEA and Census series and Fed industrial production need your FRED key (FOMC decisions do not).
actualfor older periods andpreviousreflect the latest revisions, not first prints.- During a federal government shutdown, agencies can cancel or postpone releases on short notice. Upcoming weekly-claims dates come from DOL's standing schedule and can't see those changes until they happen; past claims dates follow DOL's release archive.
Changelog
- 0.1 (2026-09-24): First release. Six official sources (BLS, BEA, Census, DOL, Federal Reserve, Treasury), ET+UTC times, importance tiers, keyword filter, actual/previous values with
actual_vintage(BLS API, DOL, Treasury results, optional FRED), free notice rows, pay-per-event pricing with the run start charged only when a calendar row is delivered. Pre-release review fixes: "Productivity and Costs by Industry" is no longer reported as the quarterly productivity release. Reference periods are inferred for G.17, G.19, Z.1 and SLOOS, so FRED actuals now work for industrial production. Keyword matching is word-based and ignores filler words. BEA's trade annual update is folded into the same-day monthly trade row. FOMC meetings after the next one are marked tentative. The Treasury horizon notice names the latest announced auction, and auctionpreviousvalues no longer depend on the date range. Unknown-only agencies return a free notice. HTTP decoding and redirect errors now trigger each source's fallback, and one failing actuals source no longer drops the others' values. FOMC decisions get keyless actual/previous from the Fed's target-range table (the statement is the fallback), and only the next meeting getsprevious. BEA's two-month catch-up releases keep both months inperiod. Past jobless-claims rows link to DOL's release archive instead of the always-newestdata.pdf. The final GDP or productivity estimate of the newest quarter keepsas_released. Response bodies are streamed and capped at 5 MB, and FRED answers without usable values produce a notice. Final review round: with aneventsfilter and no end date the window is 95 days, so "next CPI" or "next FOMC" questions get an answer, and a window that matches nothing names the next matching release in its free notice. Each actual-value source now has its own time limit and keeps what it already fetched, so one slow source no longer empties the others' values. The three newest jobless-claims weeks come from the news release's summary table, which closes the gap before DOL's database catches up. Census two-month catch-up releases are one row, as at BEA. BEA annual releases keep their reference year. Claims dates are projected only from 2020 to one year ahead, and BLS months before 2020 are not requested. Decompression is size-capped, and a malformed calendar entry, an impossible series value or an oddly typed Treasury field skips only that item. Fourth review round: past jobless-claims rows now come from DOL's news-release archive, so no row (and no charge) is produced for weeks DOL never published, such as the October-November 2025 shutdown, and moved releases (2025-01-08, 2020-12-23) have their real date. Each past row links to its archived release PDF. The newest release is confirmed from the release itself until the archive lists it. Upcoming claims dates apply DOL's published list of non-Thursday dates. When no DOL page answers, no claims rows are listed. Every request now has its own time limit inside the schedule budget, so a stalled page no longer drops rows its agency already fetched, and the BLS iCalendar and BEA JSON fallbacks run in the time left. Continuing claims and older weekly figures follow the newest release's summary table rather than the lagging database. Treasury auction results and DOL claims values of 1e12 or more are dropped. A Fed window before 2021 gets a free notice that those years lack press conferences and unscheduled meetings.