MENU Navbar
Logo

Getting Started

examples => `You'll find code ${examples} here.`

The IEX API is a set of services designed for developers and engineers. It can be used to build high-quality apps and services. We’re always working to improve the IEX API. Please check back for enhancements and improvements.

  1. Read the terms.
  2. Read the manual and start building.
  3. Attribute properly.

Terms

By using the IEX API, you agree to our terms.

Attribution

If you redistribute our API data:

  1. Cite IEX using the following text and link: “Data provided for free by IEX.”
  2. Provide a link to https://iextrading.com/api-exhibit-a in your terms of service.

Additionally, if you display our TOPS price data, cite “IEX Real-Time Price” near the price.

Support

If you find any issues with our API or have any questions, please file an issue at Github or, for community support, tag your question with the “iex-api” tag on Stack Overflow.

Authentication

The IEX API is currently open and does not require authentication to access its data.

Endpoints

SSL

We provide a valid, signed certificate for our API methods. Be sure your connection library supports HTTPS.

HTTP methods

The IEX API only supports GET requests at this time.

Parameters

Filter results

All HTTP request endpoints support a filter parameter to return a subset of data. Pass a comma-delimited list of field names to filter. Field names are case-sensitive and are found in the Reference section of each endpoint.

Example: ?filter=symbol,volume,lastSalePrice will return only the three fields specified.

WebSockets

WebSockets example that shows a connection to the tops channel and a subscribtion to snap,fb,aig+ topics

// Import socket.io with a connection to a channel (i.e. tops)
const socket = require('socket.io-client')('https://ws-api.iextrading.com/1.0/tops')

// Listen to the channel's messages
socket.on('message', message => console.log(message))

// Connect to the channel
socket.on('connect', () => {

  // Subscribe to topics (i.e. appl,fb,aig+)
  socket.emit('subscribe', 'snap,fb,aig+')

  // Unsubscribe from topics (i.e. aig+)
  socket.emit('unsubscribe', 'aig+')
})

// Disconnect from the channel
socket.on('disconnect', () => console.log('Disconnected.'))

WebSocket support is limited at this time to Node.js server clients and socket.io browser clients. We use socket.io for our WebSocket server. The WebSocket examples in our documentation assume a socket.io browser client is being used. We’re planning to rewrite our WebSocket server for broader support.

Uptime

The IEX API cannot guarantee 100% uptime, but we strive to be highly available. If we do have downtime, we’ll tweet information from @IEXstatus.

Usage

To provide the best experience for all our users, we monitor for suspicious activity and overload. We reserve the right to revoke access to anyone who abuses the IEX API. We throttle endpoints by IP, but you should be able to achieve over 100 requests per second.

Roadmap

We are always working to improve the IEX API. Below is a list of planned enhancements for future releases. We may add or remove items at any time. If you have suggestions or if any listed items are critical for your project, please create an issue at Github.

Stocks

We built the IEX Stocks app using the stocks endpoints, and is an example of how this data can be used. The data provided here is sourced from IEX and multiple third-party sources. IEX does not make any guarantees, representations or warranties as to the completeness or accuracy of the data provided.

Quote

HTTP request example

GET /stock/{symbol}/quote

The above example will return JSON with the following keys

{
  "symbol": "AAPL",
  "companyName": "Apple Inc.",
  "primaryExchange": "Nasdaq Global Select",
  "sector": "Technology",
  "calculationPrice": "tops",
  "open": 154,
  "openTime": 1506605400394,
  "close": 153.28,
  "closeTime": 1506605400394,
  "latestPrice": 158.73,
  "latestSource": "Previous close",
  "latestTime": "September 19, 2017",
  "latestUpdate": 1505779200000,
  "latestVolume": 20567140,
  "iexRealtimePrice": 158.71,
  "iexRealtimeSize": 100,
  "iexLastUpdated": 1505851198059,
  "delayedPrice": 158.71,
  "delayedPriceTime": 1505854782437,
  "previousClose": 158.73,
  "change": -1.67,
  "changePercent": -0.01158,
  "iexMarketPercent": 0.00948,
  "iexVolume": 82451,
  "avgTotalVolume": 29623234,
  "iexBidPrice": 153.01,
  "iexBidSize": 100,
  "iexAskPrice": 158.66,
  "iexAskSize": 100,
  "marketCap": 751627174400,
  "peRatio": 16.86,
  "week52High": 159.65,
  "week52Low": 93.63,
  "ytdChange": 0.3665,
}

HTTP request

Parameters

Parameter Details
displayPercent • Optional
• If set to true, all percentage values will be multiplied by a factor of 100 (Ex: /stock/aapl/quote?displayPercent=true)

Response

Key Type Description
symbol string refers to the stock ticker.
companyName string refers to the company name.
primaryExchange string refers to the primary listings exchange.
sector string refers to the sector of the stock.
calculationPrice string refers to the source of the latest price.
("tops", "sip", "previousclose" or "close")
open number refers to the official open price
openTime number refers to the official listing exchange time for the open
close number refers to the official close price
closeTime number refers to the official listing exchange time for the close
latestPrice number refers to the latest price being the IEX real time price, the 15 minute delayed market price, or the previous close price.
latestSource string refers to the source of latestPrice.
("IEX real time price", "15 minute delayed price", "Close" or "Previous close")
latestTime string refers to a human readable time of the latestPrice. The format will vary based on latestSource.
latestUpdate number refers to the update time of latestPrice in milliseconds since midnight Jan 1, 1970.
latestVolume number refers to the total market volume of the stock.
iexRealtimePrice number refers to last sale price of the stock on IEX. (Refer to the attribution section above.)
iexRealtimeSize number refers to last sale size of the stock on IEX.
iexLastUpdated number refers to the last update time of the data in milliseconds since midnight Jan 1, 1970 UTC or -1 or 0. If the value is -1 or 0, IEX has not quoted the symbol in the trading day.
delayedPrice number refers to the 15 minute delayed market price.
delayedPriceTime number refers to the time of the delayed market price.
previousClose number refers to the adjusted close price of the last trading day of the stock.
change number is calculated using calculationPrice from previousClose.
changePercent number is calculated using calculationPrice from previousClose.
iexMarketPercent number refers to IEX’s percentage of the market in the stock.
iexVolume number refers to shares traded in the stock on IEX.
avgTotalVolume number refers to the 30 day average volume on all markets.
iexBidPrice number refers to the best bid price on IEX.
iexBidSize number refers to amount of shares on the bid on IEX.
iexAskPrice number refers to the best ask price on IEX.
iexAskSize number refers to amount of shares on the ask on IEX.
marketCap number is calculated in real time using calculationPrice.
peRatio number is calculated in real time using calculationPrice.
week52High number refers to the adjusted 52 week high.
week52Low number refers to the adjusted 52 week low.
ytdChange number refers to the price change percentage from start of year to previous close.

Chart

HTTP request example

GET /stock/{symbol}/chart/{range}

The above example will return JSON with the following keys

// .../1d

[
    {
        "minute": "09:30",
        "high": 143.98,
        "low": 143.775,
        "average": 143.889,
        "volume": 3070,
        "notional": 441740.275,
        "numberOfTrades": 20
    } // , { ... }
]


// .../3m

[
    {
        "date": "2017-04-03",
        "open": 143.1192,
        "high": 143.5275,
        "low": 142.4619,
        "close": 143.1092,
        "volume": 19985714,
        "unadjustedClose": 143.7,
        "unadjustedVolume": 19985714,
        "change": 0.039835,
        "changePercent": 0.028,
        "vwap": 143.0507
    } // , { ... }
]

// .../dynamic
{
  "range": "1m",
  "data": [
      {
          "date": "2017-04-03",
          "open": 143.1192,
          "high": 143.5275,
          "low": 142.4619,
          "close": 143.1092,
          "volume": 19985714,
          "unadjustedClose": 143.7,
          "unadjustedVolume": 19985714,
          "change": 0.039835,
          "changePercent": 0.028,
          "vwap": 143.0507
      } // , { ... }
  ]
}

HTTP request

Options

Range Description Source
5y Five years Historically adjusted market-wide data
2y Two years Historically adjusted market-wide data
1y One year Historically adjusted market-wide data
ytd Year-to-date Historically adjusted market-wide data
6m Six months Historically adjusted market-wide data
3m Three months Historically adjusted market-wide data
1m One month (default) Historically adjusted market-wide data
1d One day IEX-only data by minute
date Specific date IEX-only data by minute for a specified date in the format YYYYMMDD if available
dynamic One day Will return 1d or 1m data depending on the day or week and time of day. Intraday per minute data is only returned during market hours.

Response

Key Type Availability
minute string is only available on 1d chart.
average number is only available on 1d chart.
notional number is only available on 1d chart.
numberOfTrades number is only available on 1d chart.
high number is available on all charts.
low number is available on all charts.
volume number is available on all charts.
label number is available on all charts. A variable formatted version of the date depending on the range
changeOverTime number is available on all charts. Percent change of each interval relative to first value. Useful for comparing multiple stocks.
date string is not available on 1d chart.
open number is not available on 1d chart.
close number is not available on 1d chart.
unadjustedVolume number is not available on 1d chart.
change number is not available on 1d chart.
changePercent number is not available on 1d chart.
vwap number is not available on 1d chart.

