Getting Started

Introduction

Our API provides global stock market data including real-time, intraday and historical data, plus near real-time and historical crypto and forex data.

Business + stock market news and analysis APIs are also available which can be used to create news feeds. News feed APIs can be filtered with numerous criteria, including symbol, type, exchange, industry, country and much more.

Our news data allow us to identify which stocks are trending (i.e. mentioned more frequently than normal) and identify best and worst performing stocks based on sentiment, all of which is available from our market news analysis endpoints.

We support over 5,000 news sources globally in over 30 languages, tracking over 150,000 entities every minute from over 70 markets worldwide.

To get started simply sign up and use your API token in any of the available API endpoints documented below for instant access.

If you have any questions or concerns, feel free to contact us.

Authentication

When you sign up for free you will find your API token on your dashboard. Simply add this to any of our API endpoints as a GET parameter to gain access. Examples of how this is done can be found below.

API Endpoints

Stock Data Prices

Real-time stock quotes Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/data/quote HTTP/1.1
            
        

Get the latest quotes for all US stocks using this endpoint, updated live from trade reports. Also includes pre and post market data (see extended_hours parameter).

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbol(s) to return data for. See limits on symbols per request on our pricing page.
Example: symbols=AAPL,TSLA,MSFT
extended_hours false Include pre and post market data when set to true.
key_by_ticker false Key each quote by the ticker/symbol.
include_metadata false Optionally include/exclude metadata with each quote. Setting this to false may slightly improve response times.
Default: true

Response Objects

name description
meta > requested The number of symbols requested.
meta > returned The number of symbols returned.
data > ticker The symbol/ticker of the quote.
data > name The name of the stock.
data > exchange_short The listing exchange of the stock (short code).
data > exchange_long The listing exchange of the stock (full name).
data > mic_code The exchanges ISO 10383 market identifier code.
data > currency Currency of the stock.
data > price Last trade price.
data > day_high Highest trade price that day.
data > day_low Lowest trade price that day.
data > day_open Opening price.
data > 52_week_high Highest trade price in the past 52 weeks.
data > 52_week_low Lowest trade price in the past 52 weeks.
data > market_cap Market cap of the stock.
data > previous_close_price Previous close price.
data > previous_close_price_time Time of the previous close price (local time).
data > day_change Percentage difference between price and previous_close_price.
data > volume Total of all trades for the stock.
data > is_extended_hours_price Boolean to identify if the quote is provided from extended hours data.
data > last_trade_time The time the last trade was identified (local time).

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/data/quote?symbols=AAPL%2CTSLA%2CMSFT&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "requested": 3,
        "returned": 3
    },
    "data": [
        {
            "ticker": "TSLA",
            "name": "Tesla Inc",
            "exchange_short": "NASDAQ",
            "exchange_long": "NASDAQ Stock Exchange",
            "mic_code": "XNAS",
            "currency": "USD",
            "price": 194.7,
            "day_high": 194.72,
            "day_low": 180.66,
            "day_open": 182.49,
            "52_week_high": 402.67,
            "52_week_low": 166.19,
            "market_cap": 195529408512,
            "previous_close_price": 180.86,
            "previous_close_price_time": "2022-11-29T15:59:58.000000",
            "day_change": 7.11,
            "volume": 994617,
            "is_extended_hours_price": false,
            "last_trade_time": "2022-11-30T15:59:59.000000"
        },
        {
            "ticker": "AAPL",
            "name": "Apple Inc",
            "exchange_short": "NASDAQ",
            "exchange_long": "NASDAQ Stock Exchange",
            "mic_code": "XNAS",
            "currency": "USD",
            "price": 147.87,
            "day_high": 147.99,
            "day_low": 140.59,
            "day_open": 141.37,
            "52_week_high": 182.94,
            "52_week_low": 129.04,
            "market_cap": 2428639379456,
            "previous_close_price": 141.17,
            "previous_close_price_time": "2022-11-29T16:00:00.000000",
            "day_change": 4.53,
            "volume": 1071956,
            "is_extended_hours_price": false,
            "last_trade_time": "2022-11-30T15:59:59.000000"
        },
        {
            "ticker": "V",
            "name": "Visa Inc",
            "exchange_short": "NYSE",
            "exchange_long": "New York Stock Exchange",
            "mic_code": "XNYS",
            "currency": "USD",
            "price": 216.19,
            "day_high": 216.23,
            "day_low": 208.18,
            "day_open": 208.42,
            "52_week_high": 235.85,
            "52_week_low": 174.6,
            "market_cap": null,
            "previous_close_price": 208.89,
            "previous_close_price_time": "2022-11-29T15:59:58.000000",
            "day_change": 3.38,
            "volume": 183014,
            "is_extended_hours_price": false,
            "last_trade_time": "2022-11-30T15:59:58.000000"
        }
    ]
}
            
        

Intraday data (adjusted) Available on: Standard plan and above

Endpoint

            
                GET https://api.stockdata.org/v1/data/intraday/adjusted HTTP/1.1
            
        

Get the latest intraday data for all US stocks using this endpoint, updated live from trade reports. Also includes pre and post market data (see extended_hours parameter). You can also obtain 6+ years of historical intraday data using this endpoint. This endpoint provides historical intraday data adjusted for splits.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbol(s) to return data for. See limits on symbols per request on our pricing page.
Example: symbols=AAPL
interval false Specify the interval at which you want to retrieve data.
Options: minute | hour | day | week | month | quarter | year
Default interval=minute

IMPORTANT: the max range for minute interval is 7 days and 180 days for the hour interval due to these intervals retrieving a lot of data. If the range from the date_from and date_to parameters is larger than these limits, the max interval will be applied starting at the date_from parameter. If the date parameters are omitted the max range will be applied.
sort false Specify the sort order by date.
Options: asc | desc
Default desc
date_from false Find all data after the specified date. Supported formats include: Y-m-d | Y-m | Y.
Examples: 2022-12-01 | 2022-12 | 2022
date_to false Find all data before the specified date. Supported formats include: Y-m-d | Y-m | Y.
Examples: 2022-12-01 | 2022-12 | 2022
date false Find all data on the specified date. Supported formats include: Y-m-d.
Example: 2022-12-01
extended_hours false Include pre and post market data when set to true.
key_by_date false Key each result by date/time.
key_by_ticker false Key each quote by the ticker/symbol.

Response Objects

name description
meta > date_from Date that data was collected from.
meta > date_to Date that data was collected to. This will be overridden if the interval max period is exceeded.
meta > max_period_days Max period in days depending on the interval. Will return null if no max period is specified for the interval.
data > date Date of the related data (local time).
data > ticker The symbol/ticker of the quote.
data > data > open Open price for the specified date/time range.
data > data > high Highest price for the specified date/time range.
data > data > low Lowest price for the specified date/time range.
data > data > close Close price for the specified date/time range.
data > data > volume Trading volume for the specified date/time range.
data > data > is_extended_hours Specifies if the open price in the time frame is a pre/post trading hours price. Mainly useful for the minute interval.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/data/intraday/adjusted?symbols=AAPL&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "date_from": "2022-11-28",
        "date_to": "2022-12-01",
        "max_period_days": 7
    },
    "data": [
        {
            "date": "2022-11-30T15:59:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.59,
                "high": 147.99,
                "low": 147.57,
                "close": 147.93,
                "volume": 22237,
                "is_extended_hours": false
            }
        },
        {
            "date": "2022-11-30T15:58:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.5,
                "high": 147.65,
                "low": 147.5,
                "close": 147.58,
                "volume": 31481,
                "is_extended_hours": false
            }
        },
        {
            "date": "2022-11-30T15:57:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.45,
                "high": 147.56,
                "low": 147.42,
                "close": 147.52,
                "volume": 24151,
                "is_extended_hours": false
            }
        },
        {
            "date": "2022-11-30T15:56:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.38,
                "high": 147.52,
                "low": 147.31,
                "close": 147.45,
                "volume": 16893,
                "is_extended_hours": false
            }
        },
        {
            "date": "2022-11-30T15:55:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.5,
                "high": 147.57,
                "low": 147.29,
                "close": 147.4,
                "volume": 10918,
                "is_extended_hours": false
            }
        },
        ...
    ]
}
            
        

Intraday data (unadjusted) Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/data/intraday HTTP/1.1
            
        

Get the latest intraday data for all US stocks using this endpoint, updated live from trade reports. Also includes pre and post market data (see extended_hours parameter). You can also obtain 6+ years of historical intraday data using this endpoint. Note that this endpoint provides unadjusted historical intraday data.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbol(s) to return data for. See limits on symbols per request on our pricing page.
Example: symbols=AAPL
interval false Specify the interval at which you want to retrieve data.
Options: minute | hour | day | week | month | quarter | year
Default interval=minute

IMPORTANT: the max range for minute interval is 7 days and 180 days for the hour interval due to these intervals retrieving a lot of data. If the range from the date_from and date_to parameters is larger than these limits, the max interval will be applied starting at the date_from parameter. If the date parameters are omitted the max range will be applied.
sort false Specify the sort order by date.
Options: asc | desc
Default desc
date_from false Find all data after the specified date. Supported formats include: Y-m-d | Y-m | Y.
Examples: 2022-12-01 | 2022-12 | 2022
date_to false Find all data before the specified date. Supported formats include: Y-m-d | Y-m | Y.
Examples: 2022-12-01 | 2022-12 | 2022
date false Find all data on the specified date. Supported formats include: Y-m-d.
Example: 2022-12-01
extended_hours false Include pre and post market data when set to true.
key_by_date false Key each result by date/time.
key_by_ticker false Key each quote by the ticker/symbol.

Response Objects

name description
meta > date_from Date that data was collected from.
meta > date_to Date that data was collected to. This will be overridden if the interval max period is exceeded.
meta > max_period_days Max period in days depending on the interval. Will return null if no max period is specified for the interval.
data > date Date of the related data (local time).
data > ticker The symbol/ticker of the quote.
data > data > open Open price for the specified date/time range.
data > data > high Highest price for the specified date/time range.
data > data > low Lowest price for the specified date/time range.
data > data > close Close price for the specified date/time range.
data > data > volume Trading volume for the specified date/time range.
data > data > is_extended_hours Specifies if the open price in the time frame is a pre/post trading hours price. Mainly useful for the minute interval.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/data/intraday?symbols=AAPL&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "date_from": "2022-11-28",
        "date_to": "2022-12-01",
        "max_period_days": 7
    },
    "data": [
        {
            "date": "2022-11-30T15:59:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.59,
                "high": 147.99,
                "low": 147.57,
                "close": 147.93,
                "volume": 22237,
                "is_extended_hours": false
            }
        },
        {
            "date": "2022-11-30T15:58:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.5,
                "high": 147.65,
                "low": 147.5,
                "close": 147.58,
                "volume": 31481,
                "is_extended_hours": false
            }
        },
        {
            "date": "2022-11-30T15:57:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.45,
                "high": 147.56,
                "low": 147.42,
                "close": 147.52,
                "volume": 24151,
                "is_extended_hours": false
            }
        },
        {
            "date": "2022-11-30T15:56:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.38,
                "high": 147.52,
                "low": 147.31,
                "close": 147.45,
                "volume": 16893,
                "is_extended_hours": false
            }
        },
        {
            "date": "2022-11-30T15:55:00.000Z",
            "ticker": "AAPL",
            "data": {
                "open": 147.5,
                "high": 147.57,
                "low": 147.29,
                "close": 147.4,
                "volume": 10918,
                "is_extended_hours": false
            }
        },
        ...
    ]
}
            
        

