NB: Due to our specialized focus, the SIT database contains EOD and stock information exclusively for companies involved in insider transactions. However, we also analyze stock indices and ETFs that include stocks involved in insider transactions.
General settings:
base_url: https://api.smartinsidertrades.com
api_version: v1
Data returned by each API endpoint is always in JSON format. Upon a successful request, the API will return an HTTP code of 200. You are encouraged to develop your error-handling mechanism to capture potential HTTP codes in the 4xx-5xx range.
The typical API latency is under 300 milliseconds.
Your API key can be located within the 'Settings' page of your profile. It is essential to include this API key in every request as a header named sit-api-key.
Currently, there are no limitations on how often you can make API calls. The main principle we follow when building this API is 'keep it as simple as possible'.
This API endpoint provides the buy/sell sentiment ratio for a specified country within the last specified number of months. The endpoint accepts the following optional arguments:
country - Business entity's country in 2-letter ISO code format (e.g., SE). If the 'country' attribute is omitted, the buy/sell ratio will be calculated for all countries.
months_ago - The number of previous months for which you are requesting data (minimum value: 1).
The response contains the following fields:
{
"sell": 96,
"buy": 513,
"ratio": "5.34"
}
Tickers
The following API endpoints retrieve information about tickers or public companies:
POST base_url/api_version/tickers/search
This API endpoint searches for tickers using a provided keyword. It returns the 30 closest search results. The endpoint accepts the following argument:
keyword - The 'keyword' field can contain any string or a portion of ISIN, a company name, LEI code, registration number.
The response contains an array consisting of the following fields:
uuid
String
Universally Unique Identifier (UUID) value of a ticker in the v4 'relaxed' format.
symbol
String
ticker symbol of a stock on the primary exchange
insiders
Array
Includes the following fields for each insider: 'name', 'slug', 'type', 'position', 'transactions', 'avg_transaction', 'turnover', 'first_transaction', 'last_transaction'."
country
String
2-character ISO country code
isin
String
ISIN code. Note that the same company may have multiple ISINs.
issuer
String
Company / issuer name
slug
String
Slug
address_1
String
First line of address
address_2
String
Second line of address
city
String
City
postal_code
String
Postal code
region
String
Region
lei
String
LEI code
beta
Numeric
Beta calculated on all-time daily stock price
all_time_max
Numeric
Represents the all-time high (ATH) value
all_time_min
Numeric
Represents the all-time low (ATL) value.
annual_performance
Array
Annual stock performance per year
delta_correlation
Numeric
One of the most valuable metrics in the SIT project. For more information, please refer to this page.
founded
Integer
Year when a company was founded
registration_number
String
In different countries, the company registration number may have varying formats and names, such as 'company number'.
transactions
Integer
Total quantity of transactions
other_names
Array
If a company was previously known under other names
GET base_url/api_version/ticker/:term
Returns data about a given company/ticker. Use the UUID or slug value as a 'term' GET attribute. The data structure of the returned JSON is explained above.
GET base_url/api_version/ticker/:term/transactions
Identical to the previous API endpoint, but also returns insider transactions associated with a given company. Please note that 'records' is an array of transactions and 'transactions' represent the total quantity of transactions.
The 'records' array may contain a maximum of 100 transactions. If the 'transactions' field indicates more than 100 transactions, you may pass an additional GET attribute 'page' to paginate the results.
The structure of the 'records' array is as follows:
associated
Boolean
Indicates whether an insider was associated
long_term
Boolean
Indicates if a transaction was carried out by a long-term insider
currency
String
Currency of a transaction
isin
String
ISIN
person
String
Insider name
person_slug
String
Insider slug
issuer
String
Company name
position
String
Insider Position
price
Numeric
Price
qty
Numeric
Qty
volume
Numeric
Total amount of a transaction in a currency
transaction
String
Either 'buy' or 'sell'
usd_amount
Numeric
Transaction amount in USD
trading_venue
String
Trading Venue
publication_date
Datetime
Publication Date
transaction_date
Datetime
Transaction Date
Please give careful consideration to transactions flagged as 'long_term' = true, as they were executed by individuals known as long-term insiders within a specific company. These insiders have completed at least 10 transactions within the last 3 years.
UBSTA
"ubsta" is an abbreviation for "Upper Bound of Standardized Transaction Amount". It represents the maximum expected transaction amount. When calculating this metric, we use 2 standard deviations (2STD). This means that there is a 5% probability that a certain transaction would be over a specified amount. If a transaction exceeds the "ubsta," we consider it an anomaly.
API endpoint retrieves the historical UBSTA values, sorted by timestamp in descending order. The endpoint accepts the following argument:
isin - ISIN code.
GET base_url/api_version/ubsta/latest/:isin
API endpoint retrieves the most recent UBSTA value for a given company. The endpoint accepts the following argument:
isin - ISIN code.
The structure of the response is as follows:
isin
String
ISIN code
std_dev_threshold
Numeric
Usually 2 as we use 2STD for our calculations
ubsta
Numeric
ubsta value NB: UBSTA values can change throughout the day due to incoming data.
timestamp
Timestamp
Timestamp
Insiders
POST base_url/api_version/insider/search
This API endpoint searches for insiders using a provided keyword. It returns the 30 closest search results. You can use this endpoint in conjunction with the next endpoint by utilizing the 'slug' or 'uuid' attribute. The endpoint accepts the following argument:
keyword - The 'keyword' field can contain any string or a portion of a name.
The API endpoint below provides both insider information and transactions associated with a given insider. Please note that the total number of transactions is included in the 'transactions' field, and the API returns a maximum of 100 transactions per page. To paginate the response, simply add the GET parameter 'page'.
term - is a UUID or slug associated with a specific insider.
The following API endpoints provide access to the SITI index calculated on a daily or monthly basis.
GET base_url/api_version/siti/daily
By default, the API endpoint returns the SITI index for the last 30 days. If you want to specify a particular timeframe for which you would like to retrieve the SITI value, you can include the 'start_date' and 'end_date' GET parameters in the format YYYY-mm-dd.
"date" - The date for which SITI was calculated. "siti" - The SITI index value. "b_ratio" - The buy ratio, representing the percentage of 'buy' transactions for the given day. "s_ratio" - The sell ratio, representing the percentage of 'sell' transactions for the given day. "delta" - The difference between buy and sell transactions, measured in USD. "total_amount" - The total amount of transactions within the day, measured in USD.
GET base_url/api_version/siti/monthly
This API endpoint is similar to the previous one, but calculates the SITI index on a monthly basis. By default, the API endpoint returns the SITI index for the last 12 months. If you want to specify a particular timeframe for which you would like to retrieve the SITI value, you can include the 'start_date' and 'end_date' GET parameters in the format YYYY-mm-dd.
GET base_url/api_version/siti/constituents
This API endpoint gives you the full list of companies in the SITI index.
The structure of the array is as follows:
isin
String
ISIN
symbol
String
Ticker
lei
String
LEI code
issuer
String
Company name
registration_number
String
Registration number
icb_code
Numeric
ICB code
icb_industry
String
ICB industry
icb_supersector
String
ICB supersector
annual_performance
Array
Annual performance
beta
Numeric
All-time beta
transactions
Numeric
Total amount of transactions
founded
Numeric
Year when a company was founded
website
String
Company website
Watchlists
These API endpoints are responsible for managing watchlists, which are at the heart of the platform's functionality.
GET base_url/api_version/watchlists/my
This API endpoint retrieves the list of watchlists you've previously created
The response contains the following fields:
[{
"name": "My Own Watchlist",
"created_at": "2023-09-17T16:39:55.074Z",
"uuid": "d4dcca11-5578-11ee-9f5e-e9fb3f079a34"
"companies": [{
"name": "Rejlers AB (publ)",
"isin": "SE0000123671"
},
{
"name": "Test AB (publ)",
"isin": "SE0000124321"
}],
}]GET base_url/api_version/watchlists/:uuid
This API endpoint provides details about a specified watchlist. You should use the UUID that is visible in the previous API endpoint to identify the watchlist.
uuid - A UUID, or Universally Unique Identifier, is a 128-bit hexadecimal value that is used to uniquely identify data or entities in a system. It ensures that each watchlist has a distinct and unambiguous identifier.
The response contains the same fields as the previous one.
DELETE base_url/api_version/watchlists/:uuid
This API endpoint allows you to delete a specific watchlist using its UUID. The response will include a single field, 'status.' If the deletion was successful, the response will be {status: true}.
POST base_url/api_version/watchlists/create
This API endpoint is used to create a new watchlist. You are required to provide at least one field, which is 'name.' Upon successful creation, the API will return the UUID of the newly created watchlist.
name - a watchlist title
companies - an array of companies you want to track, with two mandatory fields: 'name' and 'ISIN.'
PUT base_url/api_version/watchlists/update/:uuid
This API endpoint is used to update an existing watchlist. It accepts updates to the 'name' and 'companies' fields. Upon successful update, it returns {'status': true}.
Direct Access to Google Cloud BigQuery
As a paid user, you have the option to request direct access to our BigQuery dataset instead of using the API.
For users who prefer working with Google Spreadsheet, connecting to the BigQuery dataset is the fastest and most efficient option. The dataset in Google Cloud BigQuery is synchronized daily.
For further details on how to connect Google BigQuery with Google Spreadsheet, please refer to the following link: Google Spreadsheet Integration
This site uses cookies to provide a better user experience. By using this site, you agree to our use of cookies.