Batch Requests

HTTP request example

GET /stock/{symbol}/batch

The above example will return JSON with the following keys

// .../symbol
{
  "quote": {...},
  "news": [...],
  "chart": [...]
}

// .../market
{
  "AAPL" : {
    "quote": {...},
    "news": [...],
    "chart": [...]
  },
  "FB" : {
    "quote": {...},
    "news": [...],
    "chart": [...]
  },
}

Options

Option Description
symbol Use market to query multiple symbols (i.e. .../market/batch?...)

Parameters

Parameter Details
types • Required
• Comma delimited list of endpoints to call. The names should match the individual endpoint names.
symbols • Optional
• Comma delimited list of symbols limited to 100. This parameter is used only if market option is used .
range • Optional
• Used to specify a chart range if chart is used in types parameter.
* • Optional
• Parameters that are sent to individual endpoints can be specified in batch calls and will be applied to each supporting endpoint.

HTTP request

Response

Responses will vary based on types requested. Refer to each endpoint for details.

Book

HTTP request example

GET /stock/{symbol}/book

The above example will return JSON with the following keys

{
  "quote": {...},
  "bids": [...],
  "asks": [...],
  "trades": [...],
  "systemEvent": {...},
}

HTTP request

Response

Response includes data from deep and quote. Refer to each endpoint for details.

Open / Close

HTTP request example

GET /stock/{symbol}/open-close

The above example will return JSON with the following keys

{
  "open": {
    "price": 154,
    "time": 1506605400394
  },
  "close": {
    "price": 153.28,
    "time": 1506605400394
  },
}

Returns the official open and close for a give symbol.

HTTP request

Response

Key Type Description
price number refers to the official open or close price
time number refers to the official listing exchange time for the open or close

Previous

HTTP request example

GET /stock/{symbol}/previous

The above example will return JSON with the following keys

{
  "symbol": "AAPL",
  "date": "2017-09-19",
  "open": 159.51,
  "high": 159.77,
  "low": 158.44,
  "close": 158.73,
  "volume": 20810632,
  "unadjustedVolume": 20810632,
  "change": 0.06,
  "changePercent": 0.038,
  "vwap": 158.9944
}

This returns previous day adjusted price data for a single stock, or an object keyed by symbol of price data for the whole market.

HTTP request

Response

Key Type Description
symbol string refers to the stock ticker.
date string refers to the date of the returned data in the format YYYY-MM-DD
open number
high number
low number
close number
volume number adjusted for splits
unadjustedVolume number
change number
changePercent number
vwap number Volume weighted average price

Company

HTTP request example

GET /stock/{symbol}/company

The above example will return JSON with the following keys

{
  "symbol": "AAPL",
  "companyName": "Apple Inc.",
  "exchange": "Nasdaq Global Select",
  "industry": "Computer Hardware",
  "website": "http://www.apple.com",
  "description": "Apple Inc is an American multinational technology company. It designs, manufactures, and markets mobile communication and media devices, personal computers, and portable digital music players.",
  "CEO": "Timothy D. Cook",
  "issueType": "cs",
  "sector": "Technology",
}

HTTP request

Response

Key Type Description
symbol string
companyName string
exchange string
industry string
website string
description string
CEO string
issueType string refers to the common issue type of the stock.
ad – American Depository Receipt (ADR’s)
re – Real Estate Investment Trust (REIT’s)
ce – Closed end fund (Stock and Bond Fund)
si – Secondary Issue
lp – Limited Partnerships
cs – Common Stock
et – Exchange Traded Fund (ETF)
(blank) = Not Available, i.e., Warrant, Note, or (non-filing) Closed Ended Funds
sector string

Key Stats

HTTP request example

GET /stock/{symbol}/stats

The above example will return JSON with the following keys

{
  "companyName": "Apple Inc.",
  "marketcap": 760334287200,
  "beta": 1.295227,
  "week52high": 156.65,
  "week52low": 93.63,
  "week52change": 58.801903,
  "shortInterest": 55544287,
  "shortDate": "2017-06-15",
  "dividendRate": 2.52,
  "dividendYield": 1.7280395,
  "exDividendDate": "2017-05-11 00:00:00.0",
  "latestEPS": 8.29,
  "latestEPSDate": "2016-09-30",
  "sharesOutstanding": 5213840000,
  "float": 5203997571,
  "returnOnEquity": 0.08772939519857577,
  "consensusEPS": 3.22,
  "numberOfEstimates": 15,
  "symbol": "AAPL",
  "EBITDA": 73828000000,
  "revenue": 220457000000,
  "grossProfit": 84686000000,
  "cash": 256464000000,
  "debt": 358038000000,
  "ttmEPS": 8.55,
  "revenuePerShare": 42.2830389885382,
  "revenuePerEmployee": 1900491.3793103448,
  "peRatioHigh": 25.5,
  "peRatioLow": 8.7,
  "EPSSurpriseDollar": null,
  "EPSSurprisePercent": 3.9604,
  "returnOnAssets": 14.15,
  "returnOnCapital": null,
  "profitMargin": 20.73,
  "priceToSales": 3.6668503,
  "priceToBook": 6.19,
  "day200MovingAvg": 140.60541,
  "day50MovingAvg": 156.49678,
  "institutionPercent": 32.1,
  "insiderPercent": null,
  "shortRatio": 1.6915414,
  "year5ChangePercent": 0.5902546932200027,
  "year2ChangePercent": 0.3777449874142869,
  "year1ChangePercent": 0.39751716851558366,
  "ytdChangePercent": 0.36659492036160124,
  "month6ChangePercent": 0.12208398133748043,
  "month3ChangePercent": 0.08466584665846649,
  "month1ChangePercent": 0.009668596145283263,
  "day5ChangePercent": -0.005762605699968781
}

HTTP request

Response

Key Type Description
companyName string
marketcap number is not calculated in real time.
beta number
week52high number
week52low number
week52change number
shortInterest number
shortDate string
dividendRate number
dividendYield number
exDividendDate string
latestEPS number (Most recent quarter)
latestEPSDate string
sharesOutstanding number
float number
returnOnEquity number (Trailing twelve months)
consensusEPS number (Most recent quarter)
numberOfEstimates number (Most recent quarter)
symbol string
EBITDA number (Trailing twelve months)
revenue number (Trailing twelve months)
grossProfit number (Trailing twelve months)
cash number reers to total cash. (Trailing twelve months)
debt number refers to total debt. (Trailing twelve months)
ttmEPS number (Trailing twelve months)
revenuePerShare number (Trailing twelve months)
revenuePerEmployee number (Trailing twelve months)
peRatioHigh number
peRatioLow number
EPSSurpriseDollar number refers to the difference between actual EPS and consensus EPS in dollars.
EPSSurprisePercent number refers to the percent difference between actual EPS and consensus EPS.
returnOnAssets number (Trailing twelve months)
returnOnCapital number (Trailing twelve months)
profitMargin number
priceToSales number
priceToBook number
day200MovingAvg number
day50MovingAvg number
institutionPercent number represents top 15 institutions
insiderPercent number
shortRatio number
year5ChangePercent number
year2ChangePercent number
year1ChangePercent number
ytdChangePercent number
month6ChangePercent number
month3ChangePercent number
month1ChangePercent number
day5ChangePercent number

Peers

HTTP request example

GET /stock/{symbol}/peers

The above example will return an array

[
    "MSFT",
    "NOK",
    "IBM",
    "BBRY",
    "HPQ",
    "GOOGL",
    "XLK"
]

HTTP request

Response

An array of peer tickers as defined by IEX. This is not intended to represent a definitive or accurate list of peers, and is subject to change at any time.

Relevant

HTTP request example

GET /stock/{symbol}/relevant

The above example will return an object

{
  "peers": true,
  "symbols": [
      "MSFT",
      "NOK",
      "IBM",
      "BBRY",
      "HPQ",
      "GOOGL",
      "XLK"
  ]
}

HTTP request

Response

Similar to the peers endpoint, except this will return most active market symbols when peers are not available. If the symbols returned are not peers, the peers key will be false. This is not intended to represent a definitive or accurate list of peers, and is subject to change at any time.

News

HTTP request example

GET /stock/{symbol}/news/last/{range}

The above example will return JSON with the following keys

[
  {
    "datetime": "2017-06-29T13:14:22-04:00",
    "headline": "Voice Search Technology Creates A New Paradigm For Marketers",
    "source": "Benzinga via QuoteMedia",
    "url": "https://api.iextrading.com/1.0/stock/aapl/article/8348646549980454",
    "summary": "<p>Voice search is likely to grow by leap and bounds, with technological advancements leading to better adoption and fueling the growth cycle, according to Lindsay Boyajian, <a href=\"http://loupventures.com/how-the-future-of-voice-search-affects-marketers-today/\">a guest contributor at Loup Ventu...",
    "related": "AAPL,AMZN,GOOG,GOOGL,MSFT"
  }
]

Options

Option Description
symbol Use market to get market-wide news (i.e. .../market/news/...)
range Number between 1 and 50. Default is 10. (i.e. .../news/last/1)