End-of-day historical data Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/data/eod HTTP/1.1
            
        

Get 40+ years of historical end of day data for 70+ exchanges, adjusted for splits.
This endpoint also supports crypto and forex history.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbol to return data for.
Example: symbols=AAPL
sort false Specify the sort order by date.
Options: asc | desc
Default desc
date_from false Find all data after the specified date. Supported formats include: Y-m-d | Y-m | Y.
Examples: 2022-12-01 | 2022-12 | 2022
date_to false Find all data before the specified date. Supported formats include: Y-m-d | Y-m | Y.
Examples: 2022-12-01 | 2022-12 | 2022
date false Find all data on the specified date. Supported formats include: Y-m-d.
Example: 2022-12-01
key_by_date false Key each result by date/time.

Response Objects

name description
meta > ticker The symbol/ticker of the history data.
meta > name The symbol/ticker of the history data.
meta > exchange > exchange_short The listing exchange of the stock (short code).
meta > exchange > exchange_long The listing exchange of the stock (full name).
meta > exchange > mic_code The exchanges ISO 10383 market identifier code.
meta > exchange > country Country of the symbol/ticker listing exchange.
meta > exchange > timezone_name Timezone of the symbol/ticker listing exchange.
data > date Date of the related data.
data > open Open price for the specified date/time range.
data > high Highest price for the specified date/time range.
data > low Lowest price for the specified date/time range.
data > close Close price for the specified date/time range.
data > volume Trading volume for the specified date/time range.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/data/eod?symbols=AAPL&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "ticker": "AAPL",
        "name": "Apple Inc",
        "exchange": {
            "exchange_short": "NASDAQ",
            "exchange_long": "NASDAQ Stock Exchange",
            "mic_code": "XNAS",
            "country": "us",
            "timezone_name": "America/New_York"
        },
        "found": 10584,
        "returned": 10584
    },
    "data": [
        {
            "date": "2022-11-30T16:00:00.000000Z",
            "open": 141.4,
            "high": 148.72,
            "low": 140.55,
            "close": 148.03,
            "volume": 107014048
        },
        {
            "date": "2022-11-29T16:00:00.000000Z",
            "open": 144.29,
            "high": 144.81,
            "low": 140.35,
            "close": 141.17,
            "volume": 83763803
        },
        {
            "date": "2022-11-28T16:00:00.000000Z",
            "open": 145.14,
            "high": 146.64,
            "low": 143.38,
            "close": 144.22,
            "volume": 69346522
        },
        {
            "date": "2022-11-25T13:05:00.000000Z",
            "open": 148.31,
            "high": 148.88,
            "low": 147.12,
            "close": 148.11,
            "volume": 35195860
        },
        {
            "date": "2022-11-23T16:00:00.000000Z",
            "open": 149.45,
            "high": 151.83,
            "low": 149.34,
            "close": 151.07,
            "volume": 58301395
        },
        ...
    ]
}
            
        

End-of-day multiple Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/data/eod/multiple HTTP/1.1
            
        

Get end-of-day data based on a specific date, or omit the date parameter to get the latest value available.
This endpoint also supports crypto and forex history.

The symbol limits for this endpoint are the same as the real-time quote endpoint.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbols to return data for.
Example: symbols=AAPL,TSLA,MSFT
date false Find data on the specified date. Supported formats include: Y-m-d.
Example: 2022-12-01

Response Objects

name description
meta > requested The number of symbols requested.
meta > returned The number of symbols requested.
data > ticker Ticker of the related data.
data > date Date of the related data.
data > open Open price for the specified date/time range.
data > high Highest price for the specified date/time range.
data > low Lowest price for the specified date/time range.
data > close Close price for the specified date/time range.
data > volume Trading volume for the specified date/time range.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/data/eod/multiple?symbols=AAPL%2CTSLA%2CMSFT&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "found": 3,
        "returned": 3
    },
    "data": [
        {
            "symbol": "TSLA",
            "date": "2022-11-30T16:00:00.000000Z",
            "open": 182.43,
            "high": 194.76,
            "low": 180.63,
            "close": 194.7,
            "volume": 107365151
        },
        {
            "symbol": "AAPL",
            "date": "2022-11-30T16:00:00.000000Z",
            "open": 141.4,
            "high": 148.72,
            "low": 140.55,
            "close": 148.03,
            "volume": 107014048
        },
        {
            "symbol": "MSFT",
            "date": "2022-11-29T16:00:00.000000Z",
            "open": 241.4,
            "high": 242.79,
            "low": 238.21,
            "close": 240.33,
            "volume": 17956313
        }
    ]
}
            
        

End-of-day bulk data Available on: Pro plan and above

Endpoint

            
                GET https://bulk.stockdata.org/v1/data/eod/bulk HTTP/1.1
            
        

Get a bulk response of all of the latest EOD data for a specified exchange. Note: due to the large volume of data processed in bulk endpoints, all bulk.stockdata.org endpoints are rate limited to 3 requests per minute.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
exchange true Specify exchange to return data for.
Example: exchange=NYSE

Response Objects

name description
symbol The symbol/ticker of the history data.
date Date of the related data.
open Open price for the latest data.
high Highest price for the latest data.
low Lowest price for the latest data.
close Close price for the latest data.
volume Trading volume for the latest data.

If no results are found, the data object will be empty.

Example Request

            
                GET https://bulk.stockdata.org/v1/data/eod/bulk?exchange=NYSE&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                
            {
                "data": [
                    {
                        "symbol": "MPLX",
                        "date": "2022-10-28T16:00:00.000000Z",
                        "open": 33.18,
                        "high": 33.64,
                        "low": 32.84,
                        "close": 33.52,
                        "volume": 1869193
                    },
                    {
                        "symbol": "MYOV",
                        "date": "2022-10-28T16:00:00.000000Z",
                        "open": 26.73,
                        "high": 26.74,
                        "low": 26.7,
                        "close": 26.72,
                        "volume": 3306118
                    },
                    {
                        "symbol": "TECK",
                        "date": "2022-10-28T16:00:00.000000Z",
                        "open": 33.1,
                        "high": 33.28,
                        "low": 30.89,
                        "close": 31.18,
                        "volume": 7453757
                    },
                    {
                        "symbol": "SMLP",
                        "date": "2022-10-28T16:00:00.000000Z",
                        "open": 20.15,
                        "high": 20.15,
                        "low": 19.31,
                        "close": 19.95,
                        "volume": 9110
                    },
                    {
                        "symbol": "PBFX",
                        "date": "2022-10-28T16:00:00.000000Z",
                        "open": 21.89,
                        "high": 22.31,
                        "low": 21.59,
                        "close": 21.73,
                        "volume": 194693
                    },
                    {
                        "symbol": "FENG",
                        "date": "2022-10-28T16:00:00.000000Z",
                        "open": 4.66,
                        "high": 4.76,
                        "low": 4.51,
                        "close": 4.59,
                        "volume": 1519
                    },
                    ...
                ]
            }
        
            
        

Stock Data Fundamentals

Fundamental stats Available on: Pro plan and above

Endpoint

            
                GET https://api.stockdata.org/v1/data/fundamentals/stats HTTP/1.1
            
        

Get fundamental stock stats for specified symbols.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbol to return data for.
Example: symbols=AAPL

If no results are found, the data object will not be empty, but the data attributes will be null.

Example Request

            
                GET https://api.stockdata.org/v1/data/fundamentals/stats?symbols=AAPL&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                
            {
                "meta": [ ],
                "data": {
                    "beta": 1.19455,
                    "book_value": 4.146,
                    "currency": "USD",
                    "debt_to_equity": 205.984,
                    "dividend_rate": 0.92,
                    "dividend_yield": 0.0057,
                    "earnings_growth": -0.077,
                    "earnings_quarterly_growth": -0.106,
                    "ebitda": 129556996096,
                    "ebitda_margins": 0.3343,
                    "ex_dividend_date": "2022-08-05T00:00:00.000000Z",
                    "fifty_two_week_high": 182.94,
                    "fifty_two_week_low": 129.04,
                    "float_shares": 16054038418,
                    "forward_eps": 5.31,
                    "forward_pe": 29.088514,
                    "free_cashflow": 83344621568,
                    "gross_profits": 152836000000,
                    "last_dividend_date": "2022-05-06T00:00:00.000000Z",
                    "last_dividend_value": null,
                    "last_fiscal_year_end": "2021-09-25T00:00:00.000000Z",
                    "last_split_date": "2020-08-31T00:00:00.000000Z",
                    "last_split_factor": "4:1",
                    "market_cap": 2534132678656,
                    "most_recent_quarter": "2022-06-25T00:00:00.000000Z",
                    "operating_cashflow": 118224003072,
                    "payout_ratio": 0.1471,
                    "peg_ratio": 2.59,
                    "price_to_book": 37.255188,
                    "profit_margins": 0.25709,
                    "revenue_per_share": 23.732,
                    "shares_outstanding": 16406400000,
                    "symbol": "AAPL",
                    "target_mean_price": 181.87,
                    "total_cash": 48230998016,
                    "total_cash_per_share": 3.001,
                    "total_debt": 119691001856,
                    "total_revenue": 387541991424,
                    "trailing_eps": null,
                    "trailing_pe": null,
                    "ttm_eps": 4.449,
                    "ttm_pe": 34.71792
                }
            }
        
            
        

Fundamental financials Available on: Pro plan and above

Endpoint

            
                GET https://api.stockdata.org/v1/data/fundamentals/financial HTTP/1.1
            
        

Get fundamental stock financials for specified symbols.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbol to return data for.
Example: symbols=AAPL

If no results are found, the data object will be empty. If there is no data for a data attribute within an existing date range, the data attribute will be null.

