Security check
We can provide custom documentation for your configuration if you authenticate. We ask you to authenticate as we populate the documentation with your auth credentials.
Authenticate
I'll do it later
New App
Make GET requests in Node Js
Our Node Js methods allow you to make simple GET requests using our REST endpoints in a wrappers. Please ensure you have completely finished all parts of the setup and installation otherwise you will not be able to access the following methods.


Parsed Data
Sandbox
Starter
Premium
Enterprise
Our parsed data method allows you to access our four primary metrics. These metrics have been backtested and refined to be easiest to incorporated into trading algorithms. You can learn more about our parsed metrics in our Learn section.
//the following method returns a promise
S.data.parsed(symbol = "AAPL")
"symbol
Adjust the symbol
//expected output as a JSON object

{
success: true,
symbol: 'AAPL',
results: {
AHI: 1.35,
RHI: 1.2,
sentiment: 0.49,
SGP: 0.89,
}
}
Raw Data
Sandbox
Starter
Premium
Enterprise
Our raw data endpoint allows you to access enriched data from social platforms we monitor. We suggest you use this endpoint to get intuitive data that is directly intregratable into strategies and backtests. You can learn about what exactly each raw data metric means in our Learn Section.
//the following method returns a promise
S.data.raw(symbol = "AAPL")
"symbol
Adjust the symbol
//expected output as a JSON object

{
success: true,
symbol: 'AAPL',
results: {
reddit_comment_mentions: 43,
reddit_comment_sentiment: 0.34,
reddit_post_mentions: 3,
reddit_post_sentiment: 3,
tweet_mentions: 88,
tweet_sentiment: 0.97,
stocktwits_post_mentions: 43,
stocktwits_post_sentiment: 43,
yahoo_finance_comment_mentions: 3,
yahoo_finance_comment_sentiment: 0.34,
}
}
Quote Data
Starter
Premium
Enterprise
You can use our quote data endpoint to access all realtime data about stocks along with further data enrichments that are not provided in the Raw Data and Parsed Data return objects. The data enrichment boolean is by default false - Premium and Enterprise apps can set this to true to recieve more data enrichments
//the following method returns a promise
S.data.quote(symbol = "AAPL", enrich = true)
"symbol"
Adjust the symbol
"enrich" [optional]
Premium and Enterprise apps can enrich their quote data by setting this to true, by default it is false
//expected output as a JSON object

{
success: true,
symbol: 'AAPL',
results: {
AHI: 1.35,
RHI: 1.2,
sentiment: 0.49,
SGP: 0.89,
reddit_comment_mentions: 43,
reddit_comment_sentiment: 0.34,
reddit_post_mentions: 3,
reddit_post_sentiment: 3,
tweet_mentions: 88,
tweet_sentiment: 0.97,
stocktwits_post_mentions: 43,
stocktwits_post_sentiment: 43,
yahoo_finance_comment_mentions: 3,
yahoo_finance_comment_sentiment: 0.34,


//the following data enrichments are only accessible if the "enrich" parameter is set to true


subreddits: {
wallstreetbets_mentions: 46,
wallstreetbets_sentiment: 0.35,
pennystocks_mentions: 23,
pennystocks_sentiment: 0.98,
stocks_mentions: 23,
stocks_sentiment: 0.78,
//further subreddit data enrichments
}
engagement: {
tweet_likes: 46,
reddit_post_likes: 0.35,
reddit_comment_likes: 23,
stocktwits_post_likes: 0.98,
yahoo_finance_comment_likes: 23,
}
//further data enrichments
}
}
Bulk Data
Premium
Enterprise
The bulk method allows you to access the data from many stocks simultaneously. This counts calls based on the number of stocks you request, for example requesting data on AAPL, GME, and TSLA would count as three calls.
S.data.bulk(symbols = ["AAPL", "TSLA", "GME"], enrich=false)
"symbols"
Set this parameter to an a string of comma-separated symbols i.e. ("GME,TSLA,AAPL")
"enrich" [optional]
Premium and Enterprise apps can enrich their quote data by setting this to true, by default it is false
//expected output as a JSON object

