MENU Navbar

Introduction

IEX Cloud is a platform that makes financial data and services accessible to everyone.

API Reference

The IEX Cloud API is based on REST, has resource-oriented URLs, returns JSON-encoded responses, and returns standard HTTP response codes.

Authentication

API Tokens

IEX Cloud authenticates your API requests using your account’s API tokens. To use any IEX Cloud API, you must pass an API token with each request. If you do not include your API token when making an API request, or use one that is incorrect or disabled, IEX Cloud returns an error.

IEX Cloud provides two types of API tokens: publishable and secret.

Protecting your API tokens

Data Weighting

Certain products, such as the Core Financial API, measure usage in message counts. We calculate message counts by multiplying the type of data object by that data object’s weight. Data objects are commonly understood units, such as a single stock quote, company fundamentals, or news headline. Weights are determined by taking two factors into consideration: frequency of distribution and acquisition costs. Weighting can be found in the Data Weighting section of each API endpoint.

We’re also expanding our pricing calculator to help you understand how many messages you can expect to use, based on your app and number of users, so check back soon. In the meantime, you should consider the following inputs, which will impact your final cost:

Versioning

IEX Cloud will release new versions when we make backwards-incompatible changes to the API. We plan to support up to three versions and will give advanced notice before releasing a new version, or retiring an old version.

Backwards compatible changes:

Versions are added to the base url

Sandbox

Every account will be assigned two test tokens available via the Console. All the same endpoints as production will be available in the Sandbox Environment. Please note API data will be manipulated to scramble values, and is not suitable for production usage. We’ve also updated the Usage Report to allow you to view the number of test messages the same way as production message usage.

How to use

Test tokens look like Tpk_ and Tsk_.

To make a call for test data, use the same url, but pass your test token.

Query Parameters

Filter results

Most endpoints support a filter parameter to return a subset of data. Pass a comma-delimited list of response attributes to filter. Response attributes are case-sensitive and are found in the Response Attributes section of each endpoint.

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

Streaming

We support Server-sent Events (SSE Streaming) for streaming data as an alternative to WebSockets. You will need to decide whether SSE streaming is more efficient for your workflow than REST calls. In many cases streaming is more efficient since you will only receive the latest available data. If you need to control how often you receive updates then you may use REST to set a timed interval.

When you connect to an SSE endpoint, you should receive a snapshot of the latest message, then updates as they are available.

How messages are counted

We use a reserve system for streaming endpoints due to high data rates. This is similar to how a credit card puts a hold on an account and reconciles the amount at a later time.

When you connect to an SSE endpoint, we will validate your API token, then attempt to reserve an amount of messages from your account. For example, 1000 messages.

If you have enough messages in your quota, or you have pay-as-you-go enabled, we will allow data to start streaming.

We keep track of the number of messages streamed to your account during our reserve interval.

Once our reserve interval expires, we will reconcile usage. This means we will compare how many messages were sent versus the number of messages we reserved. For example, if we delivered 1200 messages, you would have used 200 more than we reserved, so we will apply 200 additional messages to your account. If we only delivered 100 messages, we would credit the 900 unused messages back to your account.

After we reconcile the messages, we will attempt another reserve.

The reserve and reconcile process is seamless and does not impact your data stream. If we attempt to reserve messages and your account does not have enough quota and pay-as-you-go disabled, then we will disconnect your connection. You can avoid service disruptions by enabling pay-as-you-go in the Console.

When you disconnect from an endpoint, we will reconcile your message usage immediately.

SSE

Firehose

Scale users can stream all symbols (excluding DEEP endpoints) by leaving off the symbols parameter.

Supported Endpoints

STOCK QUOTES

https://cloud-sse.iexapis.com/beta/stocksUS?token=YOUR_TOKEN&symbols=spy

IEX TOPS

https://cloud-sse.iexapis.com/beta/tops?token=YOUR_TOKEN&symbols=spy

IEX LAST

https://cloud-sse.iexapis.com/beta/last?token=YOUR_TOKEN&symbols=spy,aapl,tsla

IEX DEEP

https://cloud-sse.iexapis.com/beta/deep?token=YOUR_TOKEN&symbols=spy&channels=deep

IEX DEEP by channel

https://cloud-sse.iexapis.com/beta/deep?token=YOUR_TOKEN&symbols=spy&channels=auction

https://cloud-sse.iexapis.com/beta/deep?token=YOUR_TOKEN&symbols=spy&channels=book

https://cloud-sse.iexapis.com/beta/deep?token=YOUR_TOKEN&symbols=spy&channels=op-halt-status

https://cloud-sse.iexapis.com/beta/deep?token=YOUR_TOKEN&symbols=spy&channels=official-price

https://cloud-sse.iexapis.com/beta/deep?token=YOUR_TOKEN&symbols=spy&channels=security-event

https://cloud-sse.iexapis.com/beta/deep?token=YOUR_TOKEN&symbols=spy&channels=trades

https://cloud-sse.iexapis.com/beta/deep?token=YOUR_TOKEN&symbols=spy&channels=trade-breaks

https://cloud-sse.iexapis.com/beta/deep?token=YOUR_TOKEN&symbols=spy&channels=trading-status

Stock Delayed Quotes

In Development https://cloud-sse.iexapis.com/beta/delayed-quote?token=YOUR_TOKEN&symbols=spy

Stock Largest Trades

In Development https://cloud-sse.iexapis.com/beta/largest-trades?token=YOUR_TOKEN&symbols=spy

Stock Sector Performance

In Development https://cloud-sse.iexapis.com/beta/sector-performance?token=YOUR_TOKEN&symbols=spy

Stock OHLC

In Development

Stock Intraday Prices By Minute

In Development

News

In Development https://cloud-sse.iexapis.com/beta/news?token=YOUR_TOKEN&symbols=spy

Webhooks

Support for Webhooks is in development. Webhooks will be an important part of our system to allow you to subscribe to updates instead of endlessly calling an endpoint for the same data.

Attribution

Attribution is required for all users. It is as simple as putting “Powered by IEX Cloud” somewhere on your site or app, and linking that text to https://iexcloud.io. In case of limited screen space, or design contraints, the attribution link can be included in your terms of service.

<a href="https://iexcloud.io">Powered by IEX Cloud</a>

SSL

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

Support

If you find any issues with our API or have any questions, please file an issue at Github. If your account includes support, you’ll find additional support options when logged into your Console.

Libraries

Below is a list of known unofficial IEX API libraries and integrations. If you’d like to have your library, integration, or app added, email us at team@iexcloud.io

Libraries and applications that support IEX Cloud

Language URL
Go goinvest
NodeJS iexcloud-api-wrapper
Python pyEX
iexfinance
R iexcloudR

Applications that support IEX Cloud

Application URL
Perspective Link
Stock Analysis Engine Link Docs

Libraries that support the original IEX API v1

Reach out to the developer and ask about supporting IEX Cloud.

Language URL
C++ IEX_CPP_API
C# IEXTrading API
Excel Stock Connector by Michael Saunders
2Investing
Go go-iex
Haskell stocks
HTML Stocks!
Java IEXTrading4j
KDB iex_q
Perl Finance::Quote::IEX
Python iexfinance
iex-api-python
pyEX
iex_data
pandas-datareader
PyPI IEX
IEX with Bokeh
.NET IEXTradingApi
NodeJS iex-api
PHP iex-trading
R IEX API for R
React ticker-react
iex-api
Ruby iex-ruby-client
Rust iex-rs

Getting Started

REST How-To

Making your first REST API call is easy, and can be done from your browser.

You will need:

REST calls are made up of:

Examples

Free IEX price for Apple

https://cloud.iexapis.com/beta/tops?token=YOUR_TOKEN_HERE&symbols=aapl

Stock quote for Apple

https://cloud.iexapis.com/beta/stock/aapl/quote?token=YOUR_TOKEN_HERE

Curl quote for Apple from the command line

curl -k 'https://cloud.iexapis.com/beta/stock/aapl/quote?token=YOUR_TOKEN_HERE'

Excel How-To

IEX Cloud supports Excel and Google Sheets data import methods.

Excel

Excel provides the Webservice function to import data into a cell. We support this in endpoints like quote, stats, financials, cash-flow, balance-sheet, income, and dividends.

Example:

This will pull just the latest price for Apple

=WEBSERVICE("https://cloud.iexapis.com/beta/stock/aapl/quote/latestPrice?token=YOUR_TOKEN_HERE")

Google Sheets

Google Sheets provides IMPORT functions to populate cells with data.

This will pull just the latest price for Apple

=IMPORTDATA("https://cloud.iexapis.com/beta/stock/aapl/quote/latestPrice?token=YOUR_TOKEN_HERE")

Next earnings report date for Apple

=IMPORTDATA("https://cloud.iexapis.com/beta/stock/aapl/estimates/1/reportDate?token=YOUR_TOKEN_HERE")

CSV Files

You can also return most endpoints as CSV by passing a query parameter of format=csv.