HTTP request

Response

Key Type
datetime string  
headline string  
source string  
url string  
summary string  
related string  

Financials

HTTP request example

GET /stock/{symbol}/financials

The above example will return JSON with the following keys

{
  "symbol": "AAPL",
  "financials": [
    {
      "reportDate": "2017-03-31",
      "grossProfit": 20591000000,
      "costOfRevenue": 32305000000,
      "operatingRevenue": 52896000000,
      "totalRevenue": 52896000000,
      "operatingIncome": 14097000000,
      "netIncome": 11029000000,
      "researchAndDevelopment": 2776000000,
      "operatingExpense": 6494000000,
      "currentAssets": 101990000000,
      "totalAssets": 334532000000,
      "totalLiabilities": 200450000000,
      "currentCash": 15157000000,
      "currentDebt": 13991000000,
      "totalCash": 67101000000,
      "totalDebt": 98522000000,
      "shareholderEquity": 134082000000,
      "cashChange": -1214000000,
      "cashFlow": 12523000000,
      "operatingGainsLosses": null 
    } // , { ... }
  ]
}

Pulls income statement, balance sheet, and cash flow data from the four most recent reported quarters.

HTTP request

Response

Key Type
reportDate string
grossProfit number
costOfRevenue number
operatingRevenue number
totalRevenue number
operatingIncome number
netIncome number
researchAndDevelopment number
operatingExpense number
currentAssets number
totalAssets number
totalLiabilities number
currentCash number
currentDebt number
totalCash number
totalDebt number
shareholderEquity number
cashChange number
cashFlow number
operatingGainsLosses string

Earnings

HTTP request example

GET /stock/{symbol}/earnings

The above example will return JSON with the following keys

{
  "symbol": "AAPL",
  "earnings": [
    {
      "actualEPS": 2.1,
      "consensusEPS": 2.02,
      "estimatedEPS": 2.02,
      "announceTime": "AMC",
      "numberOfEstimates": 14,
      "EPSSurpriseDollar": 0.08,
      "EPSReportDate": "2017-05-02",
      "fiscalPeriod": "Q2 2017",
      "fiscalEndDate": "2017-03-31"
    },
    {
      "actualEPS": 3.36,
      "consensusEPS": 3.22,
      "estimatedEPS": 3.22,
      "announceTime": "AMC",
      "numberOfEstimates": 15,
      "EPSSurpriseDollar": 0.14,
      "EPSReportDate": "2017-01-31",
      "fiscalPeriod": "Q1 2017",
      "fiscalEndDate": "2016-12-31"
    },
    {
      "actualEPS": 1.67,
      "consensusEPS": 1.66,
      "estimatedEPS": 1.66,
      "announceTime": "AMC",
      "numberOfEstimates": 14,
      "EPSSurpriseDollar": 0.01,
      "EPSReportDate": "2016-10-25",
      "fiscalPeriod": "Q4 2016",
      "fiscalEndDate": "2016-09-30"
    },
    {
      "actualEPS": 1.42,
      "consensusEPS": 1.39,
      "estimatedEPS": 1.39,
      "announceTime": "AMC",
      "numberOfEstimates": 14,
      "EPSSurpriseDollar": 0.03,
      "EPSReportDate": "2016-07-26",
      "fiscalPeriod": "Q3 2016",
      "fiscalEndDate": "2016-06-30"
    }
  ]
}

Pulls data from the four most recent reported quarters.

HTTP request

Response

Key Type
actualEPS number
consensusEPS number
estimatedEPS number
announceTime string
numberOfEstimates number
EPSSurpriseDollar number
EPSReportDate string
fiscalPeriod string
fiscalEndDate string

Dividends

HTTP request example

GET /stock/{symbol}/dividends/{range}

The above example will return JSON with the following keys


[
    {
        "exDate": "2017-08-10",
        "paymentDate": "2017-08-17",
        "recordDate": "2017-08-14",
        "declaredDate": "2017-08-01",
        "amount": 0.63,
        "type": "Dividend income",
        "qualified": "Q"
    } // , { ... }
]

HTTP request

Options

Range Description Source
5y Five years Historical market data
2y Two years Historical market data
1y One year Historical market data
ytd Year-to-date Historical market data
6m Six months Historical market data
3m Three months Historical market data
1m One month (default) Historical market data

Response

Key Type Description
exDate string refers to the dividend ex-date
paymentDate string refers to the payment date
recordDate string refers to the dividend record date
declaredDate string refers to the dividend declaration date
amount number refers to the payment amount
type string refers to the dividend payment type (Dividend income, Interest income, Stock dividend, Short term capital gain, Medium term capital gain, Long term capital gain, Unspecified term capital gain)
qualified string refers to the dividend income type
P = Partially qualified income
Q = Qualified income
N = Unqualified income
null = N/A or unknown

Splits

HTTP request example

GET /stock/{symbol}/splits/{range}

The above example will return JSON with the following keys


[
    {
        "exDate": "2017-08-10",
        "declaredDate": "2017-08-01",
        "recordDate": "2017-08-14",
        "paymentDate": "2017-08-17",
        "ratio": 0.142857,
        "toFactor": 7,
        "forFactor": 1
    } // , { ... }
]

HTTP request

Options

Range Description Source
5y Five years Historical market data
2y Two years Historical market data
1y One year Historical market data
ytd Year-to-date Historical market data
6m Six months Historical market data
3m Three months Historical market data
1m One month (default) Historical market data

Response

Key Type Description
exDate string refers to the split ex-date
declaredDate string refers to the split declaration date
recordDate string refers to the split record date
paymentDate string refers to the split payment date
ratio number refers to the split ratio. The split ratio is an inverse of the number of shares that a holder of the stock would have after the split divided by the number of shares that the holder had before.

For example: Split ratio of .5 = 2 for 1 split.
toFactor string To factor of the split. Used to calculate the split ratio forfactor/tofactor = ratio (eg ½ = 0.5)
forFactor string For factor of the split. Used to calculate the split ratio forfactor/tofactor = ratio (eg ½ = 0.5)

HTTP request example

GET /stock/{symbol}/logo

The above example will return JSON with the following keys

{
  "url": "https://storage.googleapis.com/iex/api/logos/AAPL.png"
}

This is a helper function, but the google APIs url is standardized.

HTTP request

Response

Key Type
url string

Price

HTTP request example

GET /stock/{symbol}/price

The above example will return a number

143.28

HTTP request

Response

A single number, being the IEX real time price, the 15 minute delayed market price, or the previous close price, is returned.

Delayed Quote

HTTP request example

GET /stock/{symbol}/delayed-quote

The above example will return JSON with the following keys

{
  "symbol": "AAPL",
  "delayedPrice": 143.08,
  "delayedSize": 200,
  "delayedPriceTime": 1498762739791,
  "processedTime": 1498763640156
}

This returns the 15 minute delayed market quote.

HTTP request

Response

Key Type Description
symbol string refers to the stock ticker.
delayedPrice number refers to the 15 minute delayed market price.
delayedSize number refers to the 15 minute delayed last trade size.
delayedPriceTime number refers to the time of the delayed market price.
processedTime number refers to when IEX processed the SIP price.

List

HTTP request example

GET /stock/market/list

The above example will return JSON with the following keys

[
  {
      "symbol": "AAPL",
      "companyName": "Apple Inc.",
      "primaryExchange": "Nasdaq Global Select",
      "sector": "Technology",
      "calculationPrice": "tops",
      "latestPrice": 158.73,
      "latestSource": "Previous close",
      "latestTime": "September 19, 2017",
      "latestUpdate": 1505779200000,
      "latestVolume": 20567140,
      "iexRealtimePrice": 158.71,
      "iexRealtimeSize": 100,
      "iexLastUpdated": 1505851198059,
      "delayedPrice": 158.71,
      "delayedPriceTime": 1505854782437,
      "previousClose": 158.73,
      "change": -1.67,
      "changePercent": -0.01158,
      "iexMarketPercent": 0.00948,
      "iexVolume": 82451,
      "avgTotalVolume": 29623234,
      "iexBidPrice": 153.01,
      "iexBidSize": 100,
      "iexAskPrice": 158.66,
      "iexAskSize": 100,
      "marketCap": 751627174400,
      "peRatio": 16.86,
      "week52High": 159.65,
      "week52Low": 93.63,
      "ytdChange": 0.3665,
  } // , { ... }
]

Returns an array of quotes for the top 10 symbols in a specified list.

HTTP request

Parameters

Parameter Details
displayPercent • Optional
• If set to true, all percentage values will be multiplied by a factor of 100 (Ex: /stock/aapl/quote?displayPercent=true)

Response

Refer to the quote section.

Effective Spread

HTTP request example

GET /stock/{symbol}/effective-spread

The above example will return JSON with the following keys

[
  {
    "volume": 4899,
    "venue": "XCHI",
    "venueName": "CHX",
    "effectiveSpread": 0.02253725,
    "effectiveQuoted": 0.9539362,
    "priceImprovement": 0.0008471116999999999
  },
  {
    "volume": 9806133,
    "venue": "XBOS",
    "venueName": "NASDAQ BX",
    "effectiveSpread": 0.0127343,
    "effectiveQuoted": 0.9313967,
    "priceImprovement": 0.0007373158
  },
  {
    "volume": 6102991,
    "venue": "IEXG",
    "venueName": "IEX",
    "effectiveSpread": 0.005881705,
    "effectiveQuoted": 0.4532043,
    "priceImprovement": 0.003949427
  }
]