Example Request

            
                GET https://api.stockdata.org/v1/data/fundamentals/financial?symbols=AAPL&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                
            {
                "meta": [],
                "data": {
                    "2021-09-30": {
                        "quarterly_accounts_payable":54763000000,
                        "quarterly_accounts_receivable":26278000000,
                        "quarterly_accumulated_depreciation":-70283000000,
                        "quarterly_available_for_sale_securities":127877000000,
                        "quarterly_basic_average_shares":null,
                        "quarterly_basic_eps":null,
                        "quarterly_beginning_cash_position":35276000000,
                        "quarterly_capital_expenditure":-3223000000,
                        "quarterly_capital_stock":57365000000,
                        "quarterly_cash_and_cash_equivalents":34940000000,
                        "quarterly_cash_cash_equivalents_and_short_term_investments":62639000000,
                        "quarterly_cash_dividends_paid":-3640000000,
                        "quarterly_cash_equivalents":17635000000,
                        "quarterly_cash_financial":17305000000,
                        "quarterly_cash_flow_from_continuing_financing_activities":-20382000000,
                        "quarterly_cash_flow_from_continuing_investing_activities":835000000,
                        "quarterly_cash_flow_from_continuing_operating_activities":20200000000,
                        "quarterly_change_in_account_payable":14112000000,
                        "quarterly_change_in_inventory":-1429000000,
                        "quarterly_change_in_other_current_assets":-2143000000,
                        "quarterly_change_in_other_current_liabilities":5336000000,
                        "quarterly_change_in_other_working_capital":-62000000,
                        "quarterly_change_in_payable":14112000000,
                        "quarterly_change_in_payables_and_accrued_expense":14112000000,
                        "quarterly_change_in_receivables":-17604000000,
                        "quarterly_change_in_working_capital":-1790000000,
                        "quarterly_changes_in_account_receivables":-8809000000,
                        "quarterly_changes_in_cash":653000000,
                        "quarterly_commercial_paper":6000000000,
                        "quarterly_common_stock":57365000000,
                        "quarterly_common_stock_dividend_paid":null,
                        "quarterly_common_stock_equity":63090000000,
                        "quarterly_common_stock_issuance":544000000,
                        "quarterly_common_stock_payments":-19748000000,
                        "quarterly_cost_of_revenue":48186000000,
                        "quarterly_current_assets":134836000000,
                        "quarterly_current_debt":15613000000,
                        "quarterly_current_debt_and_capital_lease_obligation":15613000000,
                        "quarterly_current_deferred_liabilities":7612000000,
                        "quarterly_current_deferred_revenue":7612000000,
                        "quarterly_current_liabilities":125481000000,
                        "quarterly_deferred_income_tax":-4037000000,
                        "quarterly_deferred_tax":-4037000000,
                        "quarterly_depreciation_amortization_depletion":2989000000,
                        "quarterly_depreciation_and_amortization":2989000000,
                        ...
                    },
                    ...
                }
            }
        
            
        

Stock Splits and Dividends

Stock splits Available on: Standard plan and above

Endpoint

            
                GET https://api.stockdata.org/v1/data/splits HTTP/1.1
            
        

Get stock splits.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbol to return data for.
Example: symbols=AAPL

Response Objects

name description
data > ticker The symbol/ticker of the split.
data > date Date of the related data (local time).
data > numerator The split numerator.
data > denominator The split denominator.
data > ratio The split numerator to denominator ratio.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/data/splits?symbols=AAPL&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "data": [
        {
            "ticker": "AAPL",
            "date": "1987-06-16",
            "numerator": 2,
            "denominator": 1,
            "ratio": "2:1"
        },
        {
            "ticker": "AAPL",
            "date": "2000-06-21",
            "numerator": 2,
            "denominator": 1,
            "ratio": "2:1"
        },
        {
            "ticker": "AAPL",
            "date": "2005-02-28",
            "numerator": 2,
            "denominator": 1,
            "ratio": "2:1"
        },
        ...
    ]
}
            
        

Stock dividends Available on: Standard plan and above

Endpoint

            
                GET https://api.stockdata.org/v1/data/dividends HTTP/1.1
            
        

Get stock dividends.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbol to return data for.
Example: symbols=AAPL

Response Objects

name description
data > ticker The symbol/ticker of the split.
data > date Date of the related data (local time).
data > amount The dividend amount.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/data/dividends?symbols=AAPL&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "data": [
        {
            "ticker": "AAPL",
            "date": "1987-05-11",
            "amount": 0.000536
        },
        {
            "ticker": "AAPL",
            "date": "1987-08-10",
            "amount": 0.000536
        },
        {
            "ticker": "AAPL",
            "date": "1987-11-17",
            "amount": 0.000714
        },
        ...
    ]
}
            
        

Crypto and Forex Data

Real-time crypto and forex quotes Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/data/currency/latest HTTP/1.1
            
        

Get the latest crypto and forex quotes, near real time.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols true Specify symbol(s) to return data for. See limits on symbols per request on our pricing page.
Example: symbols=BTCUSD,USDGBP

Response Objects

name description
meta > requested The number of symbols requested.
meta > returned The number of symbols returned.
data > symbol The symbol of the currency quote.
data > price Last trade price.
data > day_open Opening price.
data > day_high Highest trade price that day.
data > day_low Lowest trade price that day.
data > 52_week_high Highest trade price in the past 52 weeks.
data > 52_week_low Lowest trade price in the past 52 weeks.
data > change_percent Percentage difference between price and previous_close_price.
data > previous_close_price Previous close price.
data > volume Total of all trades for the currency (crypto only).
data > market_cap Market cap of the currency (crypto only).
data > last_update The time the last time the quote was updated.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/data/currency/latest?symbols=BTCUSD%2CUSDGBP&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "requested": 2,
        "returned": 2
    },
    "data": [
        [
            {
                "symbol": "BTCUSD",
                "price": 17091.627,
                "day_open": 17166.74,
                "day_high": 17192.393,
                "day_low": 17080.648,
                "52_week_high": 57482.168,
                "52_week_low": 15599.047,
                "change_percent": 1.259858,
                "previous_close_price": 17166.74,
                "volume": 25476325376,
                "market_cap": 328528297984,
                "last_update": "2022-12-01T11:02:00.000000Z"
            }
        ],
        [
            {
                "symbol": "USDGBP",
                "price": 0.82343,
                "day_open": 0.82909,
                "day_high": 0.82923,
                "day_low": 0.82259,
                "52_week_high": 0.96348,
                "52_week_low": 0.7273,
                "change_percent": -0.679084,
                "previous_close_price": 0.82906,
                "volume": 0,
                "market_cap": 0,
                "last_update": "2022-12-01T11:03:28.000000Z"
            }
        ]
    ]
}
            
        

EOD crypto and forex data Available on: All plans

End of day crypto and forex data is available from the stock end-of-day data endpoint.

News Feeds

Finance & Market News Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/news/all HTTP/1.1
            
        

Get all the latest global financial news and filter by entities identified within articles to build concise news feeds. Also provided is analysis of each entity identified in articles. Note that not every article may have entities identified. To retrieve all news for articles with identified entities, use the parameter must_have_entities, or specify any of the entity params such as symbols or exchanges as defined below to produce more concise results.

All news dates are returned as UTC +0.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols false Specify entity symbol(s) which have been identified within the article. Find entity symbols in our entity search endpoint.
Example: symbols=TSLA,AMZN,MSFT
exchanges false Specify exchange(s) of entities which have been identified within the article. Find exchanges in our exchanges metadata endpoint.
Example: exchanges=NASDAQ,NYSE
entity_types false Specify the type of entities which have been identified within the article. Find entity types in our entity type metadata endpoint.
Example: entity_types=index,equity
industries false Specify the industries of entities which have been identified within the article. Find entity types in our entity industry metadata endpoint.
Example: industries=Technology,Industrials
countries false Specify the country of the exchange of which entities have been identified within the article. Find countries as part of our entity exchanges metadata endpoint.
Example: countries=us,ca
sentiment_gte false Use this to find all articles with entities with a sentiment_score of greater than or equal to x.
Example: sentiment_gte=0 - this will find all articles which are neutral or positive

Sentiment is between -1 and +1. Anything 0 = neutral, above 0 = positive, below 0 = negative. The higher or lower the sentiment score the more positive or negative it is identified as.
sentiment_lte false Use this to find all articles with entities with a sentiment_score of less than or equal to x.
Example: sentiment_lte=0 - this will find all articles which are neutral or negative
min_match_score false Use this to find all articles with entities with a match_score of geater than or equal to min_match_score.
filter_entities false By default all entities for each article are returned - by setting this to true, only the relevant entities to your query will be returned with each article. For example, if you set symbols=TSLA and filter_entities=true, only "TSLA" entities will be returned with the articles.
Default: false
must_have_entities false By default all articles are returned, set this to true to ensure that at least one entity has been identified within the article.
Default: false
group_similar false Group similar articles to avoid displaying multiple articles on the same topic/subject.
Default: true
search false Use the search as a basic search tool by entering regular search terms or it has more advanced usage to build search queries:
+ signifies AND operation
| signifies OR operation
- negates a single token
" wraps a number of tokens to signify a phrase for searching
* at the end of a term signifies a prefix query
( and ) signify precedence
To use one of these characters literally, escape it with a preceding backslash (\).
This searches the full body of the text and the title.

Example: "ipo" -nasdaq (searches for articles which must include the string "ipo" but articles must NOT mention Nasdaq.)

For more advanced query examples, see our API Examples section.
domains false Comma separated list of domains to include. List of domains can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com,adage.com
exclude_domains false Comma separated list of domains to exclude
source_ids false Comma separated list of source_ids to include. List of source_ids can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com-1,adage.com-1
exclude_source_ids false Comma separated list of source_ids to exclude.
language false Comma separated list of languages to include. Default is all.
Click here for a list of supported languages.
Examples: en,es (English + Spanish)
published_before false Find all articles published before the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_after false Find all articles published after the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_on false Find all articles published on the specified date. Supported formats include: Y-m-d.
Examples: 2022-12-01
sort false Sort by published_on, entity_match_score, entity_sentiment_score or relevance_score (only available when used in conjunction with search). Default is published_at unless search is used and sorting by published_at is not included, in which case relevance_score is used.
When using entity_match_score, entity_sentiment_score this will sort by the average of the filtered entities (filter_entities does not need to be applied for this).
sort_order false Sort order of the sort parameter. NOTE: this can only be used with sort = entity_match_score or entity_sentiment_score.
Options: desc | asc
Default: desc
limit false Specify the number of articles you want to return in the request. The maximum limit is based on your plan. The default limit is the maximum specified for your plan.
page false Use this to paginate through the result set. Default is 1. Note that the max result set can't exceed 20,000. For example if your limit is 50, the max page you can have is 400 (50 * 400 = 20,000).
Example: page=2

Response Objects

