Finage Market Data API

Read-only REST API for real-time and historical market data: last quotes/trades, OHLCV aggregates, and snapshots for US and global stocks, forex, crypto, CFD indices and ETFs, plus fundamentals (financial statements, ratios, holders), economic/earnings/dividend calendars, market news, technical indicators, and symbol search. Authenticated with an apikey query parameter; responses are gzip-compressed JSON.

OpenAPI Specification

finage-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Finage Market Data API
  description: Finage is a real-time and historical market data provider covering US and global stocks, forex, cryptocurrencies,
    indices, ETFs, bonds, and company fundamentals. This OpenAPI was generated by API Evangelist from Finage's own
    machine-readable docs database (https://api.finage.co.uk/op/v1/endpoints/list — the same JSON the docs at https://finage.co.uk/docs/api
    render); every path, parameter, and example comes from that source. All endpoints are read-only GET requests
    authenticated with an apikey query parameter. Responses must be requested with gzip Accept-Encoding (the API
    returns 406 "GZip compression required" otherwise).
  version: 1.0.0
  contact:
    name: Finage Support
    email: support@finage.co.uk
    url: https://finage.co.uk
  x-apievangelist:
    generated: '2026-07-22'
    method: generated
    source: https://api.finage.co.uk/op/v1/endpoints/list
externalDocs:
  description: Finage API documentation
  url: https://finage.co.uk/docs/api