This returns an array of effective spread, eligible volume, and price improvement of a stock, by market. Unlike volume-by-venue, this will only return a venue if effective spread is not ‘N/A’. Values are sorted in descending order by effectiveSpread. Lower effectiveSpread and higher priceImprovement values are generally considered optimal.

Effective spread is designed to measure marketable orders executed in relation to the market center’s quoted spread and takes into account hidden and midpoint liquidity available at each market center. Effective Spread is calculated by using eligible trade prices recorded to the consolidated tape and comparing those trade prices to the National Best Bid and Offer (“NBBO”) at the time of the execution.

View the data disclaimer at the bottom of the stocks app for more information about how these values are calculated.

HTTP request

Response

Key Type Description
volume string refers to the eligible shares used for calculating effectiveSpread and priceImprovement
venue string refers to the Market Identifier Code (MIC)
venueName string refers to a readable version of the venue defined by IEX
effectiveSpread number is designed to measure marketable orders executed in relation to the market center’s quoted spread and takes into account hidden and midpoint liquidity available at each market center in dollars
effectiveQuoted number a ratio calculated by dividing a market center’s effective spread by the NBBO quoted spread
priceImprovement number the average amount of price improvement in dollars per eligible share executed

Volume by Venue

HTTP request example

GET /stock/{symbol}/delayed-quote

The above example will return JSON with the following keys

[
  {
    "volume": 0,
    "venue": "XNYS",
    "venueName": "NYSE",
    "marketPercent": 0,
    "avgMarketPercent": 0,
    "date": "N/A"
  },
  {
    "volume": 21655,
    "venue": "XASE",
    "venueName": "NYSE American",
    "date": "2017-09-19",
    "marketPercent": 0.0010540470343969304,
    "avgMarketPercent": 0.0021596513337820305
  },
  {
    "volume": 164676,
    "venue": "EDGA",
    "venueName": "EDGA",
    "date": "2017-09-19",
    "marketPercent": 0.008015527565751508,
    "avgMarketPercent": 0.007070162857518009
  },
  {
    "volume": 253600,
    "venue": "XCHI",
    "venueName": "CHX",
    "date": "2017-09-19",
    "marketPercent": 0.01234386182974193,
    "avgMarketPercent": 0.019123040706393757
  },
  {
    "volume": 289791,
    "venue": "IEXG",
    "venueName": "IEX",
    "date": "2017-09-19",
    "marketPercent": 0.014105441890783691,
    "avgMarketPercent": 0.01080806673166022
  },
  {
    "volume": 311580,
    "venue": "XPHL",
    "venueName": "NASDAQ PSX",
    "date": "2017-09-19",
    "marketPercent": 0.0151660113127405,
    "avgMarketPercent": 0.010991446666811688
  },
  {
    "volume": 479457,
    "venue": "XBOS",
    "venueName": "NASDAQ BX",
    "date": "2017-09-19",
    "marketPercent": 0.02333734606191868,
    "avgMarketPercent": 0.016846380315025656
  },
  {
    "volume": 501842,
    "venue": "BATY",
    "venueName": "BATS BYX",
    "date": "2017-09-19",
    "marketPercent": 0.024426925506156744,
    "avgMarketPercent": 0.020187355701732888
  },
  {
    "volume": 1242757,
    "venue": "BATS",
    "venueName": "BATS BZX",
    "date": "2017-09-19",
    "marketPercent": 0.06049061788621685,
    "avgMarketPercent": 0.060993172098918684
  },
  {
    "volume": 1865376,
    "venue": "ARCX",
    "venueName": "NYSE Arca",
    "date": "2017-09-19",
    "marketPercent": 0.09079630758878819,
    "avgMarketPercent": 0.07692002795005641
  },
  {
    "volume": 1951116,
    "venue": "EDGX",
    "venueName": "EDGX",
    "date": "2017-09-19",
    "marketPercent": 0.09496966213643043,
    "avgMarketPercent": 0.09297590135910822
  },
  {
    "volume": 5882545,
    "venue": "XNGS",
    "venueName": "NASDAQ",
    "date": "2017-09-19",
    "marketPercent": 0.2863301367793346,
    "avgMarketPercent": 0.27436519408402665
  },
  {
    "volume": 7580229,
    "venue": "TRF",
    "venueName": "Off Exchange",
    "date": "2017-09-19",
    "marketPercent": 0.36896411440773996,
    "avgMarketPercent": 0.40847022134435956
  }
]

This returns 15 minute delayed and 30 day average consolidated volume percentage of a stock, by market. This call will always return 13 values, and will be sorted in ascending order by current day trading volume percentage.

HTTP request

Response

Key Type Description
volume number refers to the current day, 15 minute delayed volume
venue string refers to the Market Identifier Code (MIC)
venueName string refers to a readable version of the venue defined by IEX
date string refers to the date the data was last updated in the format YYYY-MM-DD
marketPercent number refers to the 15 minute delayed percent of total stock volume traded by the venue
avgMarketPercent number refers to the 30 day average percent of total stock volume traded by the venue

Reference Data

For an example of an app that’s using ref data, see our eligible symbols reference.

Symbols

HTTP request example

GET /ref-data/symbols

The above example will return JSON with the following keys

[
  {
    "symbol": "A",
    "name": "AGILENT TECHNOLOGIES INC",
    "date": "2017-04-19",
    "isEnabled": true
  },
  {
    "symbol": "AA",
    "name": "ALCOA CORP",
    "date": "2017-04-19",
    "isEnabled": true
  }
]

This call returns an array of symbols IEX supports for trading. This list is updated daily as of 7:45 a.m. ET. Symbols may be added or removed by IEX after the list was produced.

HTTP request

/ref-data/symbols

Parameters

Parameter Details
format • Parameter is optional
• Value can only be csv
• When parameter is not present, format defaults to JSON

Response

Key Description
symbol refers to the symbol represented in Nasdaq Integrated symbology (INET).
name refers to the name of the company or security.
date refers to the date the symbol reference data was generated.
isEnabled will be true if the symbol is enabled for trading on IEX.

IEX Market Data

TOPS

HTTP request example

GET /tops?symbols=snap

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/tops'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', 'snap')
})

The above examples will return JSON with the following keys

[
  {
    "symbol": "SNAP",
    "marketPercent": 0.00901,
    "bidSize": 200,
    "bidPrice": 110.94,
    "askSize": 100,
    "askPrice": 111.82,
    "volume": 177265,
    "lastSalePrice": 111.76,
    "lastSaleSize": 5,
    "lastSaleTime": 1480446905681,
    "lastUpdated": 1480446910557
  },
  {
    "symbol": "FB",
    "marketPercent": 0.01465,
    "bidSize": 200,
    "bidPrice": 120.8,
    "askSize": 100,
    "askPrice": 122.5,
    "volume": 205208,
    "lastSalePrice": 121.41,
    "lastSaleSize": 100,
    "lastSaleTime": 1480446908666,
    "lastUpdated": 1480446923942
  },
  {
    "symbol": "AIG+",
    "marketPercent": 0.04618,
    "bidSize": 0,
    "bidPrice": 0,
    "askSize": 0,
    "askPrice": 0,
    "volume": 3400,
    "lastSalePrice": 21.52,
    "lastSaleSize": 100,
    "lastSaleTime": 1480446206461,
    "lastUpdated": -1
  }
]

TOPS provides IEX’s aggregated best quoted bid and offer position in near real time for all securities on IEX’s displayed limit order book. TOPS is ideal for developers needing both quote and trade data.

For an example of an app that’s using TOPS, see our TOPS viewer app.

HTTP request

WebSockets

Subscribe to firehose to return all symbols.

Parameters

Parameter Details
symbols • Parameter is optional
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• When parameter is not present, request returns all symbols
format • Parameter is optional
• Value can only be csv
• When parameter is not present, format defaults to JSON

Our eligible symbol reference is updated daily. Use these symbols as values in your symbols parameter.

Response

Key Description
symbol refers to the stock ticker.
marketPercent refers to IEX’s percentage of the market in the stock.
bidSize refers to amount of shares on the bid on IEX.
bidPrice refers to the best bid price on IEX.
askSize refers to amount of shares on the ask on IEX.
askPrice refers to the best ask price on IEX.
volume refers to shares traded in the stock on IEX.
lastSalePrice refers to last sale price of the stock on IEX. (Refer to the attribution section above.)
lastSaleSize refers to last sale size of the stock on IEX.
lastSaleTime refers to last sale time in epoch time of the stock on IEX.
lastUpdated refers to the last update time of the data in milliseconds since midnight Jan 1, 1970 or -1. If the value is -1, IEX has not quoted the symbol in the trading day.

Last

HTTP request example

GET /last?symbols=snap

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/last'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', 'snap')
})

The above examples will return JSON with the following keys