{
success: true,
symbols: ['AAPL','GME', 'TSLA'],
results: [
{
symbol: 'AAPL',
AHI: 1.35,
reddit_comment_mentions: 43,
reddit_comment_sentiment: 0.34,
reddit_post_mentions: 3,
reddit_post_sentiment: 0.13,
tweet_mentions: 88,
//further data enrichments
}

{
symbol: 'TSLA',
AHI: 1.45,
reddit_comment_mentions: 12,
reddit_comment_sentiment: 0.94,
reddit_post_mentions: 32,
reddit_post_sentiment: 0.9,
tweet_mentions: 88,
//further data enrichments

},

{
symbol: 'GME',
AHI: 0.98,
reddit_comment_mentions: 45,
reddit_comment_sentiment: 0.88,
reddit_post_mentions: 1,
reddit_post_sentiment: 0.77,
tweet_mentions: 12,
//further data enrichments
}
]
All Data
Enterprise
A method that returns an array of objects consisting of every stocks and all the data associated with each stock except historical data. This uses up the number of calls as stocks present.
S.data.all(enrich=false)
This returns data in the same format as the bulk endpoint but just extends the list to a larger number of stocks
Historical Data
Sandbox
Starter
Premium
Enterprise

The historical data parameter allows you to access current supported historical data for stocks. We continuously populate our database with historical data about stocks so if a stock is missing some data initially you can expect it to soon have historical data. We currently have Reddit, Twitter, and Yahoo Finance historical data and we are working with data providers to expand this offering.

Anyone with a Starter, Premium, or Enterprise app can access fully granular complete historical data. Sandbox API keys can access daily historical data limited to a year.

Your calls will be counted based on the number of datapoints that you request

S.data.historical(symbol="AAPL", metric="AHI",start=1614556869, end =1619654469 )
"symbol"
Set this parameter to the symbol you would like historical data for
"start"
A timestamp in epoch for when you would like to start retrieving historical data
"end"
A timestamp in epoch for when you would like to finish retrieving historical data
"metric"
Select the metric would you like to query historical data for
//expected output as a JSON object

{
success: true,
symbol: 'AAPL',
metric: 'reddit_comment_mentions',
results: [
{
data: 0.031675641431738996 ,
timestamp: 1618017002.3850255
},
{
data: 0.032552083333333336,
timestamp:1618146249.9471605
},
{
data: 0.032552083333333336,
timestamp: 1618146857.1892784
},
{
data:0.028793550244745177 ,
timestamp: 1618161775.28788
},

//the timeseries continues as an array of objects
]
}
Sort Data
Sandbox
Starter
Premium
Enterprise

You can use the sort data endpoint to access ordered rankings of stocks across our core metrics. This is useful for screeners and trading algorithms. The sort method can return up to 100 stocks.

Your calls will be calculated based on the number of stocks that you request data on.

S.data.sort(limit = 30, metric= "RHI")
"metric"
Set this parameter to the metric you would like historical data for. The options are AHI, RHI, sentiment, SGP, tweet_mentions, tweet_sentiment, reddit_comment_mentions, reddit_comment_sentiment, reddit_post_mentions, reddit_post_sentiment, stocktwits_post_mentions, stocktwits_post_sentiment, yahoo_finance_comment_sentiment, yahoo_finance_comment_mentions
"limit"
The maximum number of stocks you want returned
//expected output as a JSON object (sort)

{
success: true,
symbol: 'AAPL',
results: {
AHI: 1.35,
RHI: 1.2,
sentiment: 0.49,
SGP: 0.89,
reddit_comment_mentions: 43,
reddit_comment_sentiment: 0.34,
reddit_post_mentions: 3,
reddit_post_sentiment: 3,
tweet_mentions: 88,
tweet_sentiment: 0.97,
stocktwits_post_mentions: 43,
stocktwits_post_sentiment: 43,
yahoo_finance_comment_mentions: 3,
yahoo_finance_comment_sentiment: 0.34,


//the following data enrichments are only accessible if the "enrich" parameter is set to true


subreddits: {
wallstreetbets_mentions: 46,
wallstreetbets_sentiment: 0.35,
pennystocks_mentions: 23,
pennystocks_sentiment: 0.98,
stocks_mentions: 23,
stocks_sentiment: 0.78,
//further subreddit data enrichments
}
engagement: {
tweet_likes: 46,
reddit_post_likes: 0.35,
reddit_comment_likes: 23,
stocktwits_post_likes: 0.98,
yahoo_finance_comment_likes: 23,
}
//further data enrichments
}
}
Other
We provide a few administrative endpoints that allow developers to access other types of metadata about the API like which stocks are maintained or raw data from our database. The latter can be found in our opensource section.
Supported Stocks
Sandbox
Starter
Premium
Enterprise
Our supported stock endpoints allows developers to establish if a stocks has data on it currently or not. This endpoint does not use a call. The only parameter is the name of the stock, and it returns a simple boolean along with a key and token.
S.system.supported(stock = "AAPL");
All Stocks
Premium
Enterprise
This endpoint does not use up any calls. It simply returns a list of every stock that we gather data on. This is a dynamic list so please be aware of this before storing this data.
S.system.all()