servers:
- url: https://api.finage.co.uk
security:
- apiKey: []
tags:
- name: US Stocks
- name: Forex
- name: Crypto
- name: Indices
- name: ETFs
- name: UK Stocks
- name: Indian Stocks
- name: Canadian Stocks
- name: Russian Stocks
- name: Bonds
- name: Fundamentals
paths:
  /last/stock/{symbol}:
    get:
      operationId: stockLastQuote
      summary: Stock Last Quote
      description: You can get the last quote for a symbol with this endpoint.
      tags:
      - US Stocks
      parameters:
      - name: symbol
        in: path
        required: true
        description: 'Symbol Name (eg: AAPL)'
        schema:
          type: string
      responses:
        '200':
          description: Stock Last Quote response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol Name
                  ask:
                    type: number
                    description: Ask Price
                  bid:
                    type: number
                    description: Bid Price
                  asize:
                    type: integer
                    description: Ask Size
                  bsize:
                    type: integer
                    description: Bid Size
                  timestamp:
                    type: integer
                    format: int64
                    description: Last Update Time
              example:
                symbol: AAPL
                ask: 118.55
                bid: 118.53
                asize: 3
                bsize: 1
                timestamp: 1604710766331
        '401':
          $ref: '#/components/responses/Unauthorized'
  /last/trade/stock/{symbol}:
    get:
      operationId: stockLastTrade
      summary: Stock Last Trade
      description: You can get the last trade for a symbol with this endpoint.
      tags:
      - US Stocks
      parameters:
      - name: symbol
        in: path
        required: true
        description: Symbol Name
        schema:
          type: string
      responses:
        '200':
          description: Stock Last Trade response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol Name
                  price:
                    type: number
                    description: Trade Price
                  size:
                    type: integer
                    description: Trade Size
                  timestamp:
                    type: integer
                    format: int64
                    description: Last Update Time
              example:
                symbol: AAPL
                price: 131.99
                size: 5
                timestamp: 1608847193770
        '401':
          $ref: '#/components/responses/Unauthorized'
  /agg/stock/{symbol}/{multiply}/{time}/{from}/{to}:
    get:
      operationId: stockMarketAggregatesApi
      summary: Stock Market Aggregates API
      description: With the Stock Market Aggregates endpoint, you can get the OHLCV bars of the stock market.
      tags:
      - US Stocks
      parameters:
      - name: symbol
        in: path
        required: true
        description: Symbol Name
        schema:
          type: string
      - name: multiply
        in: path
        required: true
        description: Time Multiplier
        schema:
          type: string
      - name: time
        in: path
        required: true
        description: Size of the time. [minute, hour, day, week, month, quarter, year]
        schema:
          type: string
      - name: from
        in: path
        required: true
        description: Start date
        schema:
          type: string
      - name: to
        in: path
        required: true
        description: End date
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Limit of the results. Default is 100, maximum allowed limit is 50000. Please set a limit if
          you are using the API in the production.
        schema:
          type: string
      - name: sort
        in: query
        required: false
        description: You can sort the results by timestamp. asc will return ascending results oldest to newest,
          desc will return descending results newest to oldest. Default is asc.
        schema:
          type: string
      - name: dbt_filter
        in: query
        required: false
        description: Daily-based time filter. You can allow the time filters to filter daily based. Otherwise, the
          filter will only trim the start and end of the output. Default is false.
        schema:
          type: string
      - name: st
        in: query
        required: false
        description: Start time in UTC. (Eg. 17:30)
        schema:
          type: string
      - name: et
        in: query
        required: false
        description: End time in UTC. (Eg. 17:45)
        schema:
          type: string
      - name: date_format
        in: query
        required: false
        description: 'Choose date format: ''dt'' for datetime or ''ts'' for timestamp. [Default: timestamp]'
        schema:
          type: string
      responses:
        '200':
          description: Stock Market Aggregates API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol Name
                  totalResults:
                    type: integer
                    description: Result Count
                  o:
                    type: number
                    description: Open Price
                  h:
                    type: number
                    description: Highest Price
                  l:
                    type: number
                    description: Lowest Price
                  c:
                    type: number
                    description: Close Price
                  v:
                    type: integer
                    description: Volume
                  t:
                    type: integer
                    format: int64
                    description: Timestamp
              example:
                symbol: AAPL
                totalResults: 3
                results:
                - o: 80.88
                  h: 81.19
                  l: 79.7375
                  c: 80.3625
                  v: 118746872
                  t: 1580878800000
                - o: 80.6425
                  h: 81.305
                  l: 80.0662
                  c: 81.3025
                  v: 105392140
                  t: 1580965200000
                - o: 80.5925
                  h: 80.85
                  l: 79.5
                  c: 80.0075
                  v: 117684048
                  t: 1581051600000
        '401':
          $ref: '#/components/responses/Unauthorized'
  /agg/stock/prev-close/{symbol}:
    get:
      operationId: stockMarketPreviousClose
      summary: Stock Market Previous Close
      description: With the Stock Market Previous Close API, you can get the historiacal end of day data and also
        previous day's last tick bar of the stock market.
      tags:
      - US Stocks
      parameters:
      - name: symbol
        in: path
        required: true
        description: Symbol of the stock
        schema:
          type: string
      responses:
        '200':
          description: Stock Market Previous Close response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol of the stock
                  totalResults:
                    type: integer
                    description: Total result size
                  o:
                    type: number
                    description: Open price
                  h:
                    type: number
                    description: High price
                  l:
                    type: number
                    description: Low price
                  c:
                    type: number
                    description: Close price
                  v:
                    type: integer
                    description: Volume
                  t:
                    type: integer
                    format: int64
                    description: Timestamp [ms]
              example:
                symbol: AAPL
                totalResults: 1
                results:
                - o: 124.81
                  h: 125.71
                  l: 121.84
                  c: 122.06
                  v: 112966340
                  t: 1614805200000
        '401':
          $ref: '#/components/responses/Unauthorized'
  /snapshot/stock:
    get:
      operationId: stockSnapshotApi
      summary: Stock Snapshot API
      description: Stock Snapshot API will give you access to all U.S Market with one single API request. You can
        get the latest trades, quotes or both of them with one request.
      tags:
      - US Stocks
      parameters:
      - name: quotes
        in: query
        required: true
        description: Enable or disable last quotes. Default is true.
        schema:
          type: string
      - name: trades
        in: query
        required: true
        description: Enable or disable last trades. Default is false.
        schema:
          type: string
      - name: symbols
        in: query
        required: true
        description: You can get the data from specific symbols by using this query. If you leave it empty, you
          will get the all available last data. (Separate symbols with commas.)
        schema:
          type: string
      responses:
        '200':
          description: Stock Snapshot API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  s:
                    type: string
                    description: Stock symbol
                  p:
                    type: number
                    description: Last trade price
                  a:
                    type: number
                    description: Last ask price
                  b:
                    type: number
                    description: Last bid price
                  asz:
                    type: integer
                    description: Ask size
                  bsz:
                    type: integer
                    description: Bid size
                  sz:
                    type: integer
                    description: Trade size
                  t:
                    type: integer
                    format: int64
                    description: Timestamp (microseconds)
                  totalResults:
                    type: integer
                    description: Total incoming symbol number.
              example:
                totalResults: 1
                lastQuotes:
                - s: AAPL
                  a: 215.604252
                  b: 215.407484
                  asz: 1
                  bsz: 5
                  t: 1726494971049
                lastTrades:
                - s: AAPL
                  p: 215.505522
                  sz: 1
                  t: 1726494971049
        '401':
          $ref: '#/components/responses/Unauthorized'
  /last/forex/{symbol}:
    get:
      operationId: forexLastQuote
      summary: Forex Last Quote
      description: You can get the last quote for a symbol with this endpoint.
      tags:
      - Forex
      parameters:
      - name: symbol
        in: path
        required: true
        description: Forex symbol that you want to get prices
        schema:
          type: string
      responses:
        '200':
          description: Forex Last Quote response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol of the currency
                  ask:
                    type: number
                    description: Ask price
                  bid:
                    type: number
                    description: Bid price
                  timestamp:
                    type: integer
                    format: int64
                    description: Last update (Defult is ms)
              example:
                symbol: GBPUSD
                ask: 1.36305
                bid: 1.36292
                timestamp: 1609875979000
        '401':
          $ref: '#/components/responses/Unauthorized'
  /last/trade/forex/{symbol}:
    get:
      operationId: forexLastTrade
      summary: Forex Last Trade
      description: You can get the last trade price for a symbol with this endpoint.
      tags:
      - Forex
      parameters:
      - name: symbol
        in: path
        required: true
        description: Forex symbol that you want to get the last trade price
        schema:
          type: string
      responses:
        '200':
          description: Forex Last Trade response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol of the currency
                  price:
                    type: number
                    description: Last Price
                  timestamp:
                    type: integer
                    format: int64
                    description: Last update (Defult is ms)
              example:
                symbol: GBPUSD
                price: 1.37
                timestamp: 1618001940
        '401':
          $ref: '#/components/responses/Unauthorized'
  /agg/forex/{symbol}/{multiply}/{time}/{from}/{to}:
    get:
      operationId: forexAggregates
      summary: Forex Aggregates
      description: With the Forex Aggregates API, you can get the tick bars of the forex symbol.
      tags:
      - Forex
      parameters:
      - name: symbol
        in: path
        required: true
        description: Symbol Name
        schema:
          type: string
      - name: multiply
        in: path
        required: true
        description: Time Multiplier
        schema:
          type: string
      - name: time
        in: path
        required: true
        description: Size of the time. [minute, hour, day, week, month, quarter, year]
        schema:
          type: string
      - name: from
        in: path
        required: true
        description: Start date
        schema:
          type: string
      - name: to
        in: path
        required: true
        description: End date
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Limit of the results. Default is 100, maximum allowed limit is 50000. Please set a limit if
          you are using the API in the production.
        schema:
          type: string
      - name: sort
        in: query
        required: false
        description: You can sort the results by timestamp. asc will return ascending results oldest to newest,
          desc will return descending results newest to oldest. Default is asc.
        schema:
          type: string
      - name: dbt_filter
        in: query
        required: false
        description: Daily-based time filter. You can allow the time filters to filter daily based. Otherwise, the
          filter will only trim the start and end of the output. Default is false.
        schema:
          type: string
      - name: st
        in: query
        required: false
        description: Start time in UTC. (Eg. 17:30)
        schema:
          type: string
      - name: et
        in: query
        required: false
        description: End time in UTC. (Eg. 17:45)
        schema:
          type: string
      - name: date_format
        in: query
        required: false
        description: You can change the format of the date in the results. ts is timestamp, dt is datetime. [Default
          is dt]
        schema:
          type: string
      responses:
        '200':
          description: Forex Aggregates response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol Name
                  totalResults:
                    type: integer
                    description: Result Count
                  o:
                    type: number
                    description: Open Price
                  h:
                    type: number
                    description: Highest Price
                  c:
                    type: number
                    description: Close Price
                  l:
                    type: number
                    description: Lowest Price
                  v:
                    type: integer
                    description: Volume
                  t:
                    type: integer
                    format: int64
                    description: Timestamp
              example:
                symbol: GBPUSD
                totalResults: 4
                results:
                - v: 254
                  o: 1.3642
                  c: 1.3667
                  h: 1.3677
                  l: 1.3642
                  t: 1609477200000
                - v: 300
                  o: 1.367
                  c: 1.3685
                  h: 1.369
                  l: 1.366
                  t: 1609480800000
                - v: 275
                  o: 1.3685
                  c: 1.37
                  h: 1.371
                  l: 1.368
                  t: 1609484400000
                - v: 320
                  o: 1.37
                  c: 1.372
                  h: 1.373
                  l: 1.3695
                  t: 1609488000000
        '401':
          $ref: '#/components/responses/Unauthorized'
  /agg/forex/prev-close/{symbol}:
    get:
      operationId: forexPreviousClose
      summary: Forex Previous Close
      description: With the Forex Previous Close API, you can get the previous day's last tick bar of the forex
        market.
      tags:
      - Forex
      parameters:
      - name: symbol
        in: path
        required: true
        description: Symbol of the currency
        schema:
          type: string
      responses:
        '200':
          description: Forex Previous Close response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol of the currency
                  totalResults:
                    type: integer
                    description: Total result size
                  o:
                    type: number
                    description: Open price
                  h:
                    type: number
                    description: Highest price
                  l:
                    type: number
                    description: Lowest price
                  c:
                    type: number
                    description: Close price
                  v:
                    type: integer
                    description: Volume
                  t:
                    type: integer
                    format: int64
                    description: Timestamp [ms]
              example:
                symbol: GBPUSD
                totalResults: 1
                results:
                - o: 1.40456
                  h: 1.41105
                  l: 1.4034
                  c: 1.40948
                  v: 103566
                  t: 1621036799999
        '401':
          $ref: '#/components/responses/Unauthorized'
  /convert/forex/{from}/{to}/{amount}:
    get:
      operationId: forexCurrencyConverterApi
      summary: Forex Currency Converter API
      description: With this endpoint, you can convert the currencies with the real-time prices.
      tags:
      - Forex
      parameters:
      - name: from
        in: path
        required: true
        description: '"From" symbol of the currency.'
        schema:
          type: string
      - name: to
        in: path
        required: true
        description: '"To" symbol of the currency.'
        schema:
          type: string
      - name: amount
        in: path
        required: true
        description: The amount to convert.
        schema:
          type: string
      responses:
        '200':
          description: Forex Currency Converter API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  from:
                    type: string
                    description: '"From" symbol of the currency.'
                  to:
                    type: string
                    description: '"To" symbol of the currency.'
                  amount:
                    type: integer
                    description: The amount to convert.
                  value:
                    type: number
                    description: Converted amount.
                  timestamp:
                    type: integer
                    format: int64
                    description: Timestamp [ms]
              example:
                from: GBP
                to: USD
                amount: 3
                value: 4.2285
                timestamp: 1621027210000
        '401':
          $ref: '#/components/responses/Unauthorized'
  /last/crypto/{symbol}:
    get:
      operationId: cryptoLastTradeApi
      summary: Crypto Last Trade API
      description: You can get the prices in Real-Time with this endpoint.
      tags:
      - Crypto
      parameters:
      - name: symbol
        in: path
        required: true
        description: Crypto symbol that you want to get price
        schema:
          type: string
      responses:
        '200':
          description: Crypto Last Trade API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol name
                  price:
                    type: number
                    description: Latest price
                  timestamp:
                    type: integer
                    format: int64
                    description: Timestamp [ms]
              example:
                symbol: BTCUSD
                price: 56385.08
                timestamp: 1620757059440
        '401':
          $ref: '#/components/responses/Unauthorized'
  /last/quote/crypto/{symbol}:
    get:
      operationId: cryptoLastQuoteApi
      summary: Crypto Last Quote API
      description: You can get the last quote prices in Real-Time with this endpoint.
      tags:
      - Crypto
      parameters:
      - name: symbol
        in: path
        required: true
        description: 'Symbol Name (eg: BTCUSD)'
        schema:
          type: string
      responses:
        '200':
          description: Crypto Last Quote API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol name
                  ask:
                    type: number
                    description: Ask price
                  asize:
                    type: number
                    description: Ask size
                  bid:
                    type: number
                    description: Bid price
                  bsize:
                    type: number
                    description: Bid size
                  timestamp:
                    type: integer
                    format: int64
                    description: Timestamp [ms]
              example:
                symbol: BTCUSD
                ask: 56385.07
                asize: 0.075349
                bid: 56385.06
                bsize: 0.36976
                timestamp: 1620757064667
        '401':
          $ref: '#/components/responses/Unauthorized'
  /agg/crypto/{symbol}/{multiply}/{time}/{from}/{to}:
    get:
      operationId: cryptoAggregatesApi
      summary: Crypto Aggregates API
      description: With the Crypto Market Aggregates API, you can get the tick bars of the crypto market.
      tags:
      - Crypto
      parameters:
      - name: symbol
        in: path
        required: true
        description: Symbol of the crypto
        schema:
          type: string
      - name: multiply
        in: path
        required: true
        description: Time multiplier [1, 3, 5, 15, 30]
        schema:
          type: string
      - name: time
        in: path
        required: true
        description: Size of the time. [minute, hour, day, week, month]
        schema:
          type: string
      - name: from
        in: path
        required: true
        description: Start date
        schema:
          type: string
      - name: to
        in: path
        required: true
        description: End date
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Limit of the results. Default is 100, maximum allowed limit is 50000. Please set a limit if
          you are using the API in the production.
        schema:
          type: string
      - name: sort
        in: query
        required: false
        description: You can sort the results by timestamp. asc will return ascending results oldest to newest,
          desc will return descending results newest to oldest. Default is asc.
        schema:
          type: string
      responses:
        '200':
          description: Crypto Aggregates API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol Name
                  totalResults:
                    type: integer
                    description: Result Count
                  o:
                    type: number
                    description: Open Price
                  h:
                    type: number
                    description: Highest Price
                  l:
                    type: number
                    description: Lowest Price
                  c:
                    type: number
                    description: Close Price
                  v:
                    type: integer
                    description: Volume
                  t:
                    type: integer
                    format: int64
                    description: Timestamp
              example:
                symbol: BTCUSD
                totalResults: 3
                results:
                - o: 9164.33
                  h: 9775
                  l: 9142.52
                  c: 9613.82
                  v: 54480.149862462065
                  t: 1580860800000
                - o: 9613.91
                  h: 9863.39
                  l: 9520
                  c: 9763.01
                  v: 61112.15618754777
                  t: 1580947200000
                - o: 9763.01
                  h: 9885
                  l: 9683.9
                  c: 9805.2
                  v: 45132.69009042265
                  t: 1581033600000
        '401':
          $ref: '#/components/responses/Unauthorized'
  /agg/crypto/prev-close/{symbol}:
    get:
      operationId: cryptoPreviousCloseApi
      summary: Crypto Previous Close API
      description: With the Crypto Previous Close endpoint, you can get the previous day's last tick bar of the
        crypto market.
      tags:
      - Crypto
      parameters:
      - name: symbol
        in: path
        required: true
        description: Symbol of the crypto
        schema:
          type: string
      responses:
        '200':
          description: Crypto Previous Close API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  symbol:
                    type: string
                    description: Symbol Name
                  totalResults:
                    type: integer
                    description: Result Count
                  o:
                    type: number
                    description: Open Price
                  h:
                    type: number
                    description: Highest Price
                  l:
                    type: number
                    description: Lowest Price
                  c:
                    type: number
                    description: Close Price
                  v:
                    type: integer
                    description: Volume
                  t:
                    type: integer
                    format: int64
                    description: Timestamp
              example:
                symbol: BTCUSD
                totalResults: 1
                results:
                - o: 55816.14
                  h: 56850
                  l: 54370
                  c: 56672.24
                  v: 57725.397404
                  t: 1620691200000
        '401':
          $ref: '#/components/responses/Unauthorized'
  /convert/crypto/{from}/{to}/{amount}:
    get:
      operationId: cryptoConverterApi
      summary: Crypto Converter API
      description: You can convert crypto by using this API. (eg. BTC to ETH, USD to DOGE, SHIB to BTC etc.)
      tags:
      - Crypto
      parameters:
      - name: from
        in: path
        required: true
        description: '"From" symbol of the crypto.'
        schema:
          type: string
      - name: to
        in: path
        required: true
        description: '"To" symbol of the crypto.'
        schema:
          type: string
      - name: amount
        in: path
        required: true
        description: The amount to convert.
        schema:
          type: string
      responses:
        '200':
          description: Crypto Converter API response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  from:
                    type: string
                    description: '"From" symbol of the crypto.'
                  to:
                    type: string
                    description: '"To" symbol of the crypto.'
                  amount:
                    type: integer
                    description: The amount to convert.
                  value:
                    type: number
                    description: Converted amount.
                  timestamp:
                    type: integer
                    format: int64
                    description: Timestamp [ms]
              example:
                from: BTC
                to

# --- truncated at 32 KB (195 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/finage/refs/heads/main/openapi/finage-openapi.yml