Trading Economics Indicators API

Latest values for more than 15,000 economic indicator time series sourced directly from official statistics agencies and central banks - interest rates, inflation, GDP, unemployment, trade, and more - queryable by country, by indicator across all countries, by ticker, plus sovereign credit ratings.

OpenAPI Specification

tradingeconomics-openapi.yml Raw ↑
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