In the financial markets, "Smart Money" movements often precede significant price action. Corporate insiders, such as CEOs, CFOs, and Directors, buy or sell shares based on their intimate knowledge of company operations. Similarly, trades made by US Congress members have become a high-interest data point for retail and institutional investors alike. While public disclosure is mandatory, manually checking the SEC EDGAR database is inefficient for algorithmic trading or real-time analysis.
To access these endpoints, you must obtain an API key:
Get your API key
SteadyAPI provides two distinct endpoints to solve this:
GET /v1/markets/insider-trades for structured transaction data and
GET /v2/markets/stock/sec-filings for retrieving raw document links (like 10-Ks and 10-Qs). This guide explains how to programmatically track these disclosures to build automated due diligence tools or congressional trading trackers.
The Endpoints
To effectively monitor insider activity, you must understand the difference between the two primary endpoints:
Insider Trades API
Returns parsed, structured data regarding specific buy and sell transactions. This includes the transaction date, the volume of shares, the total value, and the name of the insider or politician.
SEC Filings API
Returns direct links to the official documents hosted on EDGAR. This is essential for deep-dive research where you need to read the Management Discussion and Analysis (MD&A) or risk factors in a 10-K or 10-Q.
Documentation
Detailed Parameter Analysis
To filter the noise and focus on high-conviction data, you should utilize the following parameters when making your requests.
Filtering Insider Trades
- symbol (string)
The specific ticker you want to analyze (e.g.,NVDA,TSLA). - transactionType (string)
Filter by action. Common values are Buy or Sell. Tracking Buy orders is often considered a stronger bullish signal than selling, as insiders may sell for tax reasons but typically only buy for profit potential. - politiciansOnly (boolean)
This is a unique and powerful feature. Set this to true to filter out corporate officers and return only trades made by US Senators and House Representatives. This is critical for building Congressional Trading strategies.
Filtering SEC Filings
- symbol (string)
The ticker symbol for the company. - type (string, optional)
Filter by document type, such as 10-K (Annual Report), 10-Q (Quarterly Report), or 8-K (Current Report).
Python Example
The following script demonstrates a workflow that first checks for recent insider buying activity for Nvidia (NVDA) and then retrieves the latest annual report links for further research.
import requests
import json
# Configuration
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.steadyapi.com"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
def get_insider_activity(ticker):
print(f"--- Fetching Insider Buys for {ticker} ---")
endpoint = "/v1/markets/insider-trades"
params = {
"symbol": ticker,
"transactionType": "Buy"
}
response = requests.get(f"{BASE_URL}{endpoint}", headers=headers, params=params)
if response.status_code == 200:
data = response.json()
trades = data.get('body', [])
for trade in trades[:3]: # Print first 3 for brevity
print(f"Date: {trade.get('transactionDate')}")
print(f"Insider: {trade.get('firstName')} {trade.get('lastName')}")
print(f"Role: {trade.get('shortJobTitle')}")
print(f"Value: ${trade.get('usdValue')}")
print("-" * 30)
else:
print(f"Error fetching trades: {response.text}")
def get_sec_docs(ticker):
print(f"\n--- Fetching Latest 10-K Filings for {ticker} ---")
endpoint = "/v2/markets/stock/sec-filings"
params = {
"symbol": ticker,
"type": "10-K"
}
response = requests.get(f"{BASE_URL}{endpoint}", headers=headers, params=params)
if response.status_code == 200:
data = response.json()
filings = data.get('body', {}).get('latest', [])
for filing in filings:
print(f"Type: {filing.get('label')}")
print(f"URL: {filing.get('value')}")
print("-" * 30)
else:
print(f"Error fetching filings: {response.text}")
# Execute
if __name__ == "__main__":
target_stock = "NVDA"
get_insider_activity(target_stock)
get_sec_docs(target_stock)
Understanding the Response
The API returns JSON data that is normalized for easy ingestion into databases or visualization dashboards.
Response: Insider Trades (GET /v1/markets/insider-trades)
{
"body": [
{
"transactionDate": "01/24/24",
"firstName": "Joshua",
"lastName": "Gottheimer",
"shortJobTitle": "US Congressman",
"symbol": "CHRD",
"usdValue": "8,000",
"transactionType": "Buy"
}
]
}
Response: SEC Filings (GET /v2/markets/stock/sec-filings)
{
"body": {
"latest": [
{
"label": "10-K",
"value": "https://app.quotemedia.com/data/downloadFiling?..."
}
]
}
}
Key Fields
- transactionDate
The date the trade was executed. Note that this may differ from the filing date (when it was reported to the SEC). - shortJobTitle
This field helps identify the influence of the trader. Values like CEO, Director, or US Congressman carry different weights in analysis. - usdValue
The total dollar amount of the transaction. High-value trades (e.g., greater than 100k or 1M) are generally more significant signals than smaller automated stock plan purchases. - transactionType
Explicitly states Buy or Sell. - value (in SEC Filings)
This contains the direct URL to the document. You can store this string to allow users to click through to the source material from your application.
Practical Use Cases
Tracking Congressional Trading
By setting politiciansOnly=true on the insider trades endpoint, developers can build trackers that replicate the portfolios of successful trading politicians. This data is highly sought after for measuring market sentiment based on legislative knowledge.
Automated Due Diligence
A trading bot can be configured to watch for a Cluster Buy, where multiple executives buy stock simultaneously. When this triggers, the bot can immediately call the SEC Filings endpoint to retrieve the latest 10-Q, allowing an analyst to quickly verify if the company's fundamentals align with the insider confidence.
Learn more or explore other endpoints:
SteadyAPI Stock and Options Data API