name description
meta > found The number of articles found for the request.
meta > returned The number of articles returned on the page. This is useful to determine the end of the result set as if this is lower than limit, there are no more articles after this page.
meta > limit The limit based on the limit parameter.
meta > page The page number based on the page parameter.
data > uuid The unique identifier for an article in our system. Store this and use it to find specific articles using our single article endpoint.
data > title The article title.
data > description The article meta description.
data > keywords The article meta keywords.
data > snippet A short snippet of the article body.
data > url The URL to the article.
data > image_url The URL to the article image.
data > language The language of the source.
data > published_at The datetime the article was published.
data > source The domain of the source.
data > relevance_score Relevance score based on the search parameter. If the search parameter is not used, this will be null.
data > entities > symbol Symbol of the identified entity.
data > entities > name Name of the identified entity.
data > entities > exchange Exchange identifier of the identified entity.
data > entities > exchange_long Exchange name of the identified entity.
data > entities > country Exchange country of the identified entity.
data > entities > type Type of the identified entity.
data > entities > industry Industry of the identified entity.
data > entities > match_score The overall strength of the matching for the identified entity.
data > entities > sentiment_score Average sentiment of all highlighted text found for the identified entity.
data > entities > highlights > highlight Snippet of text from the article where the entity has been identified.
data > entities > highlights > sentiment The sentiment of the highlighed text.
data > entities > highlights > highlighted_in Where the highlight was found (title | main_text).
data > similar Array of news articles which are very similar to the main article.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/news/all?symbols=TSLA%2CAMZN%2CMSFT&filter_entities=true&language=en&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "found": 78659,
        "returned": 3,
        "limit": 3,
        "page": 1
    },
    "data": [
        {
            "uuid": "3c5f27f2-1e4d-4bd8-8f50-5e495fd38355",
            "title": "Tesla holds event for delivery of first Semi truck (NASDAQ:TSLA)",
            "description": "It has been quite a long wait, but Tesla's (TSLA) electric Semi truck is about to see the light of day",
            "keywords": "",
            "snippet": "It has been quite a long wait, but Tesla's (NASDAQ:TSLA) electric Semi truck is about to see the light of day. The company first unveiled a concept of the Class...",
            "url": "https://seekingalpha.com/news/3912822-next-catalyst-tesla-holds-delivery-event-for-first-semi-truck",
            "image_url": "https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1210484456/image_1210484456.jpg?io=getty-c-w750",
            "language": "en",
            "published_at": "2022-12-01T08:52:30.000000Z",
            "source": "seekingalpha.com",
            "relevance_score": null,
            "entities": [
                {
                    "symbol": "TSLA",
                    "name": "Tesla, Inc.",
                    "exchange": "NASDAQ",
                    "exchange_long": "NASDAQ Stock Exchange",
                    "country": "us",
                    "type": "equity",
                    "industry": "Consumer Cyclical",
                    "match_score": 59.270092,
                    "sentiment_score": -0.144775,
                    "highlights": [
                        {
                            "highlight": "It has been quite a long wait, but Tesla's (NASDAQ:TSLA) electric Semi truck is about to see the light of day. The company first unveiled a concept of the Class 8 tractor in late 2017, with output expected to commence in 2019, but since then the production version has been delayed several times.",
                            "sentiment": -0.3291,
                            "highlighted_in": "main_text"
                        },
                        {
                            "highlight": "Should the Tesla Semi (TSLA) be everything the company says it is, the vehicle could revolutionize the freight transport industry, with its cost savings on diesel fuel and a smaller carbon footprint.",
                            "sentiment": 0,
                            "highlighted_in": "main_text"
                        },
                        {
                            "highlight": "Volvo-owned (OTCPK:VOLVF) Renault Trucks even trolled Tesla (TSLA) in early October, with the release of its \"E-Tech D\" truck that was delivered to Coca-Cola (NYSE:KO). While the two models aren't exact competitors, Renault followed up by tweeting a video teaser, \"Some talk the talk. Some walk the walk. Ain't that right, @elonmusk?\"",
                            "sentiment": -0.25,
                            "highlighted_in": "main_text"
                        },
                        {
                            "highlight": "Tesla holds event for delivery of first Semi truck (NASDAQ:TSLA)",
                            "sentiment": 0,
                            "highlighted_in": "title"
                        }
                    ]
                }
            ],
            "similar": []
        },
        {
            "uuid": "062394b7-85b7-4b6a-b6c2-363dbe3f3823",
            "title": "Microsoft Stock: The King Of Network Effects (NASDAQ:MSFT)",
            "description": "Microsoft is in a unique position to take advantage of network effects. See why I think MSFT stock is compelling despite uncertainties surrounding the ATVI deal.",
            "keywords": "",
            "snippet": "tumsasedgars\n\nData by YCharts\n\nInvestment Thesis\n\nMicrosoft (NASDAQ:MSFT) is one of the biggest companies in the world. It is not just big but has several great...",
            "url": "https://seekingalpha.com/article/4561647-microsoft-stock-king-network-effects",
            "image_url": "https://static.seekingalpha.com/cdn/s3/uploads/getty_images/1337743141/image_1337743141.jpg?io=getty-c-w750",
            "language": "en",
            "published_at": "2022-12-01T08:47:34.000000Z",
            "source": "seekingalpha.com",
            "relevance_score": null,
            "entities": [
                {
                    "symbol": "MSFT",
                    "name": "Microsoft Corporation",
                    "exchange": "NASDAQ",
                    "exchange_long": "NASDAQ Stock Exchange",
                    "country": "us",
                    "type": "equity",
                    "industry": "Technology",
                    "match_score": 58.09204,
                    "sentiment_score": 0.612486,
                    "highlights": [
                        {
                            "highlight": "tumsasedgars\n\nData by YCharts\n\nInvestment Thesis\n\nMicrosoft (NASDAQ:MSFT) is one of the biggest companies in the world. It is not just big but has several great qualities that are sustainable in the long term.",
                            "sentiment": 0.7684,
                            "highlighted_in": "main_text"
                        },
                        {
                            "highlight": "Either by saving a ton of cash or by Microsoft taking another quantum jump and becoming a stronger company in the market it is focusing on. In the end, the winner, with or without an acquisition, will be Microsoft, and I think investing in the stock is very promising at its current level.",
                            "sentiment": 0.8542,
                            "highlighted_in": "main_text"
                        },
                        {
                            "highlight": "I believe only big tech companies like Microsoft will be able to remain competitive in this market. The big issue with cloud services is the latency problem; large-scale servers must be installed in many places to solve this problem.",
                            "sentiment": 0.3182,
                            "highlighted_in": "main_text"
                        },
                        {
                            "highlight": "The major players in the console market are Microsoft, Sony (SONY) and Nintendo (OTCPK:NTDOY). The company's main rival is Sony's PlayStation, as Nintendo focuses on other genres, such as fitness, rather than games. It's true that the PlayStation is doing better than the Xbox right now.",
                            "sentiment": 0.7783,
                            "highlighted_in": "main_text"
                        },
                        {
                            "highlight": "This is because Microsoft still has the upper hand in the relationship with ATVI, one of the many game publishers. If MSFT can't use ATVI to its advantage, it means that SONY, its only competitor, can't do that either, so the balance will be maintained, and competition will be made in other fields.",
                            "sentiment": 0.6369,
                            "highlighted_in": "main_text"
                        },
                        {
                            "highlight": "In conclusion\n\nMicrosoft has great business qualities, strong balance sheet, and long-term sustainable growth opportunities. Despite the uncertainties surrounding the acquisition of ATVI, current valuation and its qualities make the idea of buying MSFT stock compelling for long-term investors.",
                            "sentiment": 0.9314,
                            "highlighted_in": "main_text"
                        },
                        {
                            "highlight": "Microsoft Stock: The King Of Network Effects (NASDAQ:MSFT)",
                            "sentiment": 0,
                            "highlighted_in": "title"
                        }
                    ]
                }
            ],
            "similar": []
        },
        ...
    ]
}
            
        

Similar News Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/news/similar/uuid HTTP/1.1
            
        

Use this endpoint to find similar stories to a specific article based on its UUID.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols false Specify entity symbol(s) which have been identified within the article. Find entity symbols in our entity search endpoint.
Example: symbols=TSLA,AMZN,MSFT
exchanges false Specify exchange(s) of entities which have been identified within the article. Find exchanges in our exchanges metadata endpoint.
Example: exchanges=NASDAQ,NYSE
entity_types false Specify the type of entities which have been identified within the article. Find entity types in our entity type metadata endpoint.
Example: entity_types=index,equity
industries false Specify the industries of entities which have been identified within the article. Find entity types in our entity industry metadata endpoint.
Example: industries=Technology,Industrials
countries false Specify the country of the exchange of which entities have been identified within the article. Find countries as part of our entity exchanges metadata endpoint.
Example: countries=us,ca
sentiment_gte false Use this to find all articles with entities with a sentiment_score of greater than or equal to x.
Example: sentiment_gte=0 - this will find all articles which are neutral or positive
sentiment_lte false Use this to find all articles with entities with a sentiment_score of less than or equal to x.
Example: sentiment_lte=0 - this will find all articles which are neutral or negative
filter_entities false By default all entities for each article are returned - by setting this to true, only the relevant entities to your query will be returned with each article. For example, if you set symbols=TSLA and filter_entities=true, only "TSLA" entities will be returned with the articles.
Default: false
must_have_entities false By default all articles are returned, set this to true to ensure that at least one entity has been identified within the article.
Default: false
group_similar false Group similar articles to avoid displaying multiple articles on the same topic/subject.
Default: true
domains false Comma separated list of domains to include. List of domains can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com,adage.com
exclude_domains false Comma separated list of domains to exclude
source_ids false Comma separated list of source_ids to include. List of source_ids can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com-1,adage.com-1
exclude_source_ids false Comma separated list of source_ids to exclude.
language false Comma separated list of languages to include. Default is all.
Click here for a list of supported languages.
Examples: en,es (English + Spanish)
published_before false Find all articles published before the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_after false Find all articles published after the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_on false Find all articles published on the specified date. Supported formats include: Y-m-d.
Examples: 2022-12-01
limit false Specify the number of articles you want to return in the request. The maximum limit is based on your plan. The default limit is the maximum specified for your plan.
page false Use this to paginate through the result set. Default is 1. Note that the max result set can't exceed 20,000. For example if your limit is 50, the max page you can have is 400 (50 * 400 = 20,000).
Example: page=2

Response Objects