https://cloud.iexapis.com/beta/stock/aapl/quote?token=YOUR_TOKEN_HERE&format=csv

Account

Metadata

HTTP Request Example

GET /account/metadata

The above example will return JSON with the following keys

{
    "payAsYouGoEnabled":true,
    "effectiveDate":1547590582000,
    "endDateEffective":1547830921000,
    "subscriptionTermType":"monthly",
    "tierName":"launch",
    "messageLimit":1000000000,
    "messagesUsed":215141655
}

Used to retrieve account details such as current tier, payment status, message quote usage, etc

Requires SK token to access.

Data Weighting

Free

Data Timing

Start users

End of day

Launch and Scale users

realtime

Available Methods

/account/metadata

Usage

HTTP Request Example

GET /account/usage/{type}

The following keys are returned

    {
        "monthlyUsage": 215200,
        "monthlyPayAsYouGo": 0,
        "dailyUsage": {
            "20190120": 115200, 
            "20190121": 100000
        },
        "tokenUsage": {
            "pk_123": 215200
        },
        "keyUsage": {
            "IEX_STATS": 0, 
            "EARNINGS": 115200, 
            "STOCK_QUOTES": 100000
        }

Used to retrieve current month usage for your account.

Requires SK token to access

Data Weighting

Free

Data Timing

realtime

Available Methods

GET /account/usage/{type}

Path Parameters

Option Description
type Optional. Used to specify which quota to return. Ex: messages, rules, rule-records, alerts, alert-records

Pay as you go

HTTP Request Example

POST /account/payasyougo

Used to toggle Pay-as-you-go on your account. Note when you turn off pay-as-you-go, there is a 30 second period before you can re-enable.

Requires SK token to access

Data Weighting

Free

Data Timing

NA

Available Methods

HTTP POST

/account/payasyougo

Query Parameters

Option Description
token Required (Boolean) Your SK API token.
allow Required (Boolean) Pass true to enable Pay-as-you-go, or false to disable.

Stocks

Balance Sheet

HTTP request example

GET /stock/{symbol}/balance-sheet/{last}/{field}

The above example will return JSON with the following keys

{
  "symbol": "AAPL",
  "balancesheet": [
    {
      "reportDate": "2017-03-31",
      "currentCash": 25913000000,
      "shortTermInvestments": 40388000000,
      "receivables": 23186000000,
      "inventory": 3956000000,
      "otherCurrentAssets": 12087000000,
      "currentAssets": 131339000000,
      "longTermInvestments": 170799000000,
      "propertyPlantEquipment": 41304000000,
      "goodwill": null,
      "intangibleAssets": null,
      "otherAssets": 22283000000,
      "totalAssets": 365725000000,
      "accountsPayable": 55888000000,
      "currentLongTermDebt": 8784000000,
      "otherCurrentLiabilities": 40230000000,
      "totalCurrentLiabilities": 116866000000,
      "longTermDebt": 93735000000,
      "otherLiabilities": 4268000000,
      "minorityInterest": 0,
      "totalLiabilities": 258578000000,
      "commonStock": 40201000000,
      "retainedEarnings": 70400000000,
      "treasuryStock": null,
      "capitalSurplus": null,
      "shareholderEquity": 107147000000,
      "netTangibleAssets": 107147000000
    } // , { ... }
  ]
}

Pulls balance sheet data. Available quarterly (4 quarters) and annually (4 years)

Data Weighting

3000 per symbol per period

Data Timing

End of day

Data Schedule

Updates at 8am, 9am UTC daily

Data Source(s)

Primary Partner

Notes

Available Methods

Query String Parameters

Parameter Details
period • Optional
• string. Allows you to specify annual or quarterly balance sheet. Defaults to quarterly. Values should be annual or quarter

Response Attributes

Key Type
reportDate string
currentCash number
shortTermInvestments number
receivables number
inventory number
otherCurrentAssets number
currentAssets number
longTermInvestments number
propertyPlantEquipment number
goodwill number
intangibleAssets number
otherAssets number
totalAssets number
accountsPayable number
currentLongTermDebt number
otherCurrentLiabilities number
totalCurrentLiabilities number
longTermDebt number
otherLiabilities number
minorityInterest number
totalLiabilities number
commonStock number
retainedEarnings number
treasuryStock number
capitalSurplus number
shareholderEquity number
netTangibleAssets number

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": [...]
  },
}

Data Weighting

Based on each type of call

Path Parameters

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

Query String Parameters

Parameter Details
types • Required
• Comma delimited list of endpoints to call. The names should match the individual endpoint names. Limited to 10 types.
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.

Examples

Response Attributes

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": {...},
}

Data Weighting

1 per quote returned

Data Timing

realtime + 15min delayed

Data Schedule

realtime during Investors Exchange market hours

Data Source(s)

Investors Exchange Primary Partner Consolidated Tape

Available Methods

Examples

Response Attributes

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

Cash Flow

HTTP request example

GET /stock/{symbol}/cash-flow/{last}/{field}

The above example will return JSON with the following keys

{
  "symbol": "AAPL",
  "cashflow": [
    {
      "reportDate": "2018-09-30",
      "netIncome": 14125000000,
      "depreciation": 2754000000,
      "changesInReceivables": -9082000000,
      "changesInInventories": 1942000000,
      "cashChange": -6058000000,
      "cashFlow": 19523000000,
      "capitalExpenditures": -3041000000,
      "investments": -926000000,
      "investingActivityOther": 1566000000,
      "totalInvestingCashFlows": -3001000000,
      "dividendsPaid": -3530000000,
      "netBorrowings": -27000000,
      "otherFinancingCashFlows": -260000000,
      "cashFlowFinancing": -22580000000,
      "exchangeRateEffect": null
    } // , { ... }
  ]
}

Pulls cash flow data. Available quarterly (4 quarters) or annually (4 years).

Data Weighting

1000 per symbol per period

Data Timing

End of day

Data Schedule

Updates at 8am, 9am UTC daily

Data Source(s)

Primary Partner

Notes

Available Methods

Query String Parameters

Parameter Details
period • Optional
• string. Allows you to specify annual or quarterly cash flow. Defaults to quarterly. Values should be annual or quarter
last • Optional
• number. Specify the number of quarters or years to return.

Response Attributes

Key Type
reportDate string
netIncome number
depreciation number
changesInReceivables number
changesInInventories number
cashChange number
cashFlow number
capitalExpenditures number
investments number
investingActivityOther number
totalInvestingCashFlows number
dividendsPaid number
netBorrowings number
otherFinancingCashFlows number
cashFlowFinancing number
exchangeRateEffect number

Collections

HTTP request example

GET /stock/market/collection/{collectionType}

The above example will return JSON with the following keys

[
    quote,
    ...
]

Returns an array of quote objects for a given collection type. Currently supported collection types are sector, tag, and list

Data Weighting

Weight of /stock/quote per quote returned

Available Methods

Query String Parameters

