Point-in-time (vintage) economic data from FRED's ALFRED archive — what an econo
Point-in-time (vintage) economic data from FRED's ALFRED archive — what an economic figure was AS FIRST REPORTED / as known on a past date, before later revisions. Give a seriesId (e.g. GDP, GDPC1, PAYEMS, INDPRO) and an asOf date to get the observations exactly as they stood on that date; omit asOf to get the current (latest-revised) values. Also returns the series' vintage (revision) dates — every date the series was revised. Free, public-domain (FRED). Critical for honest backtesting and macro research: it eliminates look-ahead bias (e.g. GDP for 2020Q1 was first reported far lower than today's revised figure). No LLM and no real-time API gives this — it's the archived state of the data through time. Pair with econ.fred (current series) and econ.fred-releases (release calendar).
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
GET https://2s.io/api/econ/fred-vintage
| Category | Search and research |
|---|---|
| Provider host | 2s.io |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 87 from 3 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-24 | valid payment request | 402 | $0.0042 | 601 ms |
Example input (from the provider)
{
"method": "GET",
"queryParams": {
"asOf": "2020-06-01",
"limit": 2,
"seriesId": "GDP"
},
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"properties": {
"method": {
"const": "GET"
},
"queryParams": {
"properties": {
"asOf": {
"description": "Vintage date YYYY-MM-DD (values as known then). Omit for current.",
"type": "string"
},
"end": {
"description": "Latest observation date YYYY-MM-DD.",
"type": "string"
},
"limit": {
"description": "Max observations (1-100, default 12).",
"type": "integer"
},
"seriesId": {
"description": "FRED series id, e.g. GDP, GDPC1, PAYEMS.",
"type": "string"
},
"start": {
"description": "Earliest observation date YYYY-MM-DD.",
"type": "string"
}
},
"required": [
"seriesId"
]
},
"type": {
"const": "http"
}
},
"required": [
"type",
"method",
"queryParams"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}