Trading Economics Financials API
Company fundamentals by financial category or stock symbol, plus earnings and revenue calendars, dividends, IPOs, stock splits, and sector listings for listed companies.
Company fundamentals by financial category or stock symbol, plus earnings and revenue calendars, dividends, IPOs, stock splits, and sector listings for listed companies.
openapi: 3.0.1
info:
title: Trading Economics API
description: >-
REST API for Trading Economics economic data covering 196 countries -
economic indicators (interest rates, inflation, GDP, unemployment, and
15,000+ other series), the economic calendar, proprietary macro forecasts,
full historical time series, live market quotes, and company financials.
Authenticate with an API client key passed as the `c` query parameter
(format `key:secret`) or as an `Authorization` header. Output defaults to
JSON and can be switched with `f=json|csv|html`. Live streaming is a
separate WebSocket surface at wss://stream.tradingeconomics.com described
in the companion AsyncAPI document.
termsOfService: https://tradingeconomics.com/terms-of-service.aspx
contact:
name: Trading Economics
url: https://tradingeconomics.com/contact.aspx
version: '1.0'
externalDocs:
description: Trading Economics API Documentation
url: https://docs.tradingeconomics.com
servers:
- url: https://api.tradingeconomics.com
security:
- clientKeyQuery: []
- clientKeyHeader: []
paths:
/country/{country}:
get:
operationId: getIndicatorsByCountry
tags:
- Indicators
summary: Latest indicator values for one or more countries.
description: >-
Returns a snapshot of the latest values for all economic indicators for
the given country (or comma-separated countries), including interest
rates, inflation, GDP, and unemployment. Optionally filter to a
category group such as `gdp` with the `group` parameter.
parameters:
- name: country
in: path
required: true
description: Country name, or comma-separated list (e.g. `mexico,sweden`).
schema:
type: string
example: mexico
- name: group
in: query
required: false
description: Filter results to a category group (e.g. `gdp`).
schema:
type: string
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Indicator'
/country/all/{indicator}:
get:
operationId: getCountriesByIndicator
tags:
- Indicators
summary: Latest values of one indicator across all countries.
description: >-
Returns the latest value of a single indicator - such as `interest
rate`, `inflation rate`, or `gdp` - for every country covered,
supporting cross-country comparison of macroeconomic series.
parameters:
- name: indicator
in: path
required: true
description: Indicator name (e.g. `interest rate`, `gdp`).
schema:
type: string
example: interest rate
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Indicator'
/country/ticker/{ticker}:
get:
operationId: getIndicatorByTicker
tags:
- Indicators
summary: Latest indicator value by Trading Economics ticker.
parameters:
- name: ticker
in: path
required: true
description: Trading Economics indicator ticker (e.g. `usurtot`).
schema:
type: string
example: usurtot
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Indicator'
/credit-ratings:
get:
operationId: getCreditRatings
tags:
- Indicators
summary: Sovereign credit ratings for all countries.
parameters:
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreditRating'
/credit-ratings/country/{country}:
get:
operationId: getCreditRatingsByCountry
tags:
- Indicators
summary: Sovereign credit ratings for one or more countries.
parameters:
- name: country
in: path
required: true
description: Country name, or comma-separated list (e.g. `mexico,sweden`).
schema:
type: string
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CreditRating'
/calendar:
get:
operationId: getCalendar
tags:
- Economic Calendar
summary: Upcoming and recent economic calendar events.
description: >-
Returns scheduled economic events - central bank interest rate
decisions, CPI, GDP, employment releases, and more - with actual,
previous, consensus forecast, and Trading Economics forecast values.
Filter by importance (1=low, 2=medium, 3=high). Limited to 1,000 rows
per request.
parameters:
- name: importance
in: query
required: false
description: Event importance filter (1=low, 2=medium, 3=high).
schema:
type: integer
enum: [1, 2, 3]
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CalendarEvent'
/calendar/country/{countries}/{startDate}/{endDate}:
get:
operationId: getCalendarByCountryAndDate
tags:
- Economic Calendar
summary: Calendar events by country and date range.
description: >-
Returns calendar events for the given countries (use `All` for every
country) between two dates, optionally filtered by importance.
parameters:
- name: countries
in: path
required: true
description: Country name(s) comma-separated, or `All`.
schema:
type: string
example: All
- name: startDate
in: path
required: true
schema:
type: string
format: date
example: '2026-07-01'
- name: endDate
in: path
required: true
schema:
type: string
format: date
example: '2026-07-31'
- name: importance
in: query
required: false
schema:
type: integer
enum: [1, 2, 3]
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CalendarEvent'
/calendar/events/country/{countries}:
get:
operationId: getCalendarEventsByCountry
tags:
- Economic Calendar
summary: Calendar event types available for one or more countries.
parameters:
- name: countries
in: path
required: true
description: Country name, or comma-separated list (e.g. `china,canada`).
schema:
type: string
example: china
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CalendarEvent'
/calendar/calendarid/{ids}:
get:
operationId: getCalendarEventsById
tags:
- Economic Calendar
summary: Calendar events by calendar ID.
parameters:
- name: ids
in: path
required: true
description: Comma-separated calendar IDs (e.g. `174108,160025,160030`).
schema:
type: string
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CalendarEvent'
/calendar/updates:
get:
operationId: getCalendarUpdates
tags:
- Economic Calendar
summary: Recently updated calendar events.
parameters:
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CalendarEvent'
/markets/commodities:
get:
operationId: getMarketsCommodities
tags:
- Markets
summary: Current quotes for commodities.
parameters:
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MarketQuote'
/markets/currency:
get:
operationId: getMarketsCurrencies
tags:
- Markets
summary: Current quotes for currency pairs.
parameters:
- name: cross
in: query
required: false
description: Filter crosses of a base currency (e.g. `EUR`).
schema:
type: string
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MarketQuote'
/markets/index:
get:
operationId: getMarketsIndexes
tags:
- Markets
summary: Current quotes for stock market indexes.
parameters:
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MarketQuote'
/markets/crypto:
get:
operationId: getMarketsCrypto
tags:
- Markets
summary: Current quotes for cryptocurrencies.
parameters:
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MarketQuote'
/markets/bond:
get:
operationId: getMarketsBonds
tags:
- Markets
summary: Current government bond yields.
description: >-
Returns government bond yields. Filter by maturity with `type` (1M,
3M, 6M, 52W, 2Y, 3Y, 5Y, 7Y, 10Y, 15Y, 20Y, 30Y) and by country with
`country` - the market-side complement to policy interest rate series.
parameters:
- name: type
in: query
required: false
description: Bond maturity (e.g. `10Y`).
schema:
type: string
enum: [1M, 3M, 6M, 52W, 2Y, 3Y, 5Y, 7Y, 10Y, 15Y, 20Y, 30Y]
- name: country
in: query
required: false
description: Filter by country (e.g. `france`).
schema:
type: string
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MarketQuote'
/markets/symbol/{symbols}:
get:
operationId: getMarketsBySymbol
tags:
- Markets
summary: Current quotes for specific market symbols.
parameters:
- name: symbols
in: path
required: true
description: Comma-separated market symbols (e.g. `aapl:us,indu:ind`).
schema:
type: string
example: aapl:us
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MarketQuote'
/markets/historical/{symbols}:
get:
operationId: getMarketsHistorical
tags:
- Markets
summary: Daily historical prices for market symbols.
parameters:
- name: symbols
in: path
required: true
description: Comma-separated market symbols.
schema:
type: string
- name: d1
in: query
required: false
description: Start date (yyyy-mm-dd).
schema:
type: string
format: date
- name: d2
in: query
required: false
description: End date (yyyy-mm-dd).
schema:
type: string
format: date
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MarketHistoricalPrice'
/markets/intraday/{symbols}:
get:
operationId: getMarketsIntraday
tags:
- Markets
summary: Intraday prices for market symbols.
parameters:
- name: symbols
in: path
required: true
description: Comma-separated market symbols.
schema:
type: string
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MarketHistoricalPrice'
/markets/search/{term}:
get:
operationId: searchMarkets
tags:
- Markets
summary: Search market instruments by term.
parameters:
- name: term
in: path
required: true
schema:
type: string
- name: category
in: query
required: false
description: Restrict search to a category (e.g. `index`, `bond`).
schema:
type: string
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MarketQuote'
/forecast/country/{countries}:
get:
operationId: getForecastsByCountry
tags:
- Forecasts
summary: Indicator forecasts for one or more countries.
description: >-
Returns multi-quarter forecasts for all economic indicators of the
given countries, built with the Trading Economics proprietary global
macro model and analyst expectations.
parameters:
- name: countries
in: path
required: true
description: Country name, or comma-separated list (e.g. `mexico,sweden`).
schema:
type: string
example: mexico
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Forecast'
/forecast/indicator/{indicators}:
get:
operationId: getForecastsByIndicator
tags:
- Forecasts
summary: Forecasts for one or more indicators across countries.
parameters:
- name: indicators
in: path
required: true
description: Indicator name(s), comma-separated (e.g. `interest rate,gdp`).
schema:
type: string
example: interest rate
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Forecast'
/forecast/country/{countries}/indicator/{indicators}:
get:
operationId: getForecastsByCountryAndIndicator
tags:
- Forecasts
summary: Forecasts by country and indicator.
parameters:
- name: countries
in: path
required: true
schema:
type: string
example: mexico,sweden
- name: indicators
in: path
required: true
schema:
type: string
example: gdp,population
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Forecast'
/forecast/ticker/{tickers}:
get:
operationId: getForecastsByTicker
tags:
- Forecasts
summary: Forecasts by Trading Economics ticker.
parameters:
- name: tickers
in: path
required: true
description: Comma-separated tickers (e.g. `usurtot,wgdpchin`).
schema:
type: string
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Forecast'
/historical/country/{countries}/indicator/{indicators}:
get:
operationId: getHistoricalByCountryAndIndicator
tags:
- Historical
summary: Historical time series by country and indicator.
description: >-
Returns the historical time series for the given countries and
indicators (both comma-separatable). Limited to 10,000 rows per
request.
parameters:
- name: countries
in: path
required: true
schema:
type: string
example: mexico
- name: indicators
in: path
required: true
schema:
type: string
example: gdp
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HistoricalValue'
/historical/country/{countries}/indicator/{indicators}/{startDate}/{endDate}:
get:
operationId: getHistoricalByCountryIndicatorAndDates
tags:
- Historical
summary: Historical time series by country, indicator, and date range.
parameters:
- name: countries
in: path
required: true
schema:
type: string
example: mexico,sweden
- name: indicators
in: path
required: true
schema:
type: string
example: gdp,population
- name: startDate
in: path
required: true
schema:
type: string
format: date
example: '2015-01-01'
- name: endDate
in: path
required: true
schema:
type: string
format: date
example: '2015-12-31'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HistoricalValue'
/historical/ticker/{ticker}/{startDate}:
get:
operationId: getHistoricalByTicker
tags:
- Historical
summary: Historical time series by ticker from a start date.
parameters:
- name: ticker
in: path
required: true
schema:
type: string
example: usurtot
- name: startDate
in: path
required: true
schema:
type: string
format: date
example: '2015-03-01'
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HistoricalValue'
/historical/latest:
get:
operationId: getHistoricalLatest
tags:
- Historical
summary: Recently released or revised indicator values.
parameters:
- name: country
in: query
required: false
schema:
type: string
- name: date
in: query
required: false
schema:
type: string
format: date
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HistoricalValue'
/historical/updates:
get:
operationId: getHistoricalUpdates
tags:
- Historical
summary: Recently updated historical records.
parameters:
- name: d1
in: query
required: false
description: Start date filter (yyyy-mm-dd).
schema:
type: string
format: date
- name: d2
in: query
required: false
description: End date filter (yyyy-mm-dd).
schema:
type: string
format: date
- name: lu
in: query
required: false
description: Last-update date filter (yyyy-mm-dd).
schema:
type: string
format: date
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/HistoricalValue'
/financials/category/{category}:
get:
operationId: getFinancialsByCategory
tags:
- Financials
summary: Company financials snapshot by category.
parameters:
- name: category
in: path
required: true
description: Financial category (e.g. `assets`).
schema:
type: string
example: assets
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Financial'
/financials/symbol/{symbol}:
get:
operationId: getFinancialsBySymbol
tags:
- Financials
summary: Company financials snapshot by stock symbol.
parameters:
- name: symbol
in: path
required: true
description: Stock symbol (e.g. `aapl:us`).
schema:
type: string
example: aapl:us
- $ref: '#/components/parameters/format'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Financial'
components:
parameters:
format:
name: f
in: query
required: false
description: Output format. JSON is the default for most endpoints.
schema:
type: string
enum: [json, csv, html]
securitySchemes:
clientKeyQuery:
type: apiKey
in: query
name: c
description: >-
API client credentials in `key:secret` format passed as the `c` query
parameter. Obtain a key by subscribing to a plan at
developer.tradingeconomics.com.
clientKeyHeader:
type: apiKey
in: header
name: Authorization
description: API client credentials passed in the Authorization header.
schemas:
Indicator:
type: object
description: Latest value of an economic indicator for a country.
properties:
Country:
type: string
example: Mexico
Category:
type: string
example: Interest Rate
Title:
type: string
example: Mexico Interest Rate
LatestValue:
type: number
LatestValueDate:
type: string
format: date-time
PreviousValue:
type: number
PreviousValueDate:
type: string
format: date-time
Source:
type: string
Unit:
type: string
example: percent
Frequency:
type: string
example: Daily
HistoricalDataSymbol:
type: string
example: MXONBR
CategoryGroup:
type: string
example: Money
LastUpdate:
type: string
format: date-time
CreditRating:
type: object
description: Sovereign credit rating assessment for a country.
properties:
Country:
type: string
TE:
type: string
description: Trading Economics credit rating score.
TE_Outlook:
type: string
SP:
type: string
description: Standard and Poor's rating.
SP_Outlook:
type: string
Moodys:
type: string
Moodys_Outlook:
type: string
Fitch:
type: string
Fitch_Outlook:
type: string
CalendarEvent:
type: object
description: A scheduled economic calendar event.
properties:
CalendarId:
type: string
Date:
type: string
format: date-time
Country:
type: string
Category:
type: string
example: Interest Rate
Event:
type: string
example: Fed Interest Rate Decision
Reference:
type: string
ReferenceDate:
type: string
Actual:
type: string
Previous:
type: string
Forecast:
type: string
description: Average forecast among economists surveyed.
TEForecast:
type: string
description: Trading Economics proprietary forecast.
Importance:
type: integer
description: 1=low, 2=medium, 3=high.
Ticker:
type: string
Unit:
type: string
LastUpdate:
type: string
format: date-time
MarketQuote:
type: object
description: Current quote for a market instrument.
properties:
Symbol:
type: string
example: EURUSD:CUR
Ticker:
type: string
Name:
type: string
Country:
type: string
Date:
type: string
format: date-time
Last:
type: number
Group:
type: string
DailyChange:
type: number
DailyPercentualChange:
type: number
WeeklyChange:
type: number
MonthlyChange:
type: number
YearlyChange:
type: number
YTDChange:
type: number
yesterday:
type: number
lastWeek:
type: number
lastMonth:
type: number
lastYear:
type: number
unit:
type: string
MarketHistoricalPrice:
type: object
description: Historical or intraday price bar for a market symbol.
properties:
Symbol:
type: string
Date:
type: string
format: date-time
Open:
type: number
High:
type: number
Low:
type: number
Close:
type: number
Forecast:
type: object
description: Multi-quarter forecast for an economic indicator.
properties:
Country:
type: string
Category:
type: string
example: Interest Rate
Title:
type: string
LatestValue:
type: number
LatestValueDate:
type: string
format: date-time
Forecast1:
type: number
description: Forecast for the next quarter.
Forecast2:
type: number
Forecast3:
type: number
Forecast4:
type: number
ForecastDate1:
type: string
ForecastDate2:
type: string
ForecastDate3:
type: string
ForecastDate4:
type: string
HistoricalDataSymbol:
type: string
HistoricalValue:
type: object
description: One observation in an indicator's historical time series.
properties:
Country:
type: string
Category:
type: string
DateTime:
type: string
format: date-time
Value:
type: number
Frequency:
type: string
HistoricalDataSymbol:
type: string
LastUpdate:
type: string
format: date-time
Financial:
type: object
description: Company fundamentals record.
properties:
Symbol:
type: string
example: AAPL:US
Name:
type: string
Country:
type: string
Category:
type: string
Sector:
type: string
Value:
type: number
Unit:
type: string
Date:
type: string
format: date-time