Parameter Details
collectionName
  • Required
  • Name of the sector, tag, or list to return and is case sensitive.
  • Supported lists can be found under the list section.
  • Supported sectors can be found under the sector-performance section.
  • Supported tags can be found in each stock company object.
  • Response Attributes

    Key Type Description
    quote object See the quote section.

    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",
      "tags": [
          "Technology",
          "Consumer Electronics",
          "Computer Hardware"
      ]
    }
    

    Data Weighting

    1

    Data Timing

    End of Day

    Data Schedule

    Updates at 4am and 5am UTC every day

    Data Source(s)

    Primary Partner

    Available Methods

    Response Attributes

    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
    tags array an array of strings used to classify the company.

    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,
      "high": 143.90,
      "low": 142.26,
      "totalVolume": 33547893,
      "processedTime": 1498763640156
    }
    

    This returns the 15 minute delayed market quote.

    Data Weighting

    1 per symbol per quote

    Data Timing

    15min delayed

    Data Schedule

    4:30am - 8pm ET M-F when market is open

    Data Source(s)

    Primary Partner

    Available Methods

    GET /stock/{symbol}/delayed-quote

    Examples

    Response Attributes

    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.

    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,
            "flag": "Dividend income",
        } // , { ... }
    ]
    
    

    Data Weighting

    10 per symbol per period returned

    Data Timing

    End of day

    Data Schedule

    Updated at 9am UTC every day

    Data Source(s)

    EventVestor

    Available Methods

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

    Examples

    Path Parameters

    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
    next The next upcoming dividend Historical market data

    Response Attributes

    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
    flag string Description of the dividend event

    Earnings

    HTTP request example

    GET /stock/{symbol}/earnings/{last}/{field}
    

    The above example will return JSON with the following keys

    {
      "symbol": "AAPL",
      "earnings": [
        {
          "actualEPS": 2.1,
          "consensusEPS": 2.02,
          "announceTime": "AMC",
          "numberOfEstimates": 14,
          "EPSSurpriseDollar": 0.08,
          "EPSReportDate": "2017-05-02",
          "fiscalPeriod": "Q2 2017",
          "fiscalEndDate": "2017-03-31",
          "yearAgo": 1.67,
          "yearAgoChangePercent": .30,
        },
        {
          "actualEPS": 3.36,
          "consensusEPS": 3.22,
          "announceTime": "AMC",
          "numberOfEstimates": 15,
          "EPSSurpriseDollar": 0.14,
          "EPSReportDate": "2017-01-31",
          "fiscalPeriod": "Q1 2017",
          "fiscalEndDate": "2016-12-31",
          "yearAgo": 1.67,
          "yearAgoChangePercent": .30,
        },
      ]
    }
    

    Earnings data for a given company including the actual EPS, consensus, and fiscal period. Earnings are available quarterly (last 4 quarters) and annually (last 4 years).

    Data Weighting

    1000 per symbol per period

    Data Timing

    End of day

    Data Schedule

    Updates at 9am, 11am, 12pm UTC every day

    Data Source(s)

    Primary Partner

    Available Methods

    GET /stock/{symbol}/earnings

    GET /stock/{symbol}/earnings/{last}

    GET /stock/{symbol}/earnings/{last}/{field}

    Path Parameters

    Parameter Details
    last Optional (Number) - Number of quarters or years to return. Default is 1.
    field Optional (String) - case sensitive string matching a response attribute below. Returns raw value of field specified. Useful for Excel Webservice calls.

    Examples

    Response Attributes

    Key Type Description
    actualEPS number Actual earnings per share for the period
    consensusEPS number Consensus EPS estimate trend for the period
    announceTime string Time of earnings announcement. BTO (Before open), DMT (During trading), AMC (After close)
    numberOfEstimates number Number of estimates for the period
    EPSSurpriseDollar number Dollar amount of EPS surprise for the period
    EPSReportDate string Expected earnings report date YYYY-MM-DD
    fiscalPeriod string The fiscal quarter the earnings data applies to Q# YYYY
    fiscalEndDate string Date representing the company fiscal quarter end YYYY-MM-DD
    yearAgo number Represents the EPS of the quarter a year ago
    yearAgoChangePercent number Represents the percent difference between the quarter a year ago actualEPS and current period actualEPS.

    Earnings Today

    HTTP request example

    GET /stock/market/today-earnings
    

    The above example will return JSON with the following keys

    {
      "bto": [
        {
          "actualEPS": 2.1,
          "consensusEPS": 2.02,
          "estimatedEPS": 2.02,
          "announceTime": "BTO",
          "numberOfEstimates": 14,
          "EPSSurpriseDollar": 0.08,
          "EPSReportDate": "2017-05-02",
          "fiscalPeriod": "Q2 2017",
          "fiscalEndDate": "2017-03-31",
          "yearAgo": 1.67,
          "yearAgoChangePercent": .30,
          "estimatedChangePercent": .28,
          "symbolId": 11,
          "symbol": "AAPL",
          "quote": {
              ...
          },
          "headline": ""
        },
        ...
      ],
      "amc": [
        {
          "actualEPS": 3.36,
          "consensusEPS": 3.22,
          "estimatedEPS": 3.22,
          "announceTime": "AMC",
          "numberOfEstimates": 15,
          "EPSSurpriseDollar": 0.14,
          "EPSReportDate": "2017-05-02",
          "fiscalPeriod": "Q2 2017",
          "fiscalEndDate": "2017-03-31",
          "yearAgo": 1.67,
          "yearAgoChangePercent": .30,
          "estimatedChangePercent": .28,
          "symbolId": 1,
          "symbol": "A",
          "quote": {
              ...
          },
          "headline": ""
        },
        ...
      ]
    }
    

    Returns earnings that will be reported today as two arrays: before the open bto and after market close amc. Each array contains an object with all keys from earnings, a quote object, and a headline key.

    Data Weighting

    1051 per symbol returned

    Data Timing

    End of day

    Data Schedule

    Updates at 9am, 11am, 12pm UTC daily

    Data Source(s)

    Primary Partner

    Notes

    Available Methods

    GET /stock/market/today-earnings

    Examples

    Response Attributes

    Key Type Description
    actualEPS number Actual earnings per share for the period
    consensusEPS number Consensus EPS estimate trend for the period
    estimatedEPS number Earnings per share estimate for the period
    announceTime string Time of earnings announcement. BTO (Before open), DMT (During trading), AMC (After close)
    numberOfEstimates number Number of estimates for the period
    EPSSurpriseDollar number Dollar amount of EPS surprise for the period
    EPSReportDate string Expected earnings report date YYYY-MM-DD
    fiscalPeriod string The fiscal quarter the earnings data applies to Q# YYYY
    fiscalEndDate string Date representing the company fiscal quarter end YYYY-MM-DD
    yearAgo number Represents the EPS of the quarter a year ago
    yearAgoChangePercent number Represents the percent difference between the quarter a year ago actualEPS and current period actualEPS
    estimatedChangePercent number Represents the percent difference between the quarter a year ago actualEPS and current period estimatedEPS
    symbolId string Represents the IEX id for the stock
    symbol string The symbol the earning relates to
    quote object See quote
    headline string Look back of the last few news items and returns the headline of an article that mentions the earnings result. Useful for display the result of an earnings announcement before the data is available in the API.

    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.

    Data Weighting

    0

    Data Timing

    End of day

    Data Schedule

    8am ET M-F

    Data Source(s)

    Investors Exchange

    Available Methods

    GET /stock/{symbol}/effective-spread

    Examples

    Response Attributes

    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

    Estimates

    HTTP request example

    GET /stock/{symbol}/estimates/{last}/{field}
    

    The above example will return JSON with the following keys

    {
      "symbol": "AAPL",
      "estimates": [
        {
          "consensusEPS": 2.02,
          "numberOfEstimates": 14,
          "fiscalPeriod": "Q2 2017",
          "fiscalEndDate": "2017-03-31",
          "reportDate": "2017-04-15",
        }
      ]
    }
    

    Provides the latest consensus estimate for the next fiscal period

    Data Weighting

    10000 per symbol per period

    Data Timing

    End of day

    Data Schedule

    Updates at 9am, 11am, 12pm UTC every day

    Data Source(s)

    Primary Partner

    Available Methods

    GET /stock/{symbol}/estimates

    Examples

    Response Attributes

    Key Type Description
    consensusEPS number Consensus EPS estimate trend for the period
    numberOfEstimates number Number of estimates for the period
    fiscalPeriod string The fiscal quarter the earnings data applies to Q# YYYY
    fiscalEndDate string Date representing the company fiscal quarter end YYYY-MM-DD
    reportDate string Expected report date of next earnings

    Financials

    HTTP request example

    GET /stock/{symbol}/financials/{last}/{field}
    

    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 most recent reported quarter.

    Data Weighting

    5000 per symbol per period

    Data Timing

    End of day

    Data Schedule

    Updates at 8am, 9am UTC daily

    Data Source(s)

    Primary Partner

    Notes

    Available Methods

    Query String Parameters

    Parameter Details
    period • Optional
    • string. Allows you to specify annual or quarterly financials. Defaults to quarterly. Values should be annual or quarterly

    Response Attributes

    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

    Historical Prices

    HTTP request examples

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

    The above example will return JSON with the following keys

    // .../1d
    
    [
        {
            "date": "20171215"
            "minute": "09:30",
            "label": "09:30 AM",
            "high": 143.98,
            "low": 143.775,
            "average": 143.889,
            "volume": 3070,
            "notional": 441740.275,
            "numberOfTrades": 20,
            "marktHigh": 143.98,
            "marketLow": 143.775,
            "marketAverage": 143.889,
            "marketVolume": 3070,
            "marketNotional": 441740.275,
            "marketNumberOfTrades": 20,
            "open": 143.98,
            "close": 143.775,
            "marktOpen": 143.98,
            "marketClose": 143.775,
            "changeOverTime": -0.0039,
            "marketChangeOverTime": -0.004
        } // , { ... }
    ]
    
    
    // .../3m
    
    [
        {
            "date": "2017-04-03",
            "open": 143.1192,
            "high": 143.5275,
            "low": 142.4619,
            "close": 143.1092,
            "volume": 19985714,
            "uOpen": 143.1192,
            "uHigh": 143.5275,
            "uLow": 142.4619,
            "uClose": 143.1092,
            "uVolume": 19985714,
            "change": 0.039835,
            "changePercent": 0.028,
            "label": "Apr 03, 17",
            "changeOverTime": -0.0039
        } // , { ... }
    ]
    
    // .../dynamic
    {
      "range": "1m",
      "data": [
          {
              "date": "2017-04-03",
              "open": 143.1192,
              "high": 143.5275,
              "low": 142.4619,
              "close": 143.1092,
              "volume": 19985714,
              "uOpen": 143.1192,
              "uHigh": 143.5275,
              "uLow": 142.4619,
              "uClose": 143.1092,
              "uVolume": 19985714,
              "change": 0.039835,
              "changePercent": 0.028,
              "label": "Apr 03, 17",
              "changeOverTime": -0.0039
          } // , { ... }
      ]
    }
    

    Data Weighting

    Adjusted + Unadjusted data

    10 per symbol per time interval returned (Excluding 1d)

    Example: If you query for AAPL 5 day, it will return 5 days of prices for AAPL for a total of 50.

    Adjusted close only data (use chartCloseOnly param)

    2 per symbol per time interval returned (Excluding 1d)

    Intraday minute bar data

    1 per symbol per time interval for 1d range up to a max of 50

    Example: If you query for AAPL 1d at 11:00am, it will return 90 minutes of data for a total of 50.

    IEX Only intraday minute bar data (use chartIEXOnly param)

    Free

    This will only return IEX data with keys minute, high, low, average, volume, notional, and numberOfTrades

    Data Timing

    1 minute delayed and 15 minutes delayed for 1d range

    End of Day for all other ranges

    Data Schedule

    1d

    9:30-4pm ET Mon-Fri on regular market trading days

    9:30-1pm ET on early close trading days

    All others

    Prior trading day available after 4am ET Tue-Sat

    Data Source(s)

    Primary Partner

    Investors Exchange

    Available Methods

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

    Examples

    Path Parameters

    symbol

    Valid symbol

    range

    Ranges Description Source
    max All available data up to 15 years Historically adjusted market-wide data
    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. Currently supporting trailing 30 calendar days.
    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.

    Query String Parameters

    Parameter Details
    chartCloseOnly • Optional
    • boolean. All ranges except 1d. Will return adjusted data only with keys date, close, and volume.
    chartIEXOnly • Optional
    • boolean. Only for 1d. Limits the return of intraday prices to IEX only data.
    chartReset • Optional
    • boolean. If true, 1d chart will reset at midnight instead of the default behavior of 9:30am ET.
    chartSimplify • Optional
    • boolean. If true, runs a polyline simplification using the Douglas-Peucker algorithm. This is useful if plotting sparkline charts.
    chartInterval • Optional
    • number. If passed, chart data will return every Nth element as defined by chartInterval
    changeFromClose • Optional
    • boolean. If true, changeOverTime and marketChangeOverTime will be relative to previous day close instead of the first value.
    chartLast • Optional
    • number. If passed, chart data will return the last N elements

    Response Attributes

    Key Type Description
    minute string is only available on 1d chart.
    marketAverage number is only available on 1d chart. 15 minute delayed consolidated data.
    marketNotional number is only available on 1d chart. 15 minute delayed consolidated data.
    marketNumberOfTrades number is only available on 1d chart. 15 minute delayed consolidated data.
    marketOpen number is only available on 1d chart. 15 minute delayed consolidated data.
    marketClose number is only available on 1d chart. 15 minute delayed consolidated data.
    marketHigh number is only available on 1d chart. 15 minute delayed consolidated data.
    marketLow number is only available on 1d chart. 15 minute delayed consolidated data.
    marketVolume number is only available on 1d chart. 15 minute delayed consolidated data.
    marketChangeOverTime number is only available on 1d chart. Percent change of each interval relative to first value. 15 minute delayed consolidated data.
    average number is only available on 1d chart. Average price during the time interval.
    notional number is only available on 1d chart.
    numberOfTrades number is only available on 1d chart.
    simplifyFactor array is only available on 1d chart, and only when chartSimplify is true. The first element is the original number of points. Second element is how many remain after simplification.
    date string is available on all charts.
    high number is available on all charts. Adjusted data for historical dates. Represents IEX only data for 1d charts.
    low number is available on all charts. Adjusted data for historical dates. Represents IEX only data for 1d charts.
    volume number is available on all charts. Adjusted data for historical dates. Represents IEX only data for 1d charts.
    open number is available on all charts. Adjusted data for historical dates. Represents IEX only data for 1d charts.
    close number is available on all charts. Adjusted data for historical dates. Represents IEX only data for 1d charts.
    uHigh number is not available on 1d charts. Unadjusted data for historical dates.
    uLow number is not available on 1d charts. Unadjusted data for historical dates.
    uVolume number is not available on 1d charts. Unadjusted data for historical dates.
    uOpen number is not available on 1d charts. Unadjusted data for historical dates.
    uClose number is not available on 1d charts. Unadjusted data for historical dates.
    changeOverTime number is available on all charts. Percent change of each interval relative to first value. Useful for comparing multiple stocks.
    label number is available on all charts. A human readable format of the date depending on the range.
    change number is not available on 1d chart. Change from previous trading day.
    changePercent number is not available on 1d chart. Change percent from previous trading day.

    Income Statement

    HTTP request example

    GET /stock/{symbol}/income/{last}/{field}
    

    The above example will return JSON with the following keys

    {
      "symbol": "AAPL",
      "income": [
        {
          "reportDate": "2017-03-31",
          "totalRevenue": 62681000000,
          "costOfRevenue": 39086000000,
          "grossProfit": 23595000000,
          "researchAndDevelopment": 3750000000,
          "sellingGeneralAndAdmin": 4216000000,
          "operatingExpense": 47052000000,
          "operatingIncome": 15629000000,
          "otherIncomeExpenseNet": 792000000,
          "ebit": 15629000000,
          "interestIncome": 868000000,
          "pretaxIncome": 16421000000,
          "incomeTax": 2296000000,
          "minorityInterest": 0,
          "netIncome": 14125000000,
          "netIncomeBasic": 14125000000
        } // , { ... }
      ]
    }
    

    Pulls income statement data. Available quarterly (4 quarters) or annually (4 years).

    Data Weighting

    1000 per symbol per period

    Data Timing

    End of day

    Data Schedule

    Updates at 8am, 9am UTC daily

    Data Source(s)

    Primary Partner

    Notes

    Available Methods

    Query String Parameters

    Parameter Details
    period • Optional
    • string. Allows you to specify annual or quarterly income statement. Defaults to quarterly. Values should be annual or quarter

    Response Attributes

    Key Type
    reportDate string
    totalRevenue number
    costOfRevenue number
    grossProfit number
    researchAndDevelopment number
    sellingGeneralAndAdmin number
    operatingExpense number
    operatingIncome number
    otherIncomeExpenseNet number
    ebit number
    interestIncome number
    pretaxIncome number
    incomeTax number
    minorityInterest number
    netIncome number
    netIncomeBasic number

    IPO Calendar

    HTTP request example

    GET /stock/market/upcoming-ipos
    GET /stock/market/today-ipos
    

    The above example will return JSON with the following keys

    {
        "rawData": [
            {
                "symbol": "VCNX",
                "companyName": "VACCINEX, INC.",
                "expectedDate": "2018-08-09",
                "leadUnderwriters": [
                    "BTIG, LLC",
                    "Oppenheimer & Co. Inc."
                ],
                "underwriters": [
                    "Ladenburg Thalmann & Co. Inc."
                ],
                "companyCounsel": [
                    "Hogan Lovells US LLP and Harter Secrest & Emery LLP"
                ],
                "underwriterCounsel": [
                    "Mintz, Levin, Cohn, Ferris, Glovsky and Popeo, P.C."
                ],
                "auditor": "Computershare Trust Company, N.A",
                "market": "NASDAQ Global",
                "cik": "0001205922",
                "address": "1895 MOUNT HOPE AVE",
                "city": "ROCHESTER",
                "state": "NY",
                "zip": "14620",
                "phone": "585-271-2700",
                "ceo": "Maurice Zauderer",
                "employees": 44,
                "url": "www.vaccinex.com",
                "status": "Filed",
                "sharesOffered": 3333000,
                "priceLow": 12,
                "priceHigh": 15,
                "offerAmount": null,
                "totalExpenses": 2400000,
                "sharesOverAlloted": 499950,
                "shareholderShares": null,
                "sharesOutstanding": 11474715,
                "lockupPeriodExpiration": "",
                "quietPeriodExpiration": "",
                "revenue": 206000,
                "netIncome": -7862000,
                "totalAssets": 4946000,
                "totalLiabilities": 6544000,
                "stockholderEquity": -133279000,
                "companyDescription": "",
                "businessDescription": "",
                "useOfProceeds": "",
                "competition": "",
                "amount": 44995500,
                "percentOffered": "29.05"
            },
            ...
        ],
        "viewData": [
            {
                "Company": "VACCINEX, INC.",
                "Symbol": "VCNX",
                "Price": "$12.00 - 15.00",
                "Shares": "3,333,000",
                "Amount": "44,995,500",
                "Float": "11,474,715",
                "Percent": "29.05%",
                "Market": "NASDAQ Global",
                "Expected": "2018-08-09"
            },
            ...
        ]
    }
    

    This returns a list of upcoming or today IPOs scheduled for the current and next month. The response is split into two structures: rawData and viewData. rawData represents all available data for an IPO. viewData represents data structured for display to a user.

    Data Weighting

    100 per IPO returned for upcoming-ipos

    500 per IPO returned for today-ipos

    Data Timing

    End of day

    Data Schedule

    10am, 10:30am UTC daily

    Data Source(s)

    IEX Cloud

    Available Methods

    GET /stock/market/upcoming-ipos

    GET /stock/market/today-ipos

    Examples

    Response Attributes

    Key Type Description
    symbol string refers to the IPO symbol.
    companyName string refers to the name of the IPO company.
    expectedDate string refers to the date the IPO is expected to start trading.
    leadUnderwriters array refers to the list of investment banks leading the IPO.
    underwriters array refers to the list of investment banks underwriting the IPO.
    companyCounsel array refers to the list of legal firms representing the company.
    underwriterCounsel array refers to the list of legal firms representing the underwriter.
    auditor string refers to the auditing firm for the company.
    market string refers to the exchange listing the IPO.
    cik string refers to the Central Index Key assigned by the SEC to identify filings.
    address string refers to the company address.
    city string refers to the company city.
    state string refers to the company state.
    zip string refers to the company zip code.
    phone string refers to the company phone number.
    ceo string refers to the name of the company CEO.
    employees number refers to the number of employees in the company.
    url string refers to the URL of the company website.
    status string refers to the filing status of the SEC Form S-1.
    sharesOffered number refers to the number of shares offered in the IPO.
    priceLow number refers to the low end estimate of IPO share price. On the day of the IPO, this will be the syndicate price which is used similarly to previousClose to determine change versus current price.
    priceHigh number refers to the high end estimate of IPO share price. On the day of the IPO, this value may be null.
    offerAmount number refers to the notional value of the IPO in dollars.
    totalExpenses number refers to company total expenses in dollars.
    sharesOverAlloted number refers to number of shares alloted by underwriters in excess of IPO offering.
    shareholderShares number refers to number of shares offered by existing shareholders.
    sharesOutstanding number refers to the total number of company shares outstanding.
    lockupPeriodExpiration string refers to the date of insider lockup period expiration.
    quietPeriodExpiration string refers to the date following IPO when company quiet period expires.
    revenue number refers to company revenue in dollars.
    netIncome number refers to company net income in dollars.
    totalAssets number refers to company total assets in dollars.
    totalLiabilities number refers to company total liabilities in dollars.
    stockholderEquity number refers to stock holder equity in dollars.
    companyDescription string description of the company.
    businessDescription string description of the company’s business.
    useOfProceeds string description of the company’s planned use of proceeds from the IPO.
    competition string description of the company’s competition.
    amount number refers to the notional value of shares offered * average share price in dollars.
    percentOffered string refers to the percent of outstanding shares being offered as a whole number.
    Company string same as companyName
    Symbol string same as symbol
    Price string formatted as $priceLow - priceHigh
    Shares string same as sharesOffered
    Amount string same as amount
    Float string same as sharesOutstanding
    Percent string same as percentOffered
    Market string same as market
    Expected string same as expectedDate

    Key Stats

    HTTP request example

    GET /stock/{symbol}/stats/{stat}
    

    The above example will return JSON with the following keys

    {
      "companyName": "Apple Inc.",
      "marketcap": 760334287200,
      "week52high": 156.65,
      "week52low": 93.63,
      "week52change": 58.801903,
      "sharesOutstanding": 5213840000,
      "float": 5203997571,
      "symbol": "AAPL",
      "avg10Volume": 2774000,
      "avg30Volume": 12774000,
      "day200MovingAvg": 140.60541,
      "day50MovingAvg": 156.49678,
      "employees": 120000,
      "ttmEPS": 16.5,
      "ttmDividendRate": 2.25,
      "dividendYield": .021,
      "nextDividendDate": '2019-03-01',
      "nextEarningsDate": '2019-01-01',
      "peRatio": 14,
      "maxChangePercent": 153.021,
      "year5ChangePercent": 0.5902546932200027,
      "year2ChangePercent": 0.3777449874142869,
      "year1ChangePercent": 0.39751716851558366,
      "ytdChangePercent": 0.36659492036160124,
      "month6ChangePercent": 0.12208398133748043,
      "month3ChangePercent": 0.08466584665846649,
      "month1ChangePercent": 0.009668596145283263,
      "day30ChangePercent": -0.002762605699968781,
      "day5ChangePercent": -0.005762605699968781
    }
    

    Data Weighting

    5 per call per symbol for full stats

    1 per call per symbol for single stat filter

    Data Timing

    End of day

    Data Schedule

    8am, 9am ET

    Data Source(s)

    Primary Partner

    Path Parameter

    Parameter Details
    stat Optional. Case sensitive string matching the name of a single key to return one value. Ex: If you only want the next earnings date, you would call /stock/aapl/stats/nextEarningsDate

    Available Methods

    Response Attributes

    Key Type Description
    companyName string
    marketcap number is not calculated in real time.
    week52high number
    week52low number
    week52change number
    sharesOutstanding number
    employees number
    avg30Volume number Average 30 day volume
    avg10Volume number Average 10 day volume
    float number
    symbol string
    employees number
    ttmEPS number Trailing twelve month earnings per share
    ttmDividendRate number Trailing twelve month dividend rate per share
    dividendYield number Dividend yield percent
    nextDividendDate string
    nextEarningsDate string
    peRatio string Based on ttmEPS and previous day close
    day200MovingAvg number
    day50MovingAvg number
    maxChangePercent number
    year5ChangePercent number
    year2ChangePercent number
    year1ChangePercent number
    ytdChangePercent number
    month6ChangePercent number
    month3ChangePercent number
    month1ChangePercent number
    day30ChangePercent number
    day5ChangePercent number

    Largest Trades

    HTTP request example

    GET /stock/{symbol}/largest-trades
    

    The above example will return JSON with the following keys

    [
      {
        "price": 186.39,
        "size": 10000,
        "time": 1527090690175,
        "timeLabel": "11:51:30",
        "venue": "EDGX",
        "venueName": "Cboe EDGX"
      },
      ...
    ]
    

    This returns 15 minute delayed, last sale eligible trades.

    Data Weighting

    1 per trade returned

    Data Timing

    15min delayed

    Data Schedule

    9:30-4pm ET M-F during regular market hours

    Data Source(s)

    Consolidated Tape

    Available Methods

    GET /stock/{symbol}/largest-trades

    Examples

    Response Attributes

    Key Type Description
    price number refers to the price of the trade.
    size number refers to the number of shares of the trade.
    time number refers to the time of the trade.
    timeLabel string formatted time string as HH:MM:SS
    venue string refers to the venue where the trade occurred. None refers to a TRF (off exchange) trade.
    venueName string formatted venue name where the trade occurred.

    List

    HTTP request example

    GET /stock/market/list/{list-type}
    

    The above example will return JSON with the following keys

     [
        // Array of quotes
     ]
    

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

    Data Weighting

    Weight of /stock/quote for each quote returned in the list

    Data Timing

    realtime

    15 minute delayed

    Data Schedule

    Updated intraday

    Data Source(s)

    Investors Exchange Consolidated Tape

    Notes

    Available Methods

    GET /stock/market/list/{list-type}

    Examples

    Query String 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 Attributes

    Refer to the quote section.

    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.

    Data Weighting

    1 per logo

    Data Timing

    End of day

    Data Schedule

    8am UTC daily

    Data Source(s)

    Web

    Available Methods

    GET /stock/{symbol}/logo

    Examples

    Response Attributes

    Key Type
    url string

    Market Volume (U.S.)

    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
      }
    ]
    

    This endpoint returns real time traded volume on U.S. markets.

    Data Weighting

    1 per call

    Data Timing

    realtime

    Data Schedule

    7:45am-5:15pm ET Mon-Fri

    Data Source(s)

    IEX Cloud

    Consolidate Tape

    Available Methods

    GET /stock/market/volume

    Examples

    /market

    Query String Parameters

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

    Response Attributes

    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.

    News

    HTTP request example

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

    The above example will return JSON with the following keys

    [
      {
        "datetime": 1545215400000,
        "headline": "Voice Search Technology Creates A New Paradigm For Marketers",
        "source": "Benzinga",
        "url": "https://cloud.iexapis.com/beta/news/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",
        "image": "https://cloud.iexapis.com/beta/news/image/7594023985414148",
        "lang": "en",
        "hasPaywall": true
      }
    ]
    

    Data Weighting

    10 per symbol per news item returned

    Data Timing

    Intraday

    Data Schedule

    Continuous

    Data Source(s)

    CityFalcon

    Available Methods

    GET /stock/{symbol}/news

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

    Path Parameters

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

    Examples

    Response Attributes

    Key Type Description
    datetime number  Millisecond epoch of time of article
    headline string 
    source string  Source of the news article. Make sure to always attribute the source.
    url string  URL to IEX Cloud for associated news image. Note: You will need to append your token before calling.
    summary string 
    related string  Comma-delimited list of tickers associated with this news article. Not all tickers are available on the API. Make sure to check against available ref-data
    image string  URL to IEX Cloud for associated news image. Note: You will need to append your token before calling.
    lang string  Language of the source article
    hasPaywall boolean  Whether the news source has a paywall

    OHLC

    HTTP request example

    GET /stock/{symbol}/ohlc
    

    The above example will return JSON with the following keys

    {
      "open": {
        "price": 154,
        "time": 1506605400394
      },
      "close": {
        "price": 153.28,
        "time": 1506605400394
      },
      "high": 154.80,
      "low": 153.25
    }
    

    Returns the official open and close for a give symbol.

    Data Weighting

    2 per symbol

    Data Timing

    15min delayed

    Data Schedule

    9:30am-5pm ET Mon-Fri

    Data Source(s)

    Consolidated Tape

    Available Methods

    GET /stock/{symbol}/ohlc

    Examples

    Response Attributes

    Key Type Description
    open Object refers to the official open or close price
        price number refers to the official open price
        time number refers to the official listing exchange time for the open
    close Object refers to the official open or close price
        price number refers to the official close price
        time number refers to the official listing exchange time for the close
    high number refers to the market-wide highest price from the SIP (15 minute delayed)
    low number refers to the market-wide lowest price from the SIP (15 minute delayed)
    time number refers to the official listing exchange time for the open or close

    Open / Close Price

    HTTP request example

    Refer to ohlc

    Peers

    HTTP request example

    GET /stock/{symbol}/peers
    

    The above example will return an array

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

    Data Weighting

    500 per call

    Data Timing

    End of day

    Data Schedule

    8am UTC daily

    Data Source(s)

    IEX Cloud

    Available Methods

    GET /stock/{symbol}/peers

    Examples

    Response Attributes

    An array of peer symbols.

    Previous Day Prices

    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,
    }
    

    This returns previous day adjusted price data for one or more stocks

    Data Weighting

    2 per symbol

    Data Timing

    End of day

    Data Schedule

    Available after 4am ET Tue-Sat

    Data Source(s)

    Primary Partner

    Available Methods

    GET /stock/{symbol}/previous

    GET /stock/market/previous

    Examples

    Response Attributes

    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

    Price

    HTTP request example

    GET /stock/{symbol}/price
    

    The above example will return a number

    143.28
    

    Data Weighting

    1 per call

    Data Timing

    realtime 15min delayed End of day

    Data Schedule

    4:30am-8pm ET Mon-Fri

    Data Source(s)

    Primary Partner

    Investors Exchange

    Consolidated Tape

    Available Methods

    GET /stock/{symbol}/price

    Examples

    Response Attributes

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

    Price Target

    HTTP request example

    GET /stock/{symbol}/price-target
    

    The above example will return JSON with the following keys

    {
      "symbol": "AAPL",
      "updatedDate": "2019-01-30",
      "priceTargetAverage": 178.59,
      "priceTargetHigh": 245,
      "priceTargetLow": 140,
      "numberOfAnalysts": 34
    }
    

    Provides the latest avg, high, and low analyst price target for a symbol.

    Data Weighting

    500 per symbol

    Data Timing

    End of day

    Data Schedule

    Updates at 10am, 11am, 12pm UTC every day

    Data Source(s)

    Primary Partner

    Available Methods

    GET `/stock/{symbol}/price-target

    Examples

    Response Attributes

    Key Type Description
    symbol number
    updatedDate string Date of the most recent price target
    priceTargetAverage number Average price target
    priceTargetHigh number Highest price target
    priceTargetLow number Lowest price target
    numberOfAnalysts number Number of analysts that provided price targets

    Quote

    HTTP request example

    GET /stock/{symbol}/quote/{field}
    

    SSE Streaming Example (Launch & Scale only)

    curl --header 'Accept: text/event-stream' https://cloud-sse.iexapis.com/beta/stocksUS\?symbols\=spy\&token\=YOUR_TOKEN
    

    The above example will return JSON with the following keys

    {
      "symbol": "AAPL",
      "companyName": "Apple Inc.",
      "calculationPrice": "tops",
      "open": 154,
      "openTime": 1506605400394,
      "close": 153.28,
      "closeTime": 1506605400394,
      "high": 154.80,
      "low": 153.25,
      "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,
      "extendedPrice": 159.21,
      "extendedChange": -1.68,
      "extendedChangePercent": -0.0125,
      "extendedPriceTime": 1527082200361,
      "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,
      "week52High": 159.65,
      "week52Low": 93.63,
      "ytdChange": 0.3665,
    }
    

    Data Weighting

    1 per quote called or streamed

    Data Timing

    Realtime 15min delayed End of day

    Data Schedule

    4:30am-8pm ET Mon-Fri

    Data Source(s)

    Primary Partner Investors Exchange Consolidated Tape

    Available Methods

    GET /stock/{symbol}/quote

    GET /stock/{symbol}/quote/{field}

    Path Parameters

    Parameter Details
    field • Optional
    • Case sensitive string matching a response attribute below. Specifying an attribute will return just the attribute value. This is useful for Excel Webservice calls.

    Query String 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)

    Examples

    Response Attributes

    Key Type Description
    symbol string refers to the stock ticker.
    companyName string refers to the company name.
    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
    high number refers to the market-wide highest price from the SIP. 15 minute delayed
    low number refers to the market-wide lowest price from the SIP. 15 minute delayed
    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 during normal market hours 9:30 - 16:00.
    delayedPriceTime number refers to the time of the delayed market price during normal market hours 9:30 - 16:00.
    extendedPrice number refers to the 15 minute delayed market price outside normal market hours 8:00 - 9:30 and 16:00 - 17:00.
    extendedChange number is calculated using extendedPrice from calculationPrice.
    extendedChangePercent number is calculated using extendedPrice from calculationPrice.
    extendedPriceTime number refers to the time of the delayed market price outside normal market hours 8:00 - 9:30 and 16:00 - 17:00.
    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.
    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.

    Relevant Stocks

    HTTP request example

    GET /stock/{symbol}/relevant
    

    The above example will return an object

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

    Data Weighting

    Same as peers

    Data Timing

    Same as peers

    Data Schedule

    Same as peers

    Data Source(s)

    Same as peers

    Available Methods

    GET /stock/{symbol}/relevant

    Examples

    Response Attributes

    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.

    Sector Performance

    HTTP request example

    GET /stock/market/sector-performance
    

    The above example will return JSON with the following keys

    [
      {
        "type": "sector",
        "name": "Industrials",
        "performance": 0.00711,
        "lastUpdated": 1533672000437
      },
      ...
    ]
    

    This returns an array of each sector and performance for the current trading day. Performance is based on each sector ETF.

    Data Weighting

    1 per sector

    Data Timing

    Realtime

    15min delayed

    Data Schedule

    8am-5pm ET Mon-Fri

    Data Source(s)

    Primary Partner

    IEX Cloud

    Available Methods

    GET /stock/market/sector-performance

    Examples

    Response Attributes

    Key Type Description
    type string The type of performance data return. Should always be sector
    name string The name of the sector
    performance number Change percent of the sector for the trading day.
    lastUpdated number Last updated time of the performance metric represented as millisecond epoch.

    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",
            "ratio": 0.142857,
            "toFactor": 7,
            "fromFactor": 1,
            "description": "7-for-1 split"
        } // , { ... }
    ]
    
    

    Data Weighting

    10 per symbol per record

    Data Timing

    End of day

    Data Schedule

    Updated at 9am UTC every day

    Data Source(s)

    EventVestor

    Available Methods

    GET /stock/{symbol}/splits

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

    Path Parameters

    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
    next Next upcoming split Historical market data

    Examples

    Response Attributes

    Key Type Description
    exDate string refers to the split ex-date
    declaredDate string refers to the split declaration 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 fromfactor/tofactor = ratio (eg ½ = 0.5)
    fromFactor string From factor of the split. Used to calculate the split ratio fromfactor/tofactor = ratio (eg ½ = 0.5)
    description string Description of the split event.

    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.

    Data Weighting

    20 per call

    Data Timing

    15 min delayed

    Data Schedule

    Updated during regular market hours 9:30am-4pm ET

    Data Source(s)

    Consolidated Tape Investors Exchange

    Notes

    Available Methods

    Response Attributes

    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

    Alternative Data

    News

    HTTP request example

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

    The above example will return JSON with the following keys

    [
      {
        "datetime": 1545215400000,
        "headline": "Voice Search Technology Creates A New Paradigm For Marketers",
        "source": "Benzinga",
        "url": "https://cloud.iexapis.com/beta/news/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",
        "image": "https://cloud.iexapis.com/beta/news/image/7594023985414148",
        "lang": "en",
        "hasPaywall": true
      }
    ]
    

    Data Weighting

    10 per symbol per news item returned

    Data Timing

    Intraday

    Data Schedule

    Continuous

    Data Source(s)

    CityFalcon

    Available Methods

    GET /stock/{symbol}/news

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

    Path Parameters

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

    Examples

    Response Attributes

    Key Type Description
    datetime number  Millisecond epoch of time of article
    headline string 
    source string  Source of the news article. Make sure to always attribute the source.
    url string  URL to IEX Cloud for associated news image. Note: You will need to append your token before calling.
    summary string 
    related string  Comma-delimited list of tickers associated with this news article. Not all tickers are available on the API. Make sure to check against available ref-data
    image string  URL to IEX Cloud for associated news image. Note: You will need to append your token before calling.
    lang string  Language of the source article
    hasPaywall boolean  Whether the news source has a paywall

    Crypto

    HTTP request example

    GET /crypto/{symbol}/quote
    

    The above example will return JSON with the following keys

      quote,
      ...
    

    This will a quote for Cryptocurrencies supported by the IEX API. Each element is a standard quote.

    Data Weighting

    1 per symbol

    Data Timing

    Realtime

    Data Schedule

    continuous

    Data Source(s)

    Binance

    Available Methods

    GET /crypto/{symbol}/quote

    Examples

    Response Attributes

    See quote

    Social Sentiment

    HTTP request example

    GET /stock/{symbol}/sentiment/{type}/{?date}
    

    The above example will return JSON with the following keys

    // Daily
    
    {
      "sentiment": 0.20365833333333336,
      "totalScores": 24,
      "positive": 0.88,
      "negative": 0.12
    }
    
    // By minute
    [
      {
        "sentiment": 0.23336666666666664,
        "totalScores": 3,
        "positive": 1,
        "negative": 0,
        "minute": "1258"
      },
    ]
    

    This endpoint provides social sentiment data from StockTwits. Data can be viewed as a daily value, or by minute for a given date.

    Data Weighting

    100 per symbol per date for daily sentiment

    200 per symbol per date for by minute sentiment

    Data Timing

    Realtime

    Data Schedule

    Continuous

    Data Source(s)

    StockTwits

    Notes

    Launch and Scale tiers only.

    Available Methods

    GET /stock/{symbol}/sentiment/{type}/{date}

    Path Parameters

    Option Description
    symbol valid symbol
    type Optional. Can only be daily or minute. Default is daily.
    date Optional. Format YYYYMMDD date to fetch sentiment data.

    Examples

    Response Attributes

    Key Type Description
    sentiment number  Number between -1 and 1 where -1 is most bearish and 1 is most bullish.
    totalScores number  Number of social data inputs to generate the sentiment value.
    positive string  Percent of social messages with positive sentiment.
    negative string  Percent of social messages with negative sentiment.
    minute string  Only provided when minute is requested. Minute represented as HHmm.

    Reference Data

    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": "2019-01-01",
        "isEnabled": true,
        "type": "cs",
        "iexId": "IEX_46574843354B2D52"
      },
      {
        "symbol": "AA",
        "name": "ALCOA CORP",
        "date": "2019-01-01",
        "isEnabled": true,
        "type": "cs",
        "iexId": "IEX_4238333734532D52"
      }
    ]
    

    This call returns an array of symbols that IEX Cloud supports for API calls.

    Data Weighting

    100 per call

    Data Timing

    End of day

    Data Schedule

    8am, 9am, 12pm, 1pm UTC daily

    Data Source(s)

    Primary Partner Investors Exchange

    Notes

    Available Methods

    /ref-data/symbols

    Query String Parameters

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

    Response Attributes

    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.
    type refers to the common issue type (AD - ADR
    RE - REIT
    CE - Closed end fund
    SI - Secondary Issue
    LP - Limited Partnerships
    CS - Common Stock
    ET - ETF)
    iexId unique ID applied by IEX to track securities through symbol changes.

    IEX Symbols

    HTTP request example

    GET /ref-data/iex/symbols
    

    The above example will return JSON with the following keys

    [
      {
        "symbol": "A",
        "date": "2017-04-19",
        "isEnabled": true,
      },
      {
        "symbol": "AA",
        "date": "2017-04-19",
        "isEnabled": true,
      }
    ]
    

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

    Data Weighting

    Free

    Data Timing

    End of day

    Data Schedule

    8am, 9am, 12pm, 1pm UTC daily

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    /ref-data/iex/symbols

    Query String Parameters

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

    Response Attributes

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

    U.S. Exchanges

    HTTP request example

    GET /ref-data/market/us/exchanges
    

    The above example will return JSON with the following keys

    [
      {
        "name": "IEX",
        "mic": "IEXG",
        "tapeId": "V",
        "oatsId": "XV",
        "type": "equities"
      },
    ]
    

    Returns an array of U.S. exchanges.

    Data Weighting

    1 per call

    Data Timing

    End of day

    Data Schedule

    8am, 9am, 12pm, 1pm UTC daily

    Data Source(s)

    Investors Exchange

    Available Methods

    GET /ref-data/market/us/exchanges

    Examples

    /ref-data/market/us/exchanges

    Response Attributes

    Key Type Description
    name string Full name of the exchange.
    mic string Market identifier code for the exchange.
    tapeId string ID used to identify the exchange on the Consolidated Tape.
    oatsId string FINRA OATS exchange participant ID.
    type string Type of securities traded by the exchange

    U.S. Holidays and Trading Dates

    HTTP request example

    GET /ref-data/us/dates/{type}/{direction?}/{last?}/{startDate?}
    

    The above example will return JSON with the following keys

    [
      {
        "date": "2019-02-07",
        "settlementDate": "2019-02-09",
      },
    ]
    

    This call allows you to fetch a number of trade dates or holidays from a given date. For example, if you want the next trading day, you would call /ref-data/us/dates/trade/next/1.

    Data Weighting

    1 per call

    Data Timing

    End of day

    Data Schedule

    Back to 2017 to forward 2 years.

    Data Source(s)

    Investors Exchange

    Available Methods

    GET /ref-data/us/dates/{type}/{direction?}/{last?}/{startDate?}

    Examples

    Next /ref-data/us/dates/

    Path Parameters

    Parameter Type Details
    type string Required. Can be trade or holiday
    direction string • Optional. Can be next or last. Default is next
    last number • Optional. Number of days to go back or forward. Default is 1
    startDate string • Optional. Used to specify the start date for next or last. Format is YYYYMMDD. Defaults to today.

    Response Attributes

    Key Type Description
    date string Trading or holiday date depending on the type specified. Formatted as YYYY-MM-DD.
    settlementDate string T+2 trade settlement date depending on the type specified. Formatted as YYYY-MM-DD.

    Stock Tags

    [In Development]

    Stock Collections

    [In Development]

    Mutual Fund Symbols

    HTTP request example

    GET /ref-data/mutual-funds/symbols
    

    The above example will return JSON with the following keys

    [
      {
        "symbol": "A",
        "name": "AGILENT TECHNOLOGIES INC",
        "date": "2019-01-01",
        "type": "cs",
        "iexId": "IEX_46574843354B2D52"
      },
    ]
    

    This call returns an array of mutual fund symbols that IEX Cloud supports for API calls.

    Data Weighting

    100 per call

    Data Timing

    End of day

    Data Schedule

    8am, 9am, 12pm, 1pm UTC daily

    Data Source(s)

    Primary Partner Investors Exchange

    Notes

    Available Methods

    Examples

    /ref-data/mutual-funds/symbols

    Query String Parameters

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

    Response Attributes

    Key Description
    symbol refers to the symbol
    name refers to the name of the company or security.
    date refers to the date the symbol reference data was generated.
    type refers to the common issue type (AD - ADR
    RE - REIT
    CE - Closed end fund
    SI - Secondary Issue
    LP - Limited Partnerships
    CS - Common Stock
    ET - ETF)
    iexId unique ID applied by IEX to track securities through symbol changes.

    OTC Symbols

    HTTP request example

    GET /ref-data/otc/symbols
    

    The above example will return JSON with the following keys

    [
      {
        "symbol": "A",
        "name": "AGILENT TECHNOLOGIES INC",
        "date": "2019-01-01",
        "type": "cs",
        "iexId": "IEX_46574843354B2D52"
      },
    ]
    

    This call returns an array of OTC symbols that IEX Cloud supports for API calls.

    Data Weighting

    100 per call

    Data Timing

    End of day

    Data Schedule

    8am, 9am, 12pm, 1pm UTC daily

    Data Source(s)

    Primary Partner Investors Exchange

    Notes

    Available Methods

    Examples

    /ref-data/otc/symbols

    Query String Parameters

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

    Response Attributes

    Key Description
    symbol refers to the symbol
    name refers to the name of the company or security.
    date refers to the date the symbol reference data was generated.
    type refers to the common issue type (AD - ADR
    RE - REIT
    CE - Closed end fund
    SI - Secondary Issue
    LP - Limited Partnerships
    CS - Common Stock
    ET - ETF)
    iexId unique ID applied by IEX to track securities through symbol changes.

    Forex / Currency Symbols

    [In Development]

    Options Symbols

    [In Development]

    Commodities Symbols

    [In Development]

    Bonds Symbols

    [In Development]

    Crypto Symbols

    [In Development]

    Forex / Currencies

    [In Development]

    Options

    [In Development]

    Commodities

    [In Development]

    Bonds

    [In Development]

    Investors Exchange Data

    TOPS

    HTTP request example

    GET /tops?symbols=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,
        "sector": "softwareservices",
        "securityType": "commonstock"
      },
      {
        "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,
        "sector": "softwareservices",
        "securityType": "commonstock"
      },
      {
        "symbol": "AIG+",
        "marketPercent": 0.04618,
        "bidSize": 0,
        "bidPrice": 0,
        "askSize": 0,
        "askPrice": 0,
        "volume": 3400,
        "lastSalePrice": 21.52,
        "lastSaleSize": 100,
        "lastSaleTime": 1480446206461,
        "lastUpdated": -1,
        "sector": "insurance",
        "securityType": "commonstock"
      }
    ]
    

    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 the TOPS viewer app.

    Data Weighting

    Free

    Data Timing

    Realtime

    Data Schedule

    9:30am-4pm ET Market hours

    Data Source(s)

    Investors Exchange

    Notes

    Examples

    Query String 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 Attributes

    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.
    sector refers to the sector the security belongs to.
    securityType refers to the common issue type.

    Last

    HTTP request example

    GET /last?symbols=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.

    Data Weighting

    Free

    Data Timing

    Realtime

    Data Schedule

    9:30am-4pm ET market hours

    Data Source(s)

    Investors Exchange

    Examples

    Query String 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 Attributes

    Key Description
    symbol refers to the stock ticker.
    price refers to last sale price of the stock on IEX.
    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.

    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
      }
    }
    

    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.

    Data Weighting

    Free

    Data Timing

    Realtime

    Data Schedule

    9:30am-4pm ET market hours

    Data Source(s)

    Investors Exchange

    Examples

    Query String Parameters

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

    Response Attributes

    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

    DEEP 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-cloud.iexapis.com/beta/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.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Notes

    Available Methods

    WebSockets

    Subscribe to the auction channel.

    Query String 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 Attributes

    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

    DEEP 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-cloud.iexapis.com/beta/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.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Notes

    Available Methods

    WebSockets

    Subscribe to the book channel.

    Query String 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 Attributes

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

    DEEP 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-cloud.iexapis.com/beta/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.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Notes

    Available Methods

    WebSockets

    Subscribe to the ophaltstatus channel.

    Query String 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 Attributes

    Key Type
    isHalted boolean
    timestamp number

    DEEP Official Price

    HTTP request example

    GET /deep/official-price?symbols=snap
    

    HTTP request example message

    {
      "SNAP": {
        "priceType": "Open",
        "price": 1.05,
        "timestamp": 1494595800005
      }
    }
    

    WebSockets example (using socket.io)

    const url = 'https://ws-cloud.iexapis.com/beta/deep'
    const socket = require('socket.io-client')(url)
    
    socket.on('connect', () => {
      socket.emit('subscribe', JSON.stringify({
        symbols: ['snap'],
        channels: ['officialprice'],
      }))
    })
    

    WebSockets example message

    {
      "symbol": "SNAP",
      "messageType": "officialprice",
      "data": {
        "priceType": "Open",
        "price": 1.05,
        "timestamp": 1494595800005
      }
    }
    

    The Official Price message is used to disseminate the IEX Official Opening and Closing Prices.

    These messages will be provided only for IEX Listed Securities.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    WebSockets

    Subscribe to the officialprice channel.

    Query String Parameters

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

    Response Attributes

    Key Type Values
    priceType string 'Open' (Official Open Price)
    'Close' (Official Close Price)
    price number
    timestamp number

    DEEP 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-cloud.iexapis.com/beta/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

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    WebSockets

    Subscribe to the securityevent channel.

    Query String 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 Attributes

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

    DEEP 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-cloud.iexapis.com/beta/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.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    WebSockets

    Subscribe to the ssr channel.

    Query String 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 Attributes

    Key Type
    isSSR boolean
    detail string
    timestamp number

    DEEP System Event

    HTTP request example

    GET /deep/system-event
    

    HTTP request example message

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

    WebSockets example (using socket.io)

    const url = 'https://ws-cloud.iexapis.com/beta/deep'
    const socket = require('socket.io-client')(url)
    
    socket.on('connect', () => {
      socket.emit('subscribe', JSON.stringify({
        channels: ['systemevent'],
      }))
    })
    

    WebSockets example message

    {
      "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.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    WebSockets

    Subscribe to the systemevent channel.

    Response Attributes

    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

    DEEP 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-cloud.iexapis.com/beta/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
        }
      ]
    }
    

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    WebSockets

    Subscribe to the trades channel.

    Query String 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 Attributes

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

    DEEP 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-cloud.iexapis.com/beta/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.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    WebSockets

    Subscribe to the tradebreaks channel.

    Query String 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 Attributes

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

    DEEP 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-cloud.iexapis.com/beta/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.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    WebSockets

    Subscribe to the tradingstatus channel.

    Query String 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 Attributes

    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

    Listed Regulation SHO Threshold Securities List [In Dev]

    HTTP request example

    GET /stock/{symbol}/threshold-securities
    

    The above example will return JSON with the following keys

    [
      {
        "TradeDate": "20171013",
        "SymbolinINET Symbology": "ZIEXT",
        "SymbolinCQS Symbology": "ZIEXT",
        "SymbolinCMS Symbology": "ZIEXT",
        "SecurityName": "ZIEXT Common Stock"
      },
      {...}
    ]
    

    The following are IEX-listed securities that have an aggregate fail to deliver position for five consecutive settlement days at a registered clearing agency, totaling 10,000 shares or more and equal to at least 0.5% of the issuer’s total shares outstanding (i.e., “threshold securities”).
    The report data will be published to the IEX website daily at 8:30 p.m. ET with data for that trading day.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    Path Parameters

    Range Description Source
    date Specific date Daily list data for a specified date in the format YYYYMMDD,if available, or sample. If sample, a sample file will be returned

    Query String Parameters

    Parameter Details
    format • Parameter is optional
    • Value can be csv or psv
    • When parameter is not present, format defaults to JSON
    token • Parameter is optional
    • Value is the API token from your IEX user account
    • If you have been permissioned for CUSIP information you’ll receive a CUSIP field, othewise data defaults to exclude CUSIP.

    Response Attributes

    Refer to the Threshold Securities specification for further details

    Listed Short Interest List [In Dev]

    HTTP request example

    GET /stock/{symbol}/short-interest
    

    The above example will return JSON with the following keys

    [
      {
        "SettlementDate": "20171013",
        "SecurityName": "ZIEXT Common Stock",
        "CurrentShortInterest": 5363,
        "PreviousShortInterest": 5730,
        "PercentChange": -0.064049,
        "AverageDailyVolume": 2113,
        "DaystoCover": 2.54,
        "StockAdjustmentFlag": "N",
        "RevisionFlag": "N",
        "SymbolinINETSymbology": "ZIEXT",
        "SymbolinCQSSymbology": "ZIEXT",
        "SymbolinCMSSymbology": "ZIEXT",
        "NewIssueFlag": "N",
        "CompanyName": "ZIEXT Test Company"
      },
      {...}
    ]
    

    The consolidated market short interest positions in all IEX-listed securities are included in the IEX Short Interest Report.

    The report data will be published daily at 4:00pm ET.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    Path Parameters

    Range Description Source
    date Specific date Daily list data for a specified date in the format YYYYMMDD,if available, or sample. If sample, a sample file will be returned

    Query String Parameters

    Parameter Details
    format • Parameter is optional
    • Value can be csv or psv
    • When parameter is not present, format defaults to JSON
    token • Parameter is optional
    • Value is the API token from your IEX user account
    • If you have been permissioned for CUSIP information you’ll receive a CUSIP field, othewise data defaults to exclude CUSIP.

    Response Attributes

    Refer to the Short Interest specification for further details

    Stats Historical Daily [In Dev]

    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.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

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

    Query String 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 Attributes

    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).

    Stats 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
      }
    ]
    

    Data Weighting

    Free

    Data Timing

    End of month

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

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

    Query String 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 Attributes

    See our stats page for a reference of the keys.

    Stats 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
      }
    }
    

    Data Weighting

    Free

    Data Timing

    realtime

    Data Schedule

    Regular market hours

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    Response Attributes

    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.

    Stats 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.

    Data Weighting

    Free

    Data Timing

    Data Schedule

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    Response Attributes

    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).

    Stats 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
      }
    }
    

    Data Weighting

    Free

    Data Timing

    End of day

    Data Schedule

    7am ET

    Data Source(s)

    Investors Exchange

    Notes

    Available Methods

    Response Attributes

    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.

    API System Metadata

    Status

    HTTP Request Example

    GET /status
    

    Data returned

    {
        "status":"up",
        "version":"BETA",
        "time":1548097469618
    }
    

    Used to retrieve current system status

    Data Weighting

    Free

    Data Timing

    realtime

    Available Methods

    /status

    Notes

    No token required

    Changelog

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

    Beta