name description
meta > found The number of articles found for the request.
meta > returned The number of articles returned on the page. This is useful to determine the end of the result set as if this is lower than limit, there are no more articles after this page.
meta > limit The limit based on the limit parameter.
meta > page The page number based on the page parameter.
data > uuid The unique identifier for an article in our system. Store this and use it to find specific articles using our single article endpoint.
data > title The article title.
data > description The article meta description.
data > keywords The article meta keywords.
data > snippet The first 60 characters of the article body.
data > url The URL to the article.
data > image_url The URL to the article image.
data > language The language of the source.
data > published_at The datetime the article was published.
data > source The domain of the source.
data > relevance_score Relevance score based on the article provided.
data > entities > symbol Symbol of the identified entity.
data > entities > name Name of the identified entity.
data > entities > exchange Exchange identifier of the identified entity.
data > entities > exchange_long Exchange name of the identified entity.
data > entities > country Exchange country of the identified entity.
data > entities > type Type of the identified entity.
data > entities > industry Industry of the identified entity.
data > entities > match_score The overall strength of the matching for the identified entity.
data > entities > sentiment_score Average sentiment of all highlighted text found for the identified entity.
data > entities > highlights > highlight Snippet of text from the article where the entity has been identified.
data > entities > highlights > sentiment The sentiment of the highlighed text.
data > entities > highlights > highlighted_in Where the highlight was found (title | main_text).
data > similar Array of news articles which are very similar to the main article.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/news/similar/cc11e3ab-ced0-4a42-9146-e426505e2e67?api_token=YOUR_API_TOKEN&language=en&published_on=2020-12-01
            
        

Example Response

            
                
            {
                "meta": {
                    "found": 222,
                    "returned": 3,
                    "limit": 3,
                    "page": 1
                },
                "data": [
                    {
                        "uuid": "489e4ec4-84a9-4628-966c-95c3741c6dfc",
                        "title": "Bitcoin Drops below $47K: Is BTC in a Bear Market?",
                        "description": "Bitcoin's rally seems to have made a sharp U-turn. Is this a short-lived correction or a longer-term trend?",
                        "keywords": "",
                        "snippet": "The market correction that many crypto analysts have been predicting for weeks seems to have finally arrived. Indeed, crypto markets are seeing red across the ...",
                        "url": "https://www.financemagnates.com/cryptocurrency/news/bitcoin-drops-below-47k-is-btc-in-a-bear-market/",
                        "image_url": "https://www.financemagnates.com/wp-content/uploads/2020/02/bitcoin-tightrope.jpg",
                        "language": "en",
                        "published_at": "2021-02-23T11:00:40.000000Z",
                        "source": "financemagnates.com",
                        "relevance_score": 106.05874,
                        "entities": [ ],
                        "similar": [ ]
                    },
                    {
                        "uuid": "61be555e-3120-44b0-ad13-6f985ea92f63",
                        "title": "Bitcoin ETFs vs Spot BTC",
                        "description": "Bitcoin is now the largest and most well-known cryptocurrency. This cryptocurrency has a market cap of several hundred billion dollars and as a result, has ...",
                        "keywords": "",
                        "snippet": "Bitcoin is now the largest and most well-known cryptocurrency. This cryptocurrency has a market cap of several hundred billion dollars and as a result, has mass...",
                        "url": "https://www.benzinga.com/markets/cryptocurrency/21/02/19808328/bitcoin-etfs-vs-spot-btc",
                        "image_url": "https://cdn.benzinga.com/files/imagecache/og_image_social_share_1200x630/images/story/2012/investing.jpg",
                        "language": "en",
                        "published_at": "2021-02-23T21:11:34.000000Z",
                        "source": "benzinga.com",
                        "relevance_score": 95.900276,
                        "entities": [ ],
                        "similar": [ ]
                    },
                    ...
                ]
            }
        
            
        

News by UUID Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/news/uuid/uuid HTTP/1.1
            
        

Use this endpoint to find specific articles by the UUID which is returned on our search endpoints. This is useful if you wish to store the UUID to return the article later.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.

Response Objects

name description
uuid The unique identifier for an article in our system. Store this and use it to find specific articles using our single article endpoint.
title The article title.
description The article meta description.
keywords The article meta keywords.
snippet The first 60 characters of the article body.
url The URL to the article.
image_url The URL to the article image.
language The language of the source.
published_at The datetime the article was published.
source The domain of the source.
entities > symbol Symbol of the identified entity.
entities > name Name of the identified entity.
entities > exchange Exchange identifier of the identified entity.
entities > exchange_long Exchange name of the identified entity.
entities > country Exchange country of the identified entity.
entities > type Type of the identified entity.
entities > industry Industry of the identified entity.
entities > match_score The overall strength of the matching for the identified entity.
entities > sentiment_score Average sentiment of all highlighted text found for the identified entity.
entities > highlights > highlight Snippet of text from the article where the entity has been identified.
entities > highlights > sentiment The sentiment of the highlighed text.
entities > highlights > highlighted_in Where the highlight was found (title | main_text).

If no results are found, a resource_not_found error will be returned.

Example Request

            
                GET https://api.stockdata.org/v1/news/uuid/147013d8-6c2c-4d50-8bad-eb3c8b7f5740?api_token=YOUR_API_TOKEN
            
        

Example Response

            
                
            {
                "uuid": "9b9fb67e-9438-4263-815e-ef6a7d36af07",
                "title": "Bitcoin (BTC/USD), Ethereum (ETH/USD) Crushed as Cryptocurrency Market is Overrun by Sellers",
                "description": "The cryptocurrency market has been experiencing wild price swings over the last two days with sellers in complete control as prices slump across the board",
                "keywords": "",
                "snippet": "Bitcoin (BTC/USD) Price, Analysis and Chart: Bullish channel is broken in a two day sell-off...",
                "url": "https://www.dailyfx.com/forex/market_alert/2021/02/23/Bitcoin-BTCUSD-Ethereum-ETHUSD-Crushed-as-Cryptocurrency-Market-is-Overrun-by-Sellers.html",
                "image_url": "https://a.c-dn.net/b/2jPuVf/headline_shutterstock_365875643.jpg",
                "language": "en",
                "published_at": "2021-02-23T10:30:00.000000Z",
                "source": "dailyfx.com",
                "entities": [
                    {
                        "symbol": "BTCUSD",
                        "name": "Bitcoin USD",
                        "exchange": "CC",
                        "exchange_long": "Cryptocurrency",
                        "country": "global",
                        "type": "cryptocurrency",
                        "industry": "N/A",
                        "match_score": 82.04055,
                        "sentiment_score": -0.177075,
                        "highlights": [
                            {
                                "highlight": "Bitcoin (BTC/USD) Price, Analysis and Chart: Bullish channel is broken in a two day sell-off. No specific driver of price action.",
                                "sentiment": -0.6486,
                                "highlighted_in": "main_text"
                            },
                            ...
                        ]
                    },
                    {
                        "symbol": "ETHUSD",
                        "name": "Ethereum USD",
                        "exchange": "CC",
                        "exchange_long": "Cryptocurrency",
                        "country": "global",
                        "type": "cryptocurrency",
                        "industry": "N/A",
                        "match_score": 65.22654,
                        "sentiment_score": -0.4215,
                        "highlights": [
                            {
                                "highlight": "Bitcoin (BTC/USD), Ethereum (ETH/USD) Crushed as Cryptocurrency Market is Overrun by Sellers",
                                "sentiment": -0.4215,
                                "highlighted_in": "title"
                            }
                        ]
                    }
                ]
            }
        
            
        

Market News Analysis

Entity Stats (time series) Available on: Standard and above

Endpoint

            
                GET https://api.stockdata.org/v1/news/stats/intraday HTTP/1.1
            
        

Get an intraday view of how well entities performed over different intervals using this endpoint. Find the best or worst performing entities broken down to every minute, hour, day, week, month, quarter or year. Useful for comparing entities and creating graphs and charts

Adding symbols to the request is not necessary - by default all of the best performing stocks are returned. Filter entities by symbols, exchanges, industries, countries, entity types and more.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
interval false The interval of the time series.

Options: minute | hour | day | week | month | quarter | year
Default: day
Example: interval=day

Note: there are restrictions on the maximum time frame for each interval. This is based on the published_before parameter. From the published_before date specified, the maximum time frame that can be retrieved is as following:

minute = 7 days
hour = 1 month
day = 3 years
week = 5 years
month = 5 years
quarter = 10 years
year = 10 years

By default the maximum allowed time frame will be applied. If the time frame is exceeded by the date parameters provided, the default will be applied - no error will be thrown.

For example, if interval=minute and published_before=2021-01-10, the max that can be returned will be back to 2021-01-03. You can specify a published_after value to reduce this time frame if necessary (e.g. published_after=2021-01-08).
group_by false Group results by symbol | exchange | industry | country
Default: symbol
min_doc_count false The minimum number of total_documents an entity should be identified within to be returned with the results.
Example: min_doc_count=10
symbols false Specify entity symbol(s) which have been identified within the article. Find entity symbols in our entity search endpoint.
Example: symbols=TSLA,AMZN,MSFT
exchanges false Specify exchange(s) of entities which have been identified within the article. Find exchanges in our exchanges metadata endpoint.
Example: exchanges=NASDAQ,NYSE
entity_types false Specify the type of entities which have been identified within the article. Find entity types in our entity type metadata endpoint.
Example: entity_types=index,equity
industries false Specify the industries of entities which have been identified within the article. Find entity types in our entity industry metadata endpoint.
Example: industries=Technology,Industrials
countries false Specify the country of the exchange of which entities have been identified within the article. Find countries as part of our entity exchanges metadata endpoint.
Example: countries=us,ca
sentiment_avg_gte false Use this to refine results to find all entities with an overall sentiment_avg greater than or equal to x.
Example: sentiment_avg_gte=0 - this will find all entities which are neutral or positive
sentiment_avg_lte false Use this to refine results to find all entities with an overall sentiment_avg less than or equal to x.
Example: sentiment_avg_lte=0 - this will find all entities which are neutral or negative
sentiment_gte false Use this to refine results to find all documents for entities with a sentiment_score greater than or equal to x.
Example: sentiment_gte=0 - this will find all document entities which are neutral or positive
sentiment_lte false Use this to refine results to find all documents for entities with a sentiment_score less than or equal to x.
Example: sentiment_lte=0 - this will find all document entities which are neutral or negative
search false Use the search as a basic search tool by entering regular search terms or it has more advanced usage to build search queries:
+ signifies AND operation
| signifies OR operation
- negates a single token
" wraps a number of tokens to signify a phrase for searching
* at the end of a term signifies a prefix query
( and ) signify precedence
To use one of these characters literally, escape it with a preceding backslash (\).
This searches the full body of the text and the title.

Example: "ipo" -nasdaq (searches for articles which must include the string "ipo" but articles must NOT mention Nasdaq.)

For more advanced query examples, see our API Examples section.
domains false Comma separated list of domains to include. List of domains can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com,adage.com
exclude_domains false Comma separated list of domains to exclude
source_ids false Comma separated list of source_ids to include. List of source_ids can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com-1,adage.com-1
exclude_source_ids false Comma separated list of source_ids to exclude.
language false Comma separated list of languages to include. Default is all.
Click here for a list of supported languages.
Examples: en,es (English + Spanish)
published_before false Refine results for articles before the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_after false Refine results for articles published after the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_on false Refine results for articles published on the specified date. Supported formats include: Y-m-d.
Examples: 2022-12-01
sort false Sort by total_documents or sentiment_avg
Default: total_documents
sort_order false Sort order of the sort parameter.
Options: desc | asc
Default: desc
date_order false Ordering of the date keys.
Options: desc | asc
Default: desc
limit false Specify the number of entities you want to return in the request. The maximum limit is based on your plan. The default limit is the maximum specified for your plan.