[
  {
    "symbol": "SNAP",
    "price": 111.76,
    "size": 5,
    "time": 1480446905681
  },
  {
    "symbol": "FB",
    "price": 121.41,
    "size": 100,
    "time": 1480446908666
  },
  {
    "symbol": "AIG+",
    "price": 21.52,
    "size": 100,
    "time": 1480446206461
  }
]

Last provides trade data for executions on IEX. It is a near real time, intraday API that provides IEX last sale price, size and time. Last is ideal for developers that need a lightweight stock quote.

HTTP request

WebSockets

Subscribe to firehose to return all symbols.

Parameters

Parameter Details
symbols • Parameter is optional
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• When parameter is not present, request returns all symbols
format • Parameter is optional
• Value can only be csv
• When parameter is not present, format defaults to JSON
• Our eligible symbol reference is updated daily. Use these symbols as values in your symbols parameter.

Response

Key Description
symbol refers to the stock ticker.
price refers to last sale price of the stock on IEX. (Refer to the attribution section above.)
size refers to last sale size of the stock on IEX.
time refers to last sale time in epoch time of the stock on IEX.

HIST

HTTP request example

GET /hist?date=20170515

HTTP request example message

[
  {
    "link": "https://www.googleapis.com/download/storage/v1/b/iex/o/data%2Ffeeds%2F20170515%2F20170515_IEXTP1_DEEP1.0.pcap.gz?generation=1494944895386822&alt=media",
    "date": "20170515",
    "feed": "DEEP",
    "version": "1.0",
    "protocol": "IEXTP1",
    "size": "640265166"
  },
  {
    "link": "https://www.googleapis.com/download/storage/v1/b/iex/o/data%2Ffeeds%2F20170515%2F20170515_IEXTP1_TOPS1.5.pcap.gz?generation=1494945323138905&alt=media",
    "date": "20170515",
    "feed": "TOPS",
    "version": "1.5",
    "protocol": "IEXTP1",
    "size": "503325585"
  }
]

HIST will provide the output of IEX data products for download on a T+1 basis. Data will remain available for the trailing twelve months.

HTTP request

Parameters

Parameter Details
date • Parameter is optional
• Value needs to be in four-digit year, two-digit month, two-digit day format (YYYYMMDD) (i.e May 15, 2017 would be written as 20170515)
• When parameter is not present, request returns all available dates

Response

Key Type
link string
date string
feed string
version string
protocol string
size string

DEEP

HTTP request example

GET /deep?symbols=snap

HTTP request example message

{
  "symbol": "SNAP",
  "marketPercent": 0.00837,
  "volume": 359425,
  "lastSalePrice": 22.975,
  "lastSaleSize": 100,
  "lastSaleTime": 1494446394043,
  "lastUpdated": 1494446715171,
  "bids": [
      {
        "price": 19.13,
        "size": 650,
        "timestamp": 1494446715171
      }
  ],
  "asks": [
      {
        "price": 19.15,
        "size": 891,
        "timestamp": 1494446717238
      }
  ],
  "systemEvent": {
    "systemEvent": "R",
    "timestamp": 1494627280251
  },
  "tradingStatus": {
    "status": "T",
    "reason": "NA",
    "timestamp": 1494588017687
  },
  "opHaltStatus": {
    "isHalted": false,
    "timestamp": 1494588017687
  },
  "ssrStatus": {
    "isSSR": true,
    "detail": "N",
    "timestamp": 1494588094067
  },
  "securityEvent": {
    "securityEvent": "MarketOpen",
    "timestamp": 1494595800005
  },
  "trades": [
    {
      "price": 19.145,
      "size": 400,
      "tradeId": 517365191,
      "isISO": false,
      "isOddLot": false,
      "isOutsideRegularHours": false,
      "isSinglePriceCross": false,
      "isTradeThroughExempt": false,
      "timestamp": 1494619192193
    }
  ],
  "tradeBreaks": [
    {
      "price": 19.145,
      "size": 400,
      "tradeId": 517365191,
      "isISO": false,
      "isOddLot": false,
      "isOutsideRegularHours": false,
      "isSinglePriceCross": false,
      "isTradeThroughExempt": false,
      "timestamp": 1494619192193
    }
  ],
  "auction": {
      "auctionType": "Open",
      "pairedShares": 3600,
      "imbalanceShares": 600,
      "referencePrice": 1.05,
      "indicativePrice": 1.05,
      "auctionBookPrice": 1.05,
      "collarReferencePrice": 1.05,
      "lowerCollarPrice": 0.5,
      "upperCollarPrice": 1.6,
      "extensionNumber": 0,
      "startTime": "09:30:00",
      "lastUpdate": 1506706199025
  }
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['snap'],
    channels: ['deep'],
  }))
})

WebSockets example message

{
  "symbol": "SNAP",
  "marketPercent": 0.00837,
  "volume": 359425,
  "lastSalePrice": 22.975,
  "lastSaleSize": 100,
  "lastSaleTime": 1494446394043,
  "lastUpdated": 1494446715171,
  "bids": [
      {
        "price": 19.13,
        "size": 650,
        "timestamp": 1494446715171
      }
  ],
  "asks": [
      {
        "price": 19.15,
        "size": 891,
        "timestamp": 1494446717238
      }
  ],
  "systemEvent": {
    "systemEvent": "R",
    "timestamp": 1494627280251
  },
  "tradingStatus": {
    "status": "T",
    "reason": "NA",
    "timestamp": 1494588017687
  },
  "opHaltStatus": {
    "isHalted": false,
    "timestamp": 1494588017687
  },
  "ssrStatus": {
    "isSSR": true,
    "detail": "N",
    "timestamp": 1494588094067
  },
  "securityEvent": {
    "securityEvent": "MarketOpen",
    "timestamp": 1494595800005
  },
  "trades": [
    {
      "price": 19.145,
      "size": 400,
      "tradeId": 517365191,
      "isISO": false,
      "isOddLot": false,
      "isOutsideRegularHours": false,
      "isSinglePriceCross": false,
      "isTradeThroughExempt": false,
      "timestamp": 1494619192193
    }
  ],
  "tradeBreaks": [
    {
      "price": 19.145,
      "size": 400,
      "tradeId": 517365191,
      "isISO": false,
      "isOddLot": false,
      "isOutsideRegularHours": false,
      "isSinglePriceCross": false,
      "isTradeThroughExempt": false,
      "timestamp": 1494619192193
    }
],
  "auction": {
      "auctionType": "Open",
      "pairedShares": 3600,
      "imbalanceShares": 600,
      "referencePrice": 1.05,
      "indicativePrice": 1.05,
      "auctionBookPrice": 1.05,
      "collarReferencePrice": 1.05,
      "lowerCollarPrice": 0.5,
      "upperCollarPrice": 1.6,
      "extensionNumber": 0,
      "startTime": "09:30:00",
      "lastUpdate": 1506706199025
  }
}

DEEP is used to receive real-time depth of book quotations direct from IEX. The depth of book quotations received via DEEP provide an aggregated size of resting displayed orders at a price and side, and do not indicate the size or number of individual orders at any price level. Non-displayed orders and non-displayed portions of reserve orders are not represented in DEEP.

DEEP also provides last trade price and size information. Trades resulting from either displayed or non-displayed orders matching on IEX will be reported. Routed executions will not be reported.

HTTP request

WebSockets

Emit a subscribe event with a JSON-encoded object that includes the following two keys:

{symbols: [], channels: []}

Note: book channel returns messageTypes pricelevelbuy and pricelevelsell.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a single symbol (i.e snap)

Response

Key Type
symbol string
marketPercent number
volume number
lastSalePrice number
lastSaleSize number
lastSaleTime number
lastUpdated number
bids array
asks array
systemEvent object
tradingStatus object
opHaltStatus object
ssrStatus object
securityEvent object
trades array
tradeBreaks array
auction object

Book

HTTP request example

GET /deep/book?symbols=yelp

HTTP request example response

{
    "YELP": {
        "bids": [
            {
                "price": 63.09,
                "size": 300,
                "timestamp": 1494538496261
            },
        ],
        "asks": [
            {
                "price": 63.92,
                "size": 300,
                "timestamp": 1494538381896
            },
            {
                "price": 63.97,
                "size": 300,
                "timestamp": 1494538381885
            }
        ]
    }
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['yelp'],
    channels: ['book'],
  }))
})

pricelevelsell WebSockets message

{
  "symbol": "aapl",
  "messageType": "pricelevelsell",
  "data": [
    {
      "price": 170,
      "size": 100,
      "timestamp": 1494601920999
    },
    {
      "price": 160,
      "size": 200,
      "timestamp": 1494596130847
    }
  ]
}

pricelevelbuy WebSockets message

{
  "symbol": "aapl",
  "messageType": "pricelevelbuy",
  "data": [
    {
      "price": 73.63,
      "size": 143,
      "timestamp": 1494595800085
    },
    {
      "price": 153,
      "size": 3000,
      "timestamp": 1494595904630
    },
    {
      "price": 145,
      "size": 500,
      "timestamp": 1494596980550
    }
  ]
}

Book shows IEX’s bids and asks for given symbols.

HTTP request

WebSockets

Subscribe to the book channel.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• Maximum of 10 symbols

