Skip to main content
Financial Data API’s macro factor data is a set of canonical economic indicators, each with a stable ID that means the same thing in every country. Query US CPI, UK unemployment, and German GDP growth with the same indicator slugs and the same filters, and join across countries without reconciling vendor field names. This page leads with the data that is available (the indicator families, the real series in each, and the country coverage), then shows how to read it through the two observation endpoints.

What data is available

Public canonical indicators are grouped into families. The counts and series below describe the macro families (interest rates have their own page). The catalog is live, so treat the table as a map and read the authoritative, machine-readable list from GET /canonical-indicators and the breadth summary from GET /coverage.
Interest-rate series (Policy Rate, 3-Month Money-Market Benchmark Rate, 10-Year Government Bond Yield, and the 10Y-3M Yield-Curve Spread) live in the rates family. See Interest rates.

Units you will see

Macro values carry an explicit unit. Across these families the units are:

percent

Rates of change and ratios: CPI Inflation YoY, Real GDP Growth, Unemployment Rate.

index

Level indices: CPI index, Core CPI index, PCE Price Index.

thousands

Counts in thousands: Nonfarm Payroll Employment, Initial Jobless Claims, Housing Starts, Building Permits.

persons

Headcounts reported in persons where the source publishes them that way.

USD millions

External-sector flows: Trade Balance, Exports, Imports.
Always branch on the unit field rather than assuming. The same family can mix a rate (percent) and a level (index), and a count series can be reported in thousands or persons depending on the source.

Country coverage

The macro catalog spans 17 countries and region codes, keyed by ISO 3166-1 alpha-3 code. Per-country breadth varies — a core set (USA, the euro area, GBR, JPN, AUS, CAN, CHE, NZL) carries the full factor set, others a subset:
Coverage is not uniform across every series. Some indicators (for example Housing Starts, Building Permits, Trade Balance, Personal Income, Retail Sales) are US-only in the catalog, while CPI Inflation YoY, Unemployment Rate, and GDP Growth are broad. Check exactly what a country carries with GET /coverage, and resolve the live indicator universe with GET /canonical-indicators.
Financial Data API publishes official daily FX reference rates (the fx category), but it does not sell raw vendor or real-time market price-tick data: that is redistribution-blocked and deliberately not part of the product. For derived rate analytics (curve spreads and more) see Derived analytics.

Canonical indicator IDs

Every series has a canonical indicator ID, a stable slug that is identical across countries. You query by it, you join on it, and you read it back on every observation as indicatorId. Examples: These three are illustrative, not the full set. The complete, current list of indicator IDs (with names, families, and units) is served live:
Use GET /canonical-indicators as the source of truth for valid IDs before you build queries. Financial Data API fails closed on unknown query parameters and rejects nonexistent indicators with bad_request, so confirming the slug first saves a round trip.

Querying the data

Macro indicator values are served as observations. An observation is a single value a series describes for a single period, for example May 2026 US CPI Inflation YoY. Two public endpoints cover the two shapes you need: a time series, and the latest value per indicator.

GET /observations

The history. Time series of public observations across periods and vintages. Cursor-paginated.

GET /observations/latest

The snapshot. The single latest public reading per canonical indicator. The fastest way to ask “where are things now.”
Both endpoints go to https://api.financialdatapi.com, require a key with the data:read scope, and send the key in the x-api-key header (or Authorization: Bearer). They share one filter set and one response shape.

Authentication

A data:read scope is required. A handful of endpoints need no key (/health, /ready, /openapi.json, /llms.txt, /llms-full.txt), but the observation endpoints are not among them. See Authentication.

Filters

Both endpoints accept the same filters. Combine them freely; they are AND-ed. Unknown query parameters are rejected with bad_request (Financial Data API fails closed rather than silently ignoring typos).
string
ISO 3166-1 alpha-3 country code, for example USA, GBR, JPN. One of the covered countries.
string
Canonical indicator slug, for example cpi_inflation_yoy. Also accepted as indicator_id.
string
Publication cadence: daily, weekly, monthly, quarterly, or annual.
string
Keep only readings with a given freshness label: fresh, stale, or unknown. The label is set by a per-frequency age gate, independent of any source self-report.
string
Financial Data API source id, for example source_bls_public_api. Filter to a single institution of record.
string
Financial Data API provider id or name. Also accepted as provider.
Time filters run on two axes (period: what a value describes; knowledge-time: when it became known):
string
Convenience filter on the described period: YYYY, YYYY-MM, or YYYY-Qn.
string
Upper bound on the described period (YYYY-MM-DD).
string
Lower bound on knowledge-time (observed_at).
string
Upper bound on knowledge-time (observed_at).
string
Returns the latest vintage known on or before a timestamp. See the caveat below.
integer
Page size, 1 to 500. Defaults to 100. Follow meta.pagination.next_cursor with cursor while has_more is true. sort and order (asc, desc) control ordering.
as_of currently approximates the ingestion timestamp, not full provider-vintage reconstruction. Revisions are retained and never overwritten, so the revision history is visible, but reconstructing the exact value a provider had published at an arbitrary past instant is future work. Read as_of as “what Financial Data API knew by this time.”

Response fields

Public observations come back in camelCase. The fields most relevant to macro indicators:
string
Stable ID for this observation. Pass it to GET /provenance/observations/{observationId} for the full source chain.
string
Canonical indicator slug, for example cpi_inflation_yoy. Use it to query and join across countries.
string
Human-readable indicator name, for example CPI Inflation (YoY).
string
ISO 3166-1 alpha-3 country code.
number
The headline numeric value of the reading.
string
Unit of the value, for example percent, index, thousands, persons, USD millions.
string
Label for the period the value describes, for example 2026-05.
string
End of the described period (YYYY-MM-DD).
string
Publication cadence: daily, weekly, monthly, quarterly, or annual.
string
Knowledge-time: the point at which the value is observed.
string
Freshness label: fresh, stale, or unknown.
string
The provider name behind the source, for example U.S. Bureau of Labor Statistics.
string
The official source URL for the series.
boolean
Whether a raw payload reference is exposed for this observation through the provenance endpoint.

Examples

Latest US CPI inflation

Get the single latest US CPI Inflation YoY reading.
A public observation looks like this:

US CPI inflation history

Pull the full vintage history of US CPI Inflation YoY, oldest first.

Latest unemployment across a country set, fresh only

Compare the latest Unemployment Rate, keeping only values that pass the freshness gate. Query country by country with the shared indicator and freshness filters.

Provenance

Every macro value traces back to an official release. Pass an observationId to the provenance endpoint for the named source, source URL, raw payload reference metadata, and the ingestion run.
Sources behind the macro families are institutions of record, including FRED, BLS, ECB, OECD, BIS, Eurostat, Bank of England, and Bank of Japan, across roughly 87 source connectors (53 providers).

Errors

Non-2xx responses share the standard envelope with a stable, machine-readable code.

Interest rates

Policy Rate, 3-Month Money-Market Benchmark Rate, 10-Year Government Bond Yield, and the 10Y-3M Yield-Curve Spread.

Economic calendar & events

Scheduled and released macro events with actual, forecast, consensus, previous, and revised values.

Derived analytics

Surprise indices, COT positioning percentiles, valuation multiples, and rates analytics.