Response Objects

name description
data > date Date of the time series data.
data > data > key The key based on the group_by parameter. For example, this could be symbol, exchange, industry or country.
data > data > total_documents Total number of documents identified for the key and also based on the query parameters provided.
data > data > sentiment_avg Average sentiment of the key and also based on the query parameters provided.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/news/stats/intraday?symbols=TSLA%2CAMZN%2CMSFT&interval=day&published_after=2022-11-30T11%3A04&language=en&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "data": [
        {
            "date": "2022-12-01T00:00:00.000Z",
            "data": [
                {
                    "key": "TSLA",
                    "total_documents": 17,
                    "sentiment_avg": 0.02575735397198621
                },
                {
                    "key": "MSFT",
                    "total_documents": 9,
                    "sentiment_avg": 0.3722095522615645
                },
                {
                    "key": "AMZN",
                    "total_documents": 4,
                    "sentiment_avg": 0.16839999705553055
                }
            ]
        },
        {
            "date": "2022-11-30T00:00:00.000Z",
            "data": [
                {
                    "key": "TSLA",
                    "total_documents": 63,
                    "sentiment_avg": 0.21881452505846347
                },
                {
                    "key": "MSFT",
                    "total_documents": 45,
                    "sentiment_avg": 0.3758039346585671
                },
                {
                    "key": "AMZN",
                    "total_documents": 44,
                    "sentiment_avg": 0.3196906354013746
                }
            ]
        }
    ]
}
            
        

Entity Stats (aggregation) Available on: Standard and above

Endpoint

            
                GET https://api.stockdata.org/v1/news/stats/aggregation HTTP/1.1
            
        

Similar to the entity stats time series endpoint, this returns an aggregation of entities for a single time frame, rather than being broken down by date. Useful to find the best or worst performing stocks.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
group_by false Group results by symbol | exchange | industry | country
Default: symbol
min_doc_count false The minimum number of total_documents an entity should be identified within to be returned with the results.
Example: min_doc_count=10
symbols false Specify entity symbol(s) which have been identified within the article. Find entity symbols in our entity search endpoint.
Example: symbols=TSLA,AMZN,MSFT
exchanges false Specify exchange(s) of entities which have been identified within the article. Find exchanges in our exchanges metadata endpoint.
Example: exchanges=NASDAQ,NYSE
entity_types false Specify the type of entities which have been identified within the article. Find entity types in our entity type metadata endpoint.
Example: entity_types=index,equity
industries false Specify the industries of entities which have been identified within the article. Find entity types in our entity industry metadata endpoint.
Example: industries=Technology,Industrials
countries false Specify the country of the exchange of which entities have been identified within the article. Find countries as part of our entity exchanges metadata endpoint.
Example: countries=us,ca
sentiment_avg_gte false Use this to refine results to find all entities with an overall sentiment_avg greater than or equal to x.
Example: sentiment_avg_gte=0 - this will find all entities which are neutral or positive
sentiment_avg_lte false Use this to refine results to find all entities with an overall sentiment_avg less than or equal to x.
Example: sentiment_avg_lte=0 - this will find all entities which are neutral or negative
sentiment_gte false Use this to refine results to find all documents for entities with a sentiment_score greater than or equal to x.
Example: sentiment_gte=0 - this will find all document entities which are neutral or positive
sentiment_lte false Use this to refine results to find all documents for entities with a sentiment_score less than or equal to x.
Example: sentiment_lte=0 - this will find all document entities which are neutral or negative
search false Use the search as a basic search tool by entering regular search terms or it has more advanced usage to build search queries:
+ signifies AND operation
| signifies OR operation
- negates a single token
" wraps a number of tokens to signify a phrase for searching
* at the end of a term signifies a prefix query
( and ) signify precedence
To use one of these characters literally, escape it with a preceding backslash (\).
This searches the full body of the text and the title.

Example: "ipo" -nasdaq (searches for articles which must include the string "ipo" but articles must NOT mention Nasdaq.)

For more advanced query examples, see our API Examples section.
domains false Comma separated list of domains to include. List of domains can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com,adage.com
exclude_domains false Comma separated list of domains to exclude
source_ids false Comma separated list of source_ids to include. List of source_ids can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com-1,adage.com-1
exclude_source_ids false Comma separated list of source_ids to exclude.
language false Comma separated list of languages to include. Default is all.
Click here for a list of supported languages.
Examples: en,es (English + Spanish)
published_before false Refine results for articles published before the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_after false Refine results for articles published after the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_on false Refine results for articles published on the specified date. Supported formats include: Y-m-d.
Examples: 2022-12-01
sort false Sort by total_documents or sentiment_avg
Default: total_documents
sort_order false Sort order of the sort parameter.
Options: desc | asc
Default: desc
limit false Specify the number of entities you want to return in the request. The maximum limit is based on your plan. The default limit is the maximum specified for your plan.

Response Objects

name description
meta > returned The number of entities returned.
meta > limit The limit based on the limit parameter.
data > key The key based on the group_by parameter. For example, this could be symbol, exchange, industry or country.
data > total_documents Total number of documents identified for the key and also based on the query parameters provided.
data > sentiment_avg Average sentiment of the key and also based on the query parameters provided.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/news/stats/aggregation?symbols=TSLA%2CAMZN%2CMSFT&published_after=2022-11-30T11%3A04&language=en&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "returned": 3,
        "limit": 100
    },
    "data": [
        {
            "key": "TSLA",
            "total_documents": 80,
            "sentiment_avg": 0.17778987620258704
        },
        {
            "key": "MSFT",
            "total_documents": 54,
            "sentiment_avg": 0.37520487092573335
        },
        {
            "key": "AMZN",
            "total_documents": 48,
            "sentiment_avg": 0.3070830822058876
        }
    ]
}
            
        

Endpoint

            
                GET https://api.stockdata.org/v1/news/stats/trending HTTP/1.1
            
        

Use this endpoint to identify trending entities. Filter by time frame and much more; e.g. find which stocks were trending on a specific day, within the past 24 hours, past 7 days, etc.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
group_by false Group results by symbol | exchange | industry | country
Default: symbol
min_doc_count false The minimum number of total_documents an entity should be identified within to be returned with the results.
Example: min_doc_count=10
symbols false Specify entity symbol(s) which have been identified within the article. Find entity symbols in our entity search endpoint.
Example: symbols=TSLA,AMZN,MSFT
exchanges false Specify exchange(s) of entities which have been identified within the article. Find exchanges in our exchanges metadata endpoint.
Example: exchanges=NASDAQ,NYSE
entity_types false Specify the type of entities which have been identified within the article. Find entity types in our entity type metadata endpoint.
Example: entity_types=index,equity
industries false Specify the industries of entities which have been identified within the article. Find entity types in our entity industry metadata endpoint.
Example: industries=Technology,Industrials
countries false Specify the country of the exchange of which entities have been identified within the article. Find countries as part of our entity exchanges metadata endpoint.
Example: countries=us,ca
sentiment_avg_gte false Use this to refine results to find all entities with an overall sentiment_avg greater than or equal to x.
Example: sentiment_avg_gte=0 - this will find all entities which are neutral or positive
sentiment_avg_lte false Use this to refine results to find all entities with an overall sentiment_avg less than or equal to x.
Example: sentiment_avg_lte=0 - this will find all entities which are neutral or negative
sentiment_gte false Use this to refine results to find all documents for entities with a sentiment_score greater than or equal to x.
Example: sentiment_gte=0 - this will find all document entities which are neutral or positive
sentiment_lte false Use this to refine results to find all documents for entities with a sentiment_score less than or equal to x.
Example: sentiment_lte=0 - this will find all document entities which are neutral or negative
search false Use the search as a basic search tool by entering regular search terms or it has more advanced usage to build search queries:
+ signifies AND operation
| signifies OR operation
- negates a single token
" wraps a number of tokens to signify a phrase for searching
* at the end of a term signifies a prefix query
( and ) signify precedence
To use one of these characters literally, escape it with a preceding backslash (\).
This searches the full body of the text and the title.

Example: "ipo" -nasdaq (searches for articles which must include the string "ipo" but articles must NOT mention Nasdaq.)

For more advanced query examples, see our API Examples section.
domains false Comma separated list of domains to include. List of domains can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com,adage.com
exclude_domains false Comma separated list of domains to exclude
source_ids false Comma separated list of source_ids to include. List of source_ids can be obtained through our Sources endpoint, found further down this page.
Example: adweek.com-1,adage.com-1
exclude_source_ids false Comma separated list of source_ids to exclude.
language false Comma separated list of languages to include. Default is all.
Click here for a list of supported languages.
Examples: en,es (English + Spanish)
published_before false Refine results for articles published before the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_after false Refine results for articles published after the specified date. Supported formats include: Y-m-d\TH:i:s | Y-m-d\TH:i | Y-m-d\TH | Y-m-d | Y-m | Y.
Examples: 2022-12-01T11:04:37 | 2022-12-01T11:04 | 2022-12-01T11 | 2022-12-01 | 2022-12 | 2022
published_on false Refine results for articles published on the specified date. Supported formats include: Y-m-d.
Examples: 2022-12-01
sort false Sort by total_documents or sentiment_avg
Default: total_documents
sort_order false Sort order of the sort parameter.
Options: desc | asc
Default: desc
limit false Specify the number of entities you want to return in the request. The maximum limit is based on your plan. The default limit is the maximum specified for your plan.

Response Objects

name description
meta > returned The number of entities returned.
meta > limit The limit based on the limit parameter.
data > key The key based on the group_by parameter. For example, this could be symbol, exchange, industry or country.
data > total_documents Total number of documents identified for the key and also based on the query parameters provided.
data > sentiment_avg Average sentiment of the key and also based on the query parameters provided.
data > score The relevance score for the trending entity.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/news/stats/trending?exchanges=nyse%2Cnasdaq&min_doc_count=10&published_after=2022-11-30T11%3A04&language=en&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "returned": 40,
        "limit": 100
    },
    "data": [
        {
            "key": "NCNO",
            "total_documents": 14,
            "sentiment_avg": 0.21507799731833593,
            "score": 3.084192961115011
        },
        {
            "key": "BIIB",
            "total_documents": 36,
            "sentiment_avg": -0.02996294241812494,
            "score": 2.663775531855051
        },
        {
            "key": "CRWD",
            "total_documents": 20,
            "sentiment_avg": -0.0027602493762969972,
            "score": 1.9963776871645202
        },
        {
            "key": "AAPL",
            "total_documents": 114,
            "sentiment_avg": 0.22202017476880237,
            "score": 1.7684116237599183
        },
        {
            "key": "NTAP",
            "total_documents": 15,
            "sentiment_avg": 0.032615268230438234,
            "score": 1.706471591636828
        },
        ...
    ]
}
            
        

