Documentation
Sign up for free!
Get instant access to the API with your free API token. No billing details required!
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 utilize Natural Language Processing tools from NLP-API.com to enhance our news data.
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": 213.96,
"day_high": 217.23,
"day_low": 209.76,
"day_open": 210.11,
"52_week_high": 314.67,
"52_week_low": 101.81,
"market_cap": 678177865728,
"previous_close_price": 207.46,
"previous_close_price_time": "2023-06-01T15:59:59.000000",
"day_change": 3.04,
"volume": 676824,
"is_extended_hours_price": false,
"last_trade_time": "2023-06-02T15:59:59.000000"
},
{
"ticker": "AAPL",
"name": "Apple Inc",
"exchange_short": "NASDAQ",
"exchange_long": "NASDAQ Stock Exchange",
"mic_code": "XNAS",
"currency": "USD",
"price": 180.9,
"day_high": 181.74,
"day_low": 179.27,
"day_open": 181.06,
"52_week_high": 181.78,
"52_week_low": 124.17,
"market_cap": 2846108418048,
"previous_close_price": 180,
"previous_close_price_time": "2023-06-01T15:59:59.000000",
"day_change": 0.5,
"volume": 522154,
"is_extended_hours_price": false,
"last_trade_time": "2023-06-02T15:59:58.000000"
},
{
"ticker": "V",
"name": "Visa Inc",
"exchange_short": "NYSE",
"exchange_long": "New York Stock Exchange",
"mic_code": "XNYS",
"currency": "USD",
"price": 228.79,
"day_high": 230.24,
"day_low": 227.44,
"day_open": 228.63,
"52_week_high": 235.57,
"52_week_low": 174.6,
"market_cap": 479177768960,
"previous_close_price": 226.47,
"previous_close_price_time": "2023-06-01T15:59:56.000000",
"day_change": 1.01,
"volume": 137842,
"is_extended_hours_price": false,
"last_trade_time": "2023-06-02T15:59:59.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 4+ 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: 2023-06-04 |
2023-06 |
2023
|
date_to |
false | Find all data before the specified date. Supported formats include:
Y-m-d | Y-m | Y .
Examples: 2023-06-04 |
2023-06 |
2023
|
date |
false | Find all data on the specified date. Supported formats include:
Y-m-d .
Example: 2023-06-04
|
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. |
format |
false | Get result as CSV. Default is JSON.
Example: format=csv
|
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": "2023-06-01",
"date_to": "2023-06-04",
"max_period_days": 7
},
"data": [
{
"date": "2023-06-02T15:59:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181.01,
"high": 181.03,
"low": 180.82,
"close": 180.9,
"volume": 57039,
"is_extended_hours": false
}
},
{
"date": "2023-06-02T15:58:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181,
"high": 181.01,
"low": 180.94,
"close": 181,
"volume": 13567,
"is_extended_hours": false
}
},
{
"date": "2023-06-02T15:57:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181,
"high": 181.01,
"low": 180.96,
"close": 181,
"volume": 15223,
"is_extended_hours": false
}
},
{
"date": "2023-06-02T15:56:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181.01,
"high": 181.02,
"low": 180.98,
"close": 181,
"volume": 5329,
"is_extended_hours": false
}
},
{
"date": "2023-06-02T15:55:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181.09,
"high": 181.09,
"low": 181,
"close": 181.02,
"volume": 9291,
"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 4+ 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: 2023-06-04 |
2023-06 |
2023
|
date_to |
false | Find all data before the specified date. Supported formats include:
Y-m-d | Y-m | Y .
Examples: 2023-06-04 |
2023-06 |
2023
|
date |
false | Find all data on the specified date. Supported formats include:
Y-m-d .
Example: 2023-06-04
|
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. |
format |
false | Get result as CSV. Default is JSON.
Example: format=csv
|
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": "2023-06-01",
"date_to": "2023-06-04",
"max_period_days": 7
},
"data": [
{
"date": "2023-06-02T15:59:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181.01,
"high": 181.03,
"low": 180.82,
"close": 180.9,
"volume": 57039,
"is_extended_hours": false
}
},
{
"date": "2023-06-02T15:58:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181,
"high": 181.01,
"low": 180.94,
"close": 181,
"volume": 13567,
"is_extended_hours": false
}
},
{
"date": "2023-06-02T15:57:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181,
"high": 181.01,
"low": 180.96,
"close": 181,
"volume": 15223,
"is_extended_hours": false
}
},
{
"date": "2023-06-02T15:56:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181.01,
"high": 181.02,
"low": 180.98,
"close": 181,
"volume": 5329,
"is_extended_hours": false
}
},
{
"date": "2023-06-02T15:55:00.000Z",
"ticker": "AAPL",
"data": {
"open": 181.09,
"high": 181.09,
"low": 181,
"close": 181.02,
"volume": 9291,
"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
|
interval |
false | Specify the interval at which you want to retrieve data. Options: day | week | month | quarter | year Default interval=day
|
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: 2023-06-04 |
2023-06 |
2023
|
date_to |
false | Find all data before the specified date. Supported formats include:
Y-m-d | Y-m | Y .
Examples: 2023-06-04 |
2023-06 |
2023
|
date |
false | Find all data on the specified date. Supported formats include:
Y-m-d .
Example: 2023-06-04
|
key_by_date |
false | Key each result by date/time. |
format |
false | Get result as CSV. Default is JSON.
Example: format=csv
|
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": 10710,
"returned": 10710
},
"data": [
{
"date": "2023-06-02T16:00:00.000000Z",
"open": 181.03,
"high": 181.78,
"low": 179.26,
"close": 180.95,
"volume": 61996913
},
{
"date": "2023-06-01T16:00:00.000000Z",
"open": 177.7,
"high": 180.12,
"low": 176.93,
"close": 180.09,
"volume": 68901809
},
{
"date": "2023-05-31T16:00:00.000000Z",
"open": 177.33,
"high": 179.35,
"low": 176.76,
"close": 177.25,
"volume": 99625288
},
{
"date": "2023-05-30T16:00:00.000000Z",
"open": 176.96,
"high": 178.99,
"low": 176.57,
"close": 177.3,
"volume": 55964401
},
{
"date": "2023-05-26T16:00:00.000000Z",
"open": 173.32,
"high": 175.77,
"low": 173.11,
"close": 175.43,
"volume": 54834975
},
...
]
}
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: 2023-06-04
|
format |
false | Get result as CSV. Default is JSON.
Example: format=csv
|
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": "MSFT",
"date": "2023-06-02T16:00:00.000000Z",
"open": 334.25,
"high": 337.5,
"low": 332.55,
"close": 335.4,
"volume": 25873769
},
{
"symbol": "AAPL",
"date": "2023-06-02T16:00:00.000000Z",
"open": 181.03,
"high": 181.78,
"low": 179.26,
"close": 180.95,
"volume": 61996913
},
{
"symbol": "TSLA",
"date": "2023-06-02T16:00:00.000000Z",
"open": 210.15,
"high": 217.25,
"low": 209.75,
"close": 213.97,
"volume": 164398372
}
]
}
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, or specify a date. 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
|
date |
false | Find all data on the specified date. Default will be latest data. Supported formats include:
Y-m-d .
Example: 2023-06-04
|
format |
false | Get result as CSV. Default is JSON.
Example: format=csv
|
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": 27100.053,
"day_open": 27065.879,
"day_high": 27100.053,
"day_low": 26971.459,
"52_week_high": 31693.291,
"52_week_low": 15599.047,
"change_percent": -0.385984,
"previous_close_price": 27065.879,
"volume": 8295136768,
"market_cap": 525533708288,
"last_update": "2023-06-04T06:34:00.000000Z"
}
],
[
{
"symbol": "USDGBP",
"price": 0.80303,
"day_open": 0.79832,
"day_high": 0.80384,
"day_low": 0.79714,
"52_week_high": 0.96348,
"52_week_low": 0.7887,
"change_percent": 0.579914,
"previous_close_price": 0.7984,
"volume": 0,
"market_cap": 0,
"last_update": "2023-06-02T21:29:54.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 positiveSentiment 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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
published_on |
false | Find all articles published on the specified date. Supported formats include: Y-m-d .
Examples: 2023-06-04
|
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": 98757,
"returned": 3,
"limit": 3,
"page": 1
},
"data": [
{
"uuid": "5f7118b2-88bd-486e-910a-2f0433309066",
"title": "15 PayPal Alternatives For International Payments",
"description": "In today’s article, we will be talking about the 15 PayPal alternatives for international payments. If you don’t want to read the detailed analysis, you can head straight to the 5 PayPal Alternatives For International Payments. In today’s interconnected global economy, businesses of all sizes and industries rely on smooth and efficient international payment solutions […]",
"keywords": "",
"snippet": "In today's article, we will be talking about the 15 PayPal alternatives for international payments. If you don't want to read the detailed analysis, you can hea...",
"url": "https://finance.yahoo.com/news/15-paypal-alternatives-international-payments-075341682.html?.tsrc=rss",
"image_url": "https://media.zenfs.com/en/insidermonkey.com/9c63dcb8931f507bd2d1f4c603d97019",
"language": "en",
"published_at": "2023-06-04T07:53:41.000000Z",
"source": "finance.yahoo.com",
"relevance_score": null,
"entities": [
{
"symbol": "AMZN",
"name": "Amazon.com, Inc.",
"exchange": "NASDAQ",
"exchange_long": "NASDAQ Stock Exchange",
"country": "us",
"type": "equity",
"industry": "Consumer Cyclical",
"match_score": 28.123737,
"sentiment_score": 0.5271,
"highlights": [
{
"highlight": "Amazon Pay\n\nInsider Monkey Score: 3\n\nAmazon Pay, provided by Amazon.com, Inc. (NASDAQ:AMZN), is a popular alternative for businesses with an existing customer base. It offers seamless cross-device payment integration and benefits from the trust associated with the Amazon.com, Inc. (NASDAQ:AMZN) brand. Fees for Amazon.com, Inc.",
"sentiment": 0.8519,
"highlighted_in": "main_text"
},
{
"highlight": "(NASDAQ:AMZN)'s Amazon Pay are similar to PayPal, making it appealing to many companies. Charitable organizations receive lower fees. In the U.S., the transaction fee is 2.9% + 30 cents; for cross-border transactions, it's 3.9% + 39 cents. There's a 30-cent authorization fee per transaction and a $20 chargeback fee.\n\n9.",
"sentiment": 0.2023,
"highlighted_in": "main_text"
}
]
}
],
"similar": []
},
{
"uuid": "6f98d539-8d14-4262-9502-cbff99d4b995",
"title": "16 Rental Car Companies, Ranked from Worst to Best",
"description": "In this article, we are going to discuss 16 rental car companies, ranked from worst to best. You can skip our detailed analysis of the history of the car rental business, biggest player in the market, effects of the Covid-19 pandemic, shortage of vehicles, introduction of EVs and future prospects of the car rental industry […]",
"keywords": "",
"snippet": "In this article, we are going to discuss 16 rental car companies, ranked from worst to best. You can skip our detailed analysis of the history of the car rental...",
"url": "https://finance.yahoo.com/news/16-rental-car-companies-ranked-071530992.html?.tsrc=rss",
"image_url": "https://media.zenfs.com/en/insidermonkey.com/e0313f1b5fbe19d081b24c0ac3d58947",
"language": "en",
"published_at": "2023-06-04T07:15:30.000000Z",
"source": "finance.yahoo.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": 22.369999,
"sentiment_score": 0.40165,
"highlights": [
{
"highlight": "In fact, the company is back in growth mode and even ordered a massive fleet of 100,000 Model 3 vehicles by Tesla, Inc. (NASDAQ:TSLA), to electrify its rental cars. More recently, the company has also added the Tesla, Inc. (NASDAQ:TSLA) Model Y vehicles to its order.",
"sentiment": 0.3818,
"highlighted_in": "main_text"
},
{
"highlight": "Although Hertz expected full delivery of its 100,000 EVs by the end of 2022, Tesla, Inc. (NASDAQ:TSLA) was only able to deliver about half of them.\n\nAccording to ReportLinker, the future of the global car rental industry looks promising and it is expected to reach an estimated $145.6 billion by 2027, with a CAGR of 6.7% from 2021 to 2027.",
"sentiment": 0.4215,
"highlighted_in": "main_text"
}
]
}
],
"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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
published_on |
false | Find all articles published on the specified date. Supported formats include: Y-m-d .
Examples: 2023-06-04
|
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 dayshour = 1 monthday = 3 yearsweek = 5 yearsmonth = 5 yearsquarter = 10 yearsyear = 10 yearsBy 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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
published_on |
false | Refine results for articles published on the specified date. Supported formats include: Y-m-d .
Examples: 2023-06-04
|
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=2023-06-03T11%3A36&language=en&api_token=YOUR_API_TOKEN
Example Response
{
"data": [
{
"date": "2023-06-04T00:00:00.000Z",
"data": [
{
"key": "MSFT",
"total_documents": 2,
"sentiment_avg": 0.11671649664640427
},
{
"key": "AMZN",
"total_documents": 1,
"sentiment_avg": 0.5271000266075134
},
{
"key": "TSLA",
"total_documents": 1,
"sentiment_avg": 0.40165001153945923
}
]
},
{
"date": "2023-06-03T00:00:00.000Z",
"data": [
{
"key": "MSFT",
"total_documents": 8,
"sentiment_avg": 0.45354911498725414
},
{
"key": "AMZN",
"total_documents": 6,
"sentiment_avg": -0.23070932428042093
},
{
"key": "TSLA",
"total_documents": 5,
"sentiment_avg": 0.27988200783729555
}
]
}
]
}
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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
published_on |
false | Refine results for articles published on the specified date. Supported formats include: Y-m-d .
Examples: 2023-06-04
|
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=2023-06-03T11%3A36&language=en&api_token=YOUR_API_TOKEN
Example Response
{
"meta": {
"returned": 3,
"limit": 100
},
"data": [
{
"key": "MSFT",
"total_documents": 10,
"sentiment_avg": 0.38618259131908417
},
{
"key": "AMZN",
"total_documents": 7,
"sentiment_avg": -0.1224508455821446
},
{
"key": "TSLA",
"total_documents": 6,
"sentiment_avg": 0.3001766751209895
}
]
}
Trending Entities Available on: Standard and above
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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
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: 2023-06-04T11:36:06 |
2023-06-04T11:36 |
2023-06-04T11 |
2023-06-04 |
2023-06 |
2023
|
published_on |
false | Refine results for articles published on the specified date. Supported formats include: Y-m-d .
Examples: 2023-06-04
|
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=2023-06-03T11%3A36&language=en&api_token=YOUR_API_TOKEN
Example Response
{
"meta": {
"returned": 5,
"limit": 100
},
"data": [
{
"key": "NVDA",
"total_documents": 10,
"sentiment_avg": 0.4506249986588955,
"score": 1.982043500968732
},
{
"key": "SONY",
"total_documents": 13,
"sentiment_avg": 0.05227584391832352,
"score": 1.6519601618664392
},
{
"key": "AAPL",
"total_documents": 18,
"sentiment_avg": 0.2956013346297873,
"score": 1.590857769589299
},
{
"key": "JNJ",
"total_documents": 10,
"sentiment_avg": 0.15561299845576287,
"score": 0.9250442975013053
},
{
"key": "MSFT",
"total_documents": 10,
"sentiment_avg": 0.38618259131908417,
"score": 0.7682288913108661
}
]
}
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."
},
...
]
}
Entity Search Available on: All plans
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": 1
},
{
"mic_code": "INDX",
"exchange": "INDEXASX",
"stock_exchange_long": "",
"country": "au",
"append": "",
"timezone": "AEDT",
"timezone_dst": "AEST",
"timezone_name": "Australia/Sydney",
"is_dst": 0
},
{
"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": 1
},
{
"mic_code": "INDX",
"exchange": "INDEXBIT",
"stock_exchange_long": "",
"country": "it",
"append": "",
"timezone": "CET",
"timezone_dst": "CEST",
"timezone_name": "Europe/Rome",
"is_dst": 1
},
{
"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 (May 2023)
GET https://api.stockdata.org/v1/news/stats/intraday?interval=day&group_by=symbol&countries=us&published_after=2023-05-01T00%3A00&published_before=2023-05-31T23%3A59&api_token=YOUR_API_TOKEN
Get an aggregation for the top entities by sentiment yesterday (03 June 2023)
GET https://api.stockdata.org/v1/news/stats/intraday?group_by=symbol&sort=sentiment_avg&sort_order=desc&published_on=2023-06-03&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();