Response

Key Type
bids array
asks array
price number
size number
timestamp number

Trades

Trade report messages are sent when an order on the IEX Order Book is executed in whole or in part. DEEP sends a Trade report message for every individual fill.

HTTP request example

GET /deep/trades?symbols=snap

HTTP request example message

{
  "SNAP": [
    {
      "price": 156.1,
      "size": 100,
      "tradeId": 517341294,
      "isISO": false,
      "isOddLot": false,
      "isOutsideRegularHours": false,
      "isSinglePriceCross": false,
      "isTradeThroughExempt": false,
      "timestamp": 1494619192003
    }
  ]
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['snap'],
    channels: ['trades'],
  }))
})

WebSockets example message

{
  "symbol": "SNAP",
  "messageType": "trades",
  "data": [
    {
      "price": 156.1,
      "size": 100,
      "tradeId": 517341294,
      "isISO": false,
      "isOddLot": false,
      "isOutsideRegularHours": false,
      "isSinglePriceCross": false,
      "isTradeThroughExempt": false,
      "timestamp": 1494619192003
    }
  ]
}

HTTP request

WebSockets

Subscribe to the trades channel.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• Maximum of 10 symbols
last • Parameter is optional
• Value needs to be a number (i.e 5)
• Default is 20
• Maximum of 500

Response

Key Type
price number
size number
tradeId number
isISO boolean
isOddLot boolean
isOutsideRegularHours boolean
isSinglePriceCross boolean
isTradeThroughExempt boolean
timestamp number

System Event

HTTP request example

GET /deep/system-event?symbols=snap

HTTP request example message

{
  "SNAP": {
    "systemEvent": "S",
    "timestamp": 1494595800005
  }
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['snap'],
    channels: ['systemevent'],
  }))
})

WebSockets example message

{
  "symbol": "SNAP",
  "messageType": "systemevent",
  "data": {
    "systemEvent": "S",
    "timestamp": 1494595800005
  }
}

The System event message is used to indicate events that apply to the market or the data feed.

There will be a single message disseminated per channel for each System Event type within a given trading session.

HTTP request

WebSockets

Subscribe to the systemevent channel.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• Maximum of 10 symbols

Response

Key Type Values
systemEvent string 'O' (Start of messages)
'S' (Start of system hours)
'R' (Start of regular market hours)
'M' (End of regular market hours)
'E' (End of system hours)
'C' (End of messages)
timestamp number

Trading Status

HTTP request example

GET /deep/trading-status?symbols=snap

HTTP request example message

{
  "SNAP": {
    "status": "T",
    "reason": " ",
    "timestamp": 1494588017674
  }
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['snap'],
    channels: ['tradingstatus'],
  }))
})

WebSockets example message

{
  "symbol": "SNAP",
  "messageType": "tradingstatus",
  "data": {
    "status": "T",
    "reason": " ",
    "timestamp": 1494588017674
  }
}

The Trading status message is used to indicate the current trading status of a security. For IEX-listed securities, IEX acts as the primary market and has the authority to institute a trading halt or trading pause in a security due to news dissemination or regulatory reasons. For non-IEX-listed securities, IEX abides by any regulatory trading halts and trading pauses instituted by the primary or listing market, as applicable.

IEX disseminates a full pre-market spin of Trading status messages indicating the trading status of all securities. In the spin, IEX will send out a Trading status message with “T” (Trading) for all securities that are eligible for trading at the start of the Pre-Market Session. If a security is absent from the dissemination, firms should assume that the security is being treated as operationally halted in the IEX Trading System.

After the pre-market spin, IEX will use the Trading status message to relay changes in trading status for an individual security. Messages will be sent when a security is:

*The paused and released into an Order Acceptance Period status will be disseminated for IEX-listed securities only. Trading pauses on non-IEX-listed securities will be treated simply as a halt.

HTTP request

WebSockets

Subscribe to the tradingstatus channel.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• Maximum of 10 symbols

Response

Key Type Values
status string 'H' Trading halted across all US equity markets
'O' Trading halt released into an Order Acceptance Period (IEX-listed securities only)
'P' Trading paused and Order Acceptance Period on IEX (IEX-listed securities only)
'T' Trading on IEX
reason string Trading Halt Reasons
'T1' Halt News Pending
'IPO1' IPO/New Issue Not Yet Trading
'IPOD' IPO/New Issue Deferred
'MCB3' Market-Wide Circuit Breaker Level 3 – Breached
'NA' Reason Not Available

Order Acceptance Period Reasons
'T2' Halt News Dissemination
'IPO2' IPO/New Issue Order Acceptance Period
'IPO3' IPO Pre-Launch Period
'MCB1' Market-Wide Circuit Breaker Level 1 – Breached
'MCB2' Market-Wide Circuit Breaker Level 2 – Breached
timestamp number

Operational Halt Status

HTTP request example

GET /deep/op-halt-status?symbols=snap

HTTP request example response

{
  "SNAP": {
    "isHalted": false,
    "timestamp": 1494588017674
  }
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['snap'],
    channels: ['ophaltstatus'],
  }))
})

WebSockets example message

{
  "symbol": "SNAP",
  "messageType": "ophaltstatus",
  "data": {
    "isHalted": false,
    "timestamp": 1494588017674
  }
}

The Exchange may suspend trading of one or more securities on IEX for operational reasons and indicates such operational halt using the Operational halt status message.

IEX disseminates a full pre-market spin of Operational halt status messages indicating the operational halt status of all securities. In the spin, IEX will send out an Operational Halt Message with “N” (Not operationally halted on IEX) for all securities that are eligible for trading at the start of the Pre-Market Session. If a security is absent from the dissemination, firms should assume that the security is being treated as operationally halted in the IEX Trading System at the start of the Pre-Market Session.

After the pre-market spin, IEX will use the Operational halt status message to relay changes in operational halt status for an individual security.

HTTP request

WebSockets

Subscribe to the ophaltstatus channel.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• Maximum of 10 symbols

Response

Key Type
isHalted boolean
timestamp number

Short Sale Price Test Status

HTTP request example

GET /deep/ssr-status?symbols=snap

HTTP request example message

{
  "SNAP": {
    "isSSR": true,
    "detail": "N",
    "timestamp": 1494588094067
  }
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['snap'],
    channels: ['ssr'],
  }))
})

WebSockets example message

{
  "symbol": "SNAP",
  "messageType": "ssr",
  "data": {
    "isSSR": true,
    "detail": "N",
    "timestamp": 1494588094067
  }
}

In association with Rule 201 of Regulation SHO, the Short Sale Price Test Message is used to indicate when a short sale price test restriction is in effect for a security.

IEX disseminates a full pre-market spin of Short sale price test status messages indicating the Rule 201 status of all securities. After the pre-market spin, IEX will use the Short sale price test status message in the event of an intraday status change.

The IEX Trading System will process orders based on the latest short sale price test restriction status.

HTTP request

WebSockets

Subscribe to the ssr channel.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• Maximum of 10 symbols

Response

Key Type
isSSR boolean
detail string
timestamp number

Security Event

HTTP request example

GET /deep/security-event?symbols=snap

HTTP request example message

{
  "SNAP": {
    "securityEvent": "MarketOpen",
    "timestamp": 1494595800005
  }
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['snap'],
    channels: ['securityevent'],
  }))
})

WebSockets example message

{
  "symbol": "SNAP",
  "messageType": "securityevent",
  "data": {
    "securityEvent": "MarketOpen",
    "timestamp": 1494595800005
  }
}

The Security event message is used to indicate events that apply to a security. A Security event message will be sent whenever such event occurs

HTTP request

WebSockets

Subscribe to the securityevent channel.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• Maximum of 10 symbols

Response

Key Type Values
securityEvent string 'MarketOpen'
'MarketClose'
timestamp number

Trade Break

HTTP request example

GET /deep/trade-breaks?symbols=snap

HTTP request example message

{
  "SNAP": [
    {
      "price": 156.1,
      "size": 100,
      "tradeId": 517341294,
      "isISO": false,
      "isOddLot": false,
      "isOutsideRegularHours": false,
      "isSinglePriceCross": false,
      "isTradeThroughExempt": false,
      "timestamp": 1494619192003
    }
  ]
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['snap'],
    channels: ['tradebreaks'],
  }))
})

WebSockets example message

{
  "symbol": "SNAP",
  "messageType": "tradebreaks",
  "data": [
    {
      "price": 156.1,
      "size": 100,
      "tradeId": 517341294,
      "isISO": false,
      "isOddLot": false,
      "isOutsideRegularHours": false,
      "isSinglePriceCross": false,
      "isTradeThroughExempt": false,
      "timestamp": 1494619192003
    }
  ]
}

Trade break messages are sent when an execution on IEX is broken on that same trading day. Trade breaks are rare and only affect applications that rely upon IEX execution based data.

HTTP request

WebSockets

Subscribe to the tradebreaks channel.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a comma-separated list of symbols (i.e SNAP,fb)
• Maximum of 10 symbols
last • Parameter is optional
• Value needs to be a number (i.e 5)
• Default is 20
• Maximum of 500

Response