Stock Metadata

Entity Bulk Data Available on: Pro plan and above

Endpoint

            
                GET https://bulk.stockdata.org/v1/data/entity/bulk HTTP/1.1
            
        

Get a bulk response of all of the entities on a specified exchange. Note: due to the large volume of data processed in bulk endpoints, all bulk.stockdata.org endpoints are rate limited to 3 requests per minute.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
exchange true Specify exchange to return data for.
Example: exchange=NYSE

Response Objects

name description
meta > found The number of entities found for the request.
meta > exchange_short Short exchange code of the requested exchange.
meta > mic_code MIC of the requested exchange.
data > symbol Entity symbol/ticker.
data > name Entity name.
data > address1 Address line 1.
data > address2 Address line 2.
data > address3 Address line 3.
data > address4 Address line 4.
data > address5 Address line 5.
data > city City of the company.
data > state State of the company.
data > zip ZIP/postal code of the company.
data > country Country of the company.
data > phone Phone number of the company.
data > website Website of the company.
data > industry Comapny industry.
data > sector Company sector.
data > full_time_employees Number of company full time employees.
data > description Company description.

If no results are found, the data object will be empty.

Example Request

            
                GET https://bulk.stockdata.org/v1/data/entity/bulk?exchange=NYSE&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                
            {
                "meta": {
                    "found": 3897,
                    "exchange_short": "NYSE",
                    "mic_code": "XNYS"
                },
                "data": [
                    {
                        "symbol": "A",
                        "name": "Agilent Technologies Inc",
                        "type": "equity",
                        "address1": "5301 Stevens Creek Boulevard",
                        "address2": null,
                        "address3": null,
                        "address4": null,
                        "address5": null,
                        "city": "Santa Clara",
                        "state": "CA",
                        "zip": "95051",
                        "country": "United States",
                        "phone": "800 227 9770",
                        "website": "http://www.agilent.com",
                        "industry": "Diagnostics & Research",
                        "sector": "Healthcare",
                        "full_time_employees": 16400,
                        "description": "Agilent Technologies, Inc. provides application focused solutions to the life sciences, diagnostics, and applied chemical markets worldwide. The Life Sciences and Applied Markets segment offers liquid and gas chromatography systems and components; liquid and gas chromatography mass spectrometry systems; inductively coupled plasma mass and optical emission spectrometry instruments; atomic absorption instruments; microwave plasma-atomic emission spectrometry instruments; raman spectroscopy; cell analysis plate based assays; flow cytometer; real-time cell analyzer; cell imaging systems; microplate readers; laboratory software, information management, and analytics; laboratory automation and robotic systems; dissolution testing; vacuum pumps; and measurement technologies. The Diagnostics and Genomics segment provides arrays for DNA mutation detection, genotyping, gene copy number determination, identification of gene rearrangements, DNA methylation profiling, and gene expression profiling, as well as sequencing target enrichment, genetic data management, and interpretation support software; and equipment to produce synthesized oligonucleotide. It also offers immunohistochemistry, in situ hybridization, and hematoxylin and eosin staining and special staining; instruments, consumables, and software for quality control analysis of nucleic acid samples; and reagents for use in turbidimetry and flow cytometry, as well as develops pharmacodiagnostics. The Agilent CrossLab segment provides GC and LC columns, sample preparation products, custom chemistries, and laboratory instrument supplies; and startup, operational, training, compliance support, software as a service, asset management, and consultation services. The company markets its products through direct sales, distributors, resellers, manufacturer's representatives, and electronic commerce. It has collaboration agreement with SGS AXYS. The company was incorporated in 1999 and is headquartered in Santa Clara, California."
                    },
                    {
                        "symbol": "AA",
                        "name": "Alcoa Corp",
                        "type": "equity",
                        "address1": "201 Isabella Street",
                        "address2": "Suite 500",
                        "address3": null,
                        "address4": null,
                        "address5": null,
                        "city": "Pittsburgh",
                        "state": "PA",
                        "zip": "15212-5858",
                        "country": "United States",
                        "phone": "412-315-2900",
                        "website": "http://www.alcoa.com",
                        "industry": "Aluminum",
                        "sector": "Basic Materials",
                        "full_time_employees": 12900,
                        "description": "Alcoa Corporation, together with its subsidiaries, produces and sells bauxite, alumina, and aluminum products in the United States, Spain, Australia, Brazil, Canada, and internationally. The company operates through three segments: Bauxite, Alumina, and Aluminum. It engages in bauxite mining operations; and processes bauxite into alumina and sells it to customers who process it into industrial chemical products, as well as aluminum smelting, casting, and rolling businesses. The company offers primary aluminum in the form of alloy ingot or value-add ingot to customers that produce products for the transportation, building and construction, packaging, wire, and other industrial markets; and flat-rolled aluminum sheets to customers that produce beverage and food cans. In addition, it owns hydro power plants that produce and sell electricity to the wholesale market to traders, large industrial consumers, distribution companies, and other generation companies. The company was formerly known as Alcoa Upstream Corporation and changed its name to Alcoa Corporation in October 2016. The company was founded in 1888 and is headquartered in Pittsburgh, Pennsylvania."
                    },
                    {
                        "symbol": "AAC",
                        "name": "Ares Acquisition Corp",
                        "type": "equity",
                        "address1": "245 Park Avenue,",
                        "address2": "44th Floor",
                        "address3": null,
                        "address4": null,
                        "address5": null,
                        "city": "New York",
                        "state": "NY",
                        "zip": "10167",
                        "country": "United States",
                        "phone": "310 201 4100",
                        "website": null,
                        "industry": "Shell Companies",
                        "sector": "Financial Services",
                        "full_time_employees": null,
                        "description": "Ares Acquisition Corporation focuses on effecting a merger, share exchange, asset acquisition, share purchase, reorganization, or similar business combination with one or more businesses. The company was founded in 2020 and is based in New York, New York."
                    },
                    ...
                ]
            }
        
            
        

Endpoint

            
                GET https://api.stockdata.org/v1/entity/search HTTP/1.1
            
        

Use this endpoint to search for all entities we support. Note that the limit is 50 for all requests.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
search false Dynamic search function to find entities.
symbols false Enter specific symbols to return.
exchanges false Filter results by specific exchanges. Comma separated list.
types false Filter results by entity types. Comma separated list.
industries false Filter results by industries. Comma separated list.
countries false Filter results by ISO 3166-1 two-letter country code of the exchange. Comma separated list.
page false Use this to paginate through the result set. Default is 1.
Example: page=2

Response Objects

name description
meta > found The number of entities found for the request.
meta > returned The number of entities returned on the page.
meta > limit The limit is 50. This currently can not be changed.
meta > page The page number based on the page parameter.
data > symbol Unique entity symbol (or ticker).
data > name Entity name.
data > type The entity type.
data > industry The entity industry.
data > exchange The exchange identifier.
data > exchange_long The exchange name.
data > mic_code The exchanges ISO 10383 market identifier code.
data > country The ISO 3166-1 two-letter country code of the exchange locale.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/entity/search?search=tsla&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "meta": {
        "found": 1,
        "returned": 1,
        "limit": 50,
        "page": 1
    },
    "data": [
        {
            "symbol": "TSLA",
            "name": "Tesla Inc",
            "type": "equity",
            "industry": null,
            "exchange": "NASDAQ",
            "exchange_long": "NASDAQ Stock Exchange",
            "mic_code": "XNAS",
            "country": "us"
        }
    ]
}
            
        

Exchange List Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/entity/exchange/list HTTP/1.1
            
        

Use this endpoint to return a list of all supported exchanges.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.

Response Objects

name description
data > mic_code The exchanges ISO 10383 market identifier code.
data > exchange The unique identifier of the exchange.
data > exchange_long The name of the exchange.
data > country The ISO 3166-1 two-letter country code of the exchange locale.
data > append The appended characters for the exchange tickers.
data > timezone Non DST timezone of the exchange.
data > timezone_dst DST timezone (daylight saving time).
data > timezone_name The name of the timezone.
data > is_dst Specifies if the timezone is currently daylight saving time.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/entity/exchange/list?api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "data": [
        {
            "mic_code": "XLON",
            "exchange": "LSE",
            "stock_exchange_long": "London Stock Exchange",
            "country": "gb",
            "append": ".L",
            "timezone": "GMT",
            "timezone_dst": "BST",
            "timezone_name": "Europe/London",
            "is_dst": 0
        },
        {
            "mic_code": "INDX",
            "exchange": "INDEXASX",
            "stock_exchange_long": "",
            "country": "au",
            "append": "",
            "timezone": "AEDT",
            "timezone_dst": "AEST",
            "timezone_name": "Australia/Sydney",
            "is_dst": 1
        },
        {
            "mic_code": "BATS",
            "exchange": "CBOE",
            "stock_exchange_long": "BATS Global Markets",
            "country": "us",
            "append": "",
            "timezone": "EST",
            "timezone_dst": "EDT",
            "timezone_name": "America/New_York",
            "is_dst": 0
        },
        {
            "mic_code": "INDX",
            "exchange": "INDEXBIT",
            "stock_exchange_long": "",
            "country": "it",
            "append": "",
            "timezone": "CET",
            "timezone_dst": "CEST",
            "timezone_name": "Europe/Rome",
            "is_dst": 0
        },
        {
            "mic_code": "XHKG",
            "exchange": "HKSE",
            "stock_exchange_long": "Hong Kong Stock Exchange",
            "country": "hk",
            "append": ".HK",
            "timezone": "HKT",
            "timezone_dst": "HKT",
            "timezone_name": "Asia/Hong_Kong",
            "is_dst": 0
        },
        ...
    ]
}
            
        

Entity Type List Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/entity/type/list HTTP/1.1
            
        

Use this endpoint to return all supported entity types.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.

Response Objects

name description
data Array of entity types.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/entity/type/list?api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "data": [
        "equity",
        "index",
        "etf",
        "mutualfund",
        "currency",
        "cryptocurrency"
    ]
}
            
        

Industry List Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/entity/industry/list HTTP/1.1
            
        

Use this endpoint to return all supported entity industries.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.

Response Objects

name description
data Array of industries.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/entity/industry/list?api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "data": [
        "Technology",
        "Industrials",
        "N/A",
        "Consumer Cyclical",
        "Healthcare",
        "Communication Services",
        "Financial Services",
        "Consumer Defensive",
        "Basic Materials",
        "Real Estate",
        "Energy",
        "Utilities",
        "Financial",
        "Services",
        "Consumer Goods",
        "Industrial Goods"
    ]
}
            
        

Company Profiles Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/entity/profile HTTP/1.1
            
        

Use this endpoint to get a profile for a company based on its ticker.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
symbols false Ticker of the stock you wish to retrieve the profile for.

Response Objects

name description
data > ticker Entity ticker
data > address1 Address line 1.
data > address2 Address line 2.
data > address3 Address line 3.
data > address4 Address line 4.
data > address5 Address line 5.
data > city City of the company.
data > state State of the company.
data > zip ZIP/postal code of the company.
data > country Country of the company.
data > phone Phone number of the company.
data > website Website of the company.
data > industry Comapny industry.
data > sector Company sector.
data > full_time_employees Number of company full time employees.
data > description Company description.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/entity/profile?symbols=AAPL&api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "data": [
        {
            "ticker": "AAPL",
            "address1": "One Apple Park Way",
            "address2": null,
            "address3": null,
            "address4": null,
            "address5": null,
            "city": "Cupertino",
            "state": "CA",
            "zip": "95014",
            "country": "United States",
            "phone": "408-996-1010",
            "website": "http://www.apple.com",
            "industry": "Consumer Electronics",
            "sector": "Technology",
            "full_time_employees": 147000,
            "description": "Apple Inc. designs, manufactures, and markets smartphones, personal computers, tablets, wearables, and accessories worldwide. It also sells various related services. The company offers iPhone, a line of smartphones; Mac, a line of personal computers; iPad, a line of multi-purpose tablets; and wearables, home, and accessories comprising AirPods, Apple TV, Apple Watch, Beats products, HomePod, iPod touch, and other Apple-branded and third-party accessories. It also provides AppleCare support services; cloud services store services; and operates various platforms, including the App Store, that allow customers to discover and download applications and digital content, such as books, music, video, games, and podcasts. In addition, the company offers various services, such as Apple Arcade, a game subscription service; Apple Music, which offers users a curated listening experience with on-demand radio stations; Apple News+, a subscription news and magazine service; Apple TV+, which offers exclusive original content; Apple Card, a co-branded credit card; and Apple Pay, a cashless payment service, as well as licenses its intellectual property. The company serves consumers, and small and mid-sized businesses; and the education, enterprise, and government markets. It sells and delivers third-party applications for its products through the App Store. The company also sells its products through its retail and online stores, and direct sales force; and third-party cellular network carriers, wholesalers, retailers, and resellers. Apple Inc. was founded in 1977 and is headquartered in Cupertino, California."
        }
    ]
}
            
        

News Metadata

Sources Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/news/sources HTTP/1.1
            
        

Use this endpoint to view sources which can be used in other API requests. Note that the limit is 50 for all requests.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.
distinct_domain false Use this to group distinct domains from sources. This will make source_id null.
Example: distinct_domain=true
language false Comma separated list of languages to include. Default is all.
Click here for a list of supported languages.
Examples: en,es (English + Spanish)
page false Use this to paginate through the result set. Default is 1.
Example: page=2

Response Objects

name description
meta > found The number of sources found for the request.
meta > returned The number of sources returned on the page.
meta > limit The limit is 50. This currently can not be changed.
meta > page The page number based on the page parameter.
data > source_id The unique ID of the source feed. Use this for the source_ids or exclude_source_ids parameters in the news endpoints. There may be many source_ids for each domain, therefore we would generally suggest using the domains filter instead the source_ids filter.
data > domain The domain of the source. You can use this for the domains or exclude_domains parameters in the news endpoints.
data > language The source language.

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/news/sources?api_token=YOUR_API_TOKEN&language=en
            
        

Example Response

            
                
            {
                "meta": {
                    "found": 5327,
                    "returned": 50,
                    "limit": 50,
                    "page": 1
                },
                "data": [
                    {
                        "source_id": "adweek.com-1",
                        "domain": "adweek.com",
                        "language": "en"
                    },
                    {
                        "source_id": "adage.com-1",
                        "domain": "adage.com",
                        "language": "en"
                    },
                    {
                        "source_id": "avc.com-1",
                        "domain": "avc.com",
                        "language": "en"
                    },
                    ...
                ]
            }
        
            
        

Misc

US Trading Holidays Available on: All plans

Endpoint

            
                GET https://api.stockdata.org/v1/data/holidays HTTP/1.1
            
        

Use this endpoint to get a list of US trading holidays from the year 2000 to 2+ years into the future.

HTTP GET Parameters

name required description
api_token true Your API token which can be found on your account dashboard.

Response Objects

name description
data > date Date of the holiday

If no results are found, the data object will be empty.

Example Request

            
                GET https://api.stockdata.org/v1/data/holidays?api_token=YOUR_API_TOKEN
            
        

Example Response

            
                {
    "data": [
        {
            "date": "2024-12-25T00:00:00.000000Z"
        },
        ...
    ]
}
            
        

Errors

Errors

If your request was unsuccessful, you will receive a JSON formatted error. Below you will find the potential errors you may encounter when using the API.

Errors

error code HTTP status description
malformed_parameters 400 Validation of parameters failed. The failed parameters are usually shown in the error message.
invalid_api_token 401 Invalid API token.
usage_limit_reached 402 Usage limit of your plan has been reached. Usage limit and remaining requests can be found on the X-UsageLimit-Limit header.
endpoint_access_restricted 403 Access to the endpoint is not available on your current subscription plan.
resource_not_found 404 Resource could not be found.
invalid_api_endpoint 404 API route does not exist.
rate_limit_reached 429 Too many requests in the past 60 seconds. Rate limit and remaining requests can be found on the X-RateLimit-Limit header.
server_error 500 A server error occured.
maintenance_mode 503 The service is currently under maintenance.

Example Error Response

            
                
            {
                "error": {
                    "code": "malformed_parameters",
                    "message": "The published_before parameter(s) are incorrectly formatted."
                }
            }
        
            
        

Examples

API Examples

There are unlimited ways to filter and refine your results with our API, see a few examples below to help you get started.

If you need assistance creating the perfect query, feel free to contact us.

Retrieve all articles which have entities mentioned that exist in NASDAQ or NYSE exchanges

    
        GET https://api.stockdata.org/v1/news/all?exchanges=NYSE%2CNASDAQ&api_token=YOUR_API_TOKEN
    

Retrieve all articles which have mentioned AAPL and TSLA, and filter the entities array so ONLY these are displayed with articles

    
        GET https://api.stockdata.org/v1/news/all?symbols=AAPL%2CTSLA&filter_entities=true&api_token=YOUR_API_TOKEN
    

Find all articles with positive entity sentiment in English

    
        GET https://api.stockdata.org/v1/news/all?sentiment_gte=0.1&language=en&api_token=YOUR_API_TOKEN
    

Find all articles with neutral entity sentiment in English

    
        GET https://api.stockdata.org/v1/news/all?sentiment_gte=0&sentiment_lte=0&language=en&api_token=YOUR_API_TOKEN
    

Find all articles with negative entity sentiment in English

    
        GET https://api.stockdata.org/v1/news/all?sentiment_lte=-0.1&language=en&api_token=YOUR_API_TOKEN
    

Get a day-by-day breakdown of top mentioned entities for exchanges in the US for last month (November 2022)

    
        GET https://api.stockdata.org/v1/news/stats/intraday?interval=day&group_by=symbol&countries=us&published_after=2022-11-01T00%3A00&published_before=2022-11-30T23%3A59&api_token=YOUR_API_TOKEN
    

Get an aggregation for the top entities by sentiment yesterday (30 November 2022)

    
        GET https://api.stockdata.org/v1/news/stats/intraday?group_by=symbol&sort=sentiment_avg&sort_order=desc&published_on=2022-11-30&api_token=YOUR_API_TOKEN
    

Code Examples

See our prepared examples below to quickly get started implementing our API into your next project.

PHP

    
        $queryString = http_build_query([
            'api_token' => 'YOUR_API_TOKEN',
            'symbols' => 'AAPL,TSLA',
            'filter_entities' => 'true',
            'limit' => 50,
        ]);

        $ch = curl_init(sprintf('%s?%s', 'https://api.stockdata.org/v1/news/all', $queryString));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $json = curl_exec($ch);

        curl_close($ch);

        $apiResult = json_decode($json, true);

        print_r($apiResult);
    

Python

    
        # Python 3
        import http.client, urllib.parse

        conn = http.client.HTTPSConnection('api.stockdata.org')

        params = urllib.parse.urlencode({
            'api_token': 'YOUR_API_TOKEN',
            'symbols': 'AAPL,TSLA',
            'limit': 50,
            })

        conn.request('GET', '/v1/news/all?{}'.format(params))

        res = conn.getresponse()
        data = res.read()

        print(data.decode('utf-8'))
    

Go

    
        package main

        import (
            "fmt"
            "io/ioutil"
            "net/http"
            "net/url"
        )

        func main() {
            baseURL, _ := url.Parse("https://api.stockdata.org")

            baseURL.Path += "v1/news/all"

            params := url.Values{}
            params.Add("api_token", "YOUR_API_TOKEN")
            params.Add("symbols", "aapl,tsla")
            params.Add("search", "ipo")
            params.Add("limit", "50")

            baseURL.RawQuery = params.Encode()

            req, _ := http.NewRequest("GET", baseURL.String(), nil)

            res, _ := http.DefaultClient.Do(req)

            defer res.Body.Close()

            body, _ := ioutil.ReadAll(res.Body)

            fmt.Println(string(body))
        }
    

JavaScript

    
        var requestOptions = {
            method: 'GET'
        };

        var params = {
            api_token: 'YOUR_API_TOKEN',
            symbols: 'msft,fb',
            limit: '50'
        };

        var esc = encodeURIComponent;
        var query = Object.keys(params)
            .map(function(k) {return esc(k) + '=' + esc(params[k]);})
            .join('&');

        fetch("https://api.stockdata.org/v1/news/all?" + query, requestOptions)
          .then(response => response.text())
          .then(result => console.log(result))
          .catch(error => console.log('error', error));
    

C#

    
        var client = new RestClient("https://api.stockdata.org/v1/news/all");
        client.Timeout = -1;

        var request = new RestRequest(Method.GET);

        request.AddQueryParameter("api_token", "YOUR_API_TOKEN");
        request.AddQueryParameter("symbols", "aapl,amzn");
        request.AddQueryParameter("limit", "50");

        IRestResponse response = client.Execute(request);
        Console.WriteLine(response.Content);
    

Java

    
        OkHttpClient client = new OkHttpClient().newBuilder()
          .build();

        HttpUrl.Builder httpBuilder = HttpUrl.parse("https://api.stockdata.org/v1/news/all").newBuilder();
        httpBuilder.addQueryParameter("api_token", "YOUR_API_TOKEN");
        httpBuilder.addQueryParameter("symbols", "aapl,msft");
        httpBuilder.addQueryParameter("limit", "50");

        Request request = new Request.Builder().url(httpBuilder.build()).build();

        Response response = client.newCall(request).execute();