Key Type
price number
size number
tradeId number
isISO boolean
isOddLot boolean
isOutsideRegularHours boolean
isSinglePriceCross boolean
isTradeThroughExempt boolean
timestamp number

Auction

HTTP request example

GET /deep/auction?symbols=ziext

HTTP request example message

{
  "ZIEXT": {
    "auctionType": "Open",
    "pairedShares": 3600,
    "imbalanceShares": 600,
    "referencePrice": 1.05,
    "indicativePrice": 1.05,
    "auctionBookPrice": 1.05,
    "collarReferencePrice": 1.05,
    "lowerCollarPrice": 0.5,
    "upperCollarPrice": 1.6,
    "extensionNumber": 0,
    "startTime": "09:30:00",
    "lastUpdate": 1506706199025
  }
}

WebSockets example (using socket.io)

const url = 'https://ws-api.iextrading.com/1.0/deep'
const socket = require('socket.io-client')(url)

socket.on('connect', () => {
  socket.emit('subscribe', JSON.stringify({
    symbols: ['ziext'],
    channels: ['auction'],
  }))
})

WebSockets example message

{
  "symbol": "ZIEXT",
  "messageType": "auction",
  "data": {
    "auctionType": "Open",
    "pairedShares": 3600,
    "imbalanceShares": 600,
    "referencePrice": 1.05,
    "indicativePrice": 1.05,
    "auctionBookPrice": 1.05,
    "collarReferencePrice": 1.05,
    "lowerCollarPrice": 0.5,
    "upperCollarPrice": 1.6,
    "extensionNumber": 0,
    "startTime": "09:30:00",
    "lastUpdate": 1506706199025
  }
}

DEEP broadcasts an Auction Information Message every one second between the Lock-in Time and the auction match for Opening and Closing Auctions, and during the Display Only Period for IPO, Halt, and Volatility Auctions. Only IEX listed securities are eligible for IEX Auctions.

HTTP request

WebSockets

Subscribe to the auction channel.

Parameters

Parameter Details
symbols • Parameter is required
• Value needs to be a comma-separated list of symbols (i.e ziext,zexit)
• Maximum of 10 symbols

Response

Key Type Values
auctionType string refers to the auction type (Open, Close, Halt, Volatility, IPO)
pairedShares number refers to the number of shares paired at the referencePrice using orders on the auction book
imbalanceShares number refers to the number of unpaired shares at the referencePrice using orders on the auction book
referencePrice number refers to the clearing price at or within the reference price range using ordes on the auction book
indicativePrice number refers to the clearing price using eligible auction orders
auctionBookPrice number refers to the clearing price using orders on the auction book
collarReferencePrice number refers to the reference price used for the auction collar, if any
lowerCollarPrice number refers to the lower threshold price of the auction collar, if any
upperCollarPrice number refers to the upper threshold price of the auction collar, if any
extensionNumber number refers to the number of extensions an auction has received
startTime string refers to the projected time of the auction match. Formatted as HH:MM:SS
lastUpdate number refers to the timestamp of the auction information

IEX Stats

For an example of an app that’s using stats, see our IEX mobile app.

Intraday

HTTP request example

GET /stats/intraday

The above example will return JSON with the following keys

{
  "volume": {
    "value": 26908038,
    "lastUpdated": 1480433817323
  },
  "symbolsTraded": {
    "value": 4089,
    "lastUpdated": 1480433817323
  },
  "routedVolume": {
    "value": 10879651,
    "lastUpdated": 1480433816891
  },
  "notional": {
    "value": 1090683735,
    "lastUpdated": 1480433817323
  },
  "marketShare": {
    "value": 0.01691,
    "lastUpdated": 1480433817336
  }
}

HTTP request

Response

Key Description
volume refers to single counted shares matched from executions on IEX.
symbolsTraded refers to number of symbols traded on IEX.
routedVolume refers to executions received from order routed to away trading centers.
notional refers to sum of matched volume times execution price of those trades.
marketShare refers to IEX’s percentage of total US Equity market volume.
lastUpdated refers to the last update time of the data in milliseconds since midnight Jan 1, 1970.

Recent

HTTP request example

GET /stats/recent

The above example will return JSON with the following keys

[
  {
    "date": "2017-01-11",
    "volume": 128048723,
    "routedVolume": 38314207,
    "marketShare": 0.01769,
    "isHalfday": false,
    "litVolume": 30520534
  },
  {
    "date": "2017-01-10",
    "volume": 135116521,
    "routedVolume": 39329019,
    "marketShare": 0.01999,
    "isHalfday": false,
    "litVolume": 29721789
  },
  {
    "date": "2017-01-09",
    "volume": 109850518,
    "routedVolume": 31283422,
    "marketShare": 0.01704,
    "isHalfday": false,
    "litVolume": 27699365
  },
  {
    "date": "2017-01-06",
    "volume": 116680433,
    "routedVolume": 29528471,
    "marketShare": 0.01805,
    "isHalfday": false,
    "litVolume": 29357729
  },
  {
    "date": "2017-01-05",
    "volume": 130389657,
    "routedVolume": 40977180,
    "marketShare": 0.01792,
    "isHalfday": false,
    "litVolume": 33169236
  },
  {
    "date": "2017-01-04",
    "volume": 124428433,
    "routedVolume": 38859989,
    "marketShare": 0.01741,
    "isHalfday": false,
    "litVolume": 31563256
  },
  {
    "date": "2017-01-03",
    "volume": 130195733,
    "routedVolume": 34990159,
    "marketShare": 0.01733,
    "isHalfday": false,
    "litVolume": 34150804
  }
]

This call will return a minimum of the last five trading days up to all trading days of the current month.

HTTP request

Response

Key Description
date refers to the trading day.
volume refers to executions received from order routed to away trading centers.
routedVolume refers to single counted shares matched from executions on IEX.
marketShare refers to IEX’s percentage of total US Equity market volume.
isHalfday will be true if the trading day is a half day.
litVolume refers to the number of lit shares traded on IEX (single-counted).

Records

HTTP request example

GET /stats/records

The above example will return JSON with the following keys

{
  "volume": {
    "recordValue": 233000477,
    "recordDate": "2016-01-20",
    "previousDayValue": 99594714,
    "avg30Value": 138634204.5
  },
  "symbolsTraded": {
    "recordValue": 6046,
    "recordDate": "2016-11-10",
    "previousDayValue": 5500,
    "avg30Value": 5617
  },
  "routedVolume": {
    "recordValue": 74855222,
    "recordDate": "2016-11-10",
    "previousDayValue": 29746476,
    "avg30Value": 44520084
  },
  "notional": {
    "recordValue": 9887832327.8355,
    "recordDate": "2016-11-10",
    "previousDayValue": 4175710684.3897,
    "avg30Value": 5771412969.2662
  }
}

HTTP request

Response

Key Description
volume refers to single counted shares matched from executions on IEX.
symbolsTraded refers to number of symbols traded on IEX.
routedVolume refers to executions received from order routed to away trading centers.
notional refers to sum of matched volume times execution price of those trades.

Historical Summary

HTTP request example

GET /stats/historical?date=201605

The above example will return JSON with the following keys

[
  {
    "averageDailyVolume": 112247378.5,
    "averageDailyRoutedVolume": 34282226.24,
    "averageMarketShare": 0,
    "averageOrderSize": 493,
    "averageFillSize": 287,
    "bin100Percent": 0.61559,
    "bin101Percent": 0.61559,
    "bin200Percent": 0.61559,
    "bin300Percent": 0.61559,
    "bin400Percent": 0.61559,
    "bin500Percent": 0.61559,
    "bin1000Percent": 0.61559,
    "bin5000Percent": 0.61559,
    "bin10000Percent": 0.61559,
    "bin10000Trades": 4666,
    "bin20000Trades": 1568,
    "bin50000Trades": 231,
    "uniqueSymbolsTraded": 7419,
    "blockPercent": 0.08159,
    "selfCrossPercent": 0.02993,
    "etfPercent": 0.12646,
    "largeCapPercent": 0.40685,
    "midCapPercent": 0.2806,
    "smallCapPercent": 0.18609,
    "venueARCXFirstWaveWeight": 0.22063,
    "venueBATSFirstWaveWeight": 0.06249,
    "venueBATYFirstWaveWeight": 0.07361,
    "venueEDGAFirstWaveWeight": 0.01083,
    "venueEDGXFirstWaveWeight": 0.0869,
    "venueOverallFirstWaveWeight": 1,
    "venueXASEFirstWaveWeight": 0.00321,
    "venueXBOSFirstWaveWeight": 0.02935,
    "venueXCHIFirstWaveWeight": 0.00108,
    "venueXCISFirstWaveWeight": 0.00008,
    "venueXNGSFirstWaveWeight": 0.20358,
    "venueXNYSFirstWaveWeight": 0.29313,
    "venueXPHLFirstWaveWeight": 0.01511,
    "venueARCXFirstWaveRate": 0.97737,
    "venueBATSFirstWaveRate": 0.99357,
    "venueBATYFirstWaveRate": 0.99189,
    "venueEDGAFirstWaveRate": 0.98314,
    "venueEDGXFirstWaveRate": 0.99334,
    "venueOverallFirstWaveRate": 0.98171,
    "venueXASEFirstWaveRate": 0.94479,
    "venueXBOSFirstWaveRate": 0.97829,
    "venueXCHIFirstWaveRate": 0.65811,
    "venueXCISFirstWaveRate": 0.9468,
    "venueXNGSFirstWaveRate": 0.98174,
    "venueXNYSFirstWaveRate": 0.98068,
    "venueXPHLFirstWaveRate": 0.93629
  }
]

HTTP request

The /stats/historical endpoint without any parameters will return the current month’s stats.

Parameters

Parameter Details
date • Parameter is optional
• Value needs to be in four-digit year, two-digit month format (YYYYMM) (i.e January 2017 would be written as 201701)
• Historical data is only available for prior months, starting with January 2014
• When parameter is not present, request returns prior month’s data
format • Parameter is optional
• Value can only be csv
• When parameter is not present, format defaults to JSON

Response

See our stats page for a reference of the keys.

Historical Daily

HTTP request example

GET /stats/historical/daily?last=5

The above example will return JSON with the following keys

[
  {
    "date": "2017-05-09",
    "volume": 152907569,
    "routedVolume": 46943802,
    "marketShare": 0.02246,
    "isHalfday": 0,
    "litVolume": 35426666
  },
  {
    "date": "2017-05-08",
    "volume": 142923030,
    "routedVolume": 39507295,
    "marketShare": 0.02254,
    "isHalfday": 0,
    "litVolume": 32404585
  },
  {
    "date": "2017-05-05",
    "volume": 155118117,
    "routedVolume": 39974788,
    "marketShare": 0.02358,
    "isHalfday": 0,
    "litVolume": 35124994
  },
  {
    "date": "2017-05-04",
    "volume": 185715463,
    "routedVolume": 56264408,
    "marketShare": 0.02352,
    "isHalfday": 0,
    "litVolume": 40634976
  },
  {
    "date": "2017-05-03",
    "volume": 183103198,
    "routedVolume": 50953175,
    "marketShare": 0.025009999999999998,
    "isHalfday": 0,
    "litVolume": 40296158
  }
]

This call will return daily stats for a given month or day.

HTTP request

The /stats/historical/daily endpoint without any parameters will return the last trading day.

Parameters

Parameter Details
date • Parameter is optional
• Option 1: Value needs to be in four-digit year, two-digit month format (YYYYMM) (i.e January 2017 would be written as 201701)
• Option 2: Value needs to be in four-digit year, two-digit month, two-digit day format (YYYYMMDD) (i.e January 21, 2017 would be written as 20170121)
• Historical data is only available for prior months, starting with January 2014
last • Parameter is optional
• Is used in place of date to retrieve last n number of trading days.
• Value can only be a number up to 90
format • Parameter is optional
• Value can only be csv
• When parameter is not present, format defaults to JSON

Response

Key Description
date refers to the trading day.
volume refers to executions received from order routed to away trading centers.
routedVolume refers to single counted shares matched from executions on IEX.
marketShare refers to IEX’s percentage of total US Equity market volume.
isHalfday will be true if the trading day is a half day.
litVolume refers to the number of lit shares traded on IEX (single-counted).

Markets

For an example of an app that’s using market, see our Market volume app.

Market

HTTP request example

GET /market

The above example will return JSON with the following keys

[
  {
    "mic": "TRF",
    "tapeId": "-",
    "venueName": "TRF Volume",
    "volume": 589171705,
    "tapeA": 305187928,
    "tapeB": 119650027,
    "tapeC": 164333750,
    "marketPercent": 0.37027,
    "lastUpdated": 1480433817317
  },
  {
    "mic": "XNGS",
    "tapeId": "Q",
    "venueName": "NASDAQ",
    "volume": 213908393,
    "tapeA": 90791123,
    "tapeB": 30731818,
    "tapeC": 92385452,
    "marketPercent": 0.13443,
    "lastUpdated": 1480433817311
  },
  {
    "mic": "XNYS",
    "tapeId": "N",
    "venueName": "NYSE",
    "volume": 204280163,
    "tapeA": 204280163,
    "tapeB": 0,
    "tapeC": 0,
    "marketPercent": 0.12838,
    "lastUpdated": 1480433817336
  },
  {
    "mic": "ARCX",
    "tapeId": "P",
    "venueName": "NYSE Arca",
    "volume": 180301371,
    "tapeA": 64642458,
    "tapeB": 78727208,
    "tapeC": 36931705,
    "marketPercent": 0.11331,
    "lastUpdated": 1480433817305
  },
  {
    "mic": "EDGX",
    "tapeId": "K",
    "venueName": "EDGX",
    "volume": 137022822,
    "tapeA": 58735505,
    "tapeB": 32753903,
    "tapeC": 45533414,
    "marketPercent": 0.08611,
    "lastUpdated": 1480433817310
  },
  {
    "mic": "BATS",
    "tapeId": "Z",
    "venueName": "BATS BZX",
    "volume": 100403461,
    "tapeA": 52509859,
    "tapeB": 25798360,
    "tapeC": 22095242,
    "marketPercent": 0.0631,
    "lastUpdated": 1480433817311
  },
  {
    "mic": "BATY",
    "tapeId": "Y",
    "venueName": "BATS BYX",
    "volume": 54413196,
    "tapeA": 28539960,
    "tapeB": 13638779,
    "tapeC": 12234457,
    "marketPercent": 0.03419,
    "lastUpdated": 1480433817310
  },
  {
    "mic": "XBOS",
    "tapeId": "B",
    "venueName": "NASDAQ BX",
    "volume": 31417461,
    "tapeA": 16673166,
    "tapeB": 5875538,
    "tapeC": 8868757,
    "marketPercent": 0.01974,
    "lastUpdated": 1480433817311
  },
  {
    "mic": "EDGA",
    "tapeId": "J",
    "venueName": "EDGA",
    "volume": 30670687,
    "tapeA": 15223428,
    "tapeB": 8276375,
    "tapeC": 7170884,
    "marketPercent": 0.01927,
    "lastUpdated": 1480433817311
  },
  {
    "mic": "IEXG",
    "tapeId": "V",
    "venueName": "IEX",
    "volume": 26907838,
    "tapeA": 16578501,
    "tapeB": 3889245,
    "tapeC": 6440092,
    "marketPercent": 0.01691,
    "lastUpdated": 1480433817235
  },
  {
    "mic": "XPHL",
    "tapeId": "X",
    "venueName": "NASDAQ PSX",
    "volume": 13334403,
    "tapeA": 5802294,
    "tapeB": 4239741,
    "tapeC": 3292368,
    "marketPercent": 0.00838,
    "lastUpdated": 1480433817071
  },
  {
    "mic": "XCHI",
    "tapeId": "M",
    "venueName": "CHX",
    "volume": 4719854,
    "tapeA": 834762,
    "tapeB": 3168434,
    "tapeC": 716658,
    "marketPercent": 0.00296,
    "lastUpdated": 1480433814711
  },
  {
    "mic": "XASE",
    "tapeId": "A",
    "venueName": "NYSE MKT",
    "volume": 4419196,
    "tapeA": 0,
    "tapeB": 4419196,
    "tapeC": 0,
    "marketPercent": 0.00277,
    "lastUpdated": 1480433816276
  },
  {
    "mic": "XCIS",
    "tapeId": "C",
    "venueName": "NSX",
    "volume": 187785,
    "tapeA": 39923,
    "tapeB": 62191,
    "tapeC": 85671,
    "marketPercent": 0.00011,
    "lastUpdated": 1480433816141
  }
]

HTTP request

/market

This endpoint returns near real time traded volume on the markets. Market data is captured by the IEX system from approximately 7:45 a.m. to 5:15 p.m. ET.

Parameters

Parameter Details
format • Parameter is optional
• Value can only be csv
• When parameter is not present, format defaults to JSON

Response

Key Description
mic refers to the Market Identifier Code (MIC).
tapeId refers to the tape id of the venue.
venueName refers to name of the venue defined by IEX.
volume refers to the amount of traded shares reported by the venue.
tapeA refers to the amount of Tape A traded shares reported by the venue.
tapeB refers to the amount of Tape B traded shares reported by the venue.
tapeC refers to the amount of Tape C traded shares reported by the venue.
marketPercent refers to the venue’s percentage of shares traded in the market.
lastUpdated refers to the last update time of the data in milliseconds since midnight Jan 1, 1970.

Changelog

The following is a list of running updates to the IEX API.

Version 1.0

1.0 (September 29, 2017)

1.0 (September 20, 2017)

1.0 (July 5, 2017)

1.0 (June 30, 2017)

1.0 (June 14, 2017)

1.0 (May 16, 2017)

1.0 (May 15, 2017)

1.0 (May 12, 2017)

1.0 (April 19, 2017)

1.0 (February 28, 2017)

1.0 (February 23, 2017)

1.0 (February 17, 2017)

1.0 (February 8, 2017)

1.0 (February 2, 2017)

1.0 (January 27, 2017)

1.0 (January 25, 2017)

1.0 (January 20, 2017)

1.0 (January 19, 2017)

1.0 (January 18, 2017)

1.0 (January 17, 2017)