Finding high-growth stocks manually involves sifting through thousands of tickers, analyzing charts, and calculating ratios, a process that is too slow for algorithmic trading or real-time application development. To build efficient trading bots or market analysis tools, developers need a programmatic way to filter the entire market instantly based on specific criteria like volume, price action, and technical indicators.
The SteadyAPI Screener endpoint allows you to retrieve a curated list of stocks, ETFs, and mutual funds that match pre-defined technical and fundamental filters. This guide explains how to use the GET /v2/markets/screener endpoint to identify market movers and integrate this data into your financial applications.
Obtain API key:
Get your SteadyAPI key
The Endpoint
To access the screener data, make a GET request to the following URL. This endpoint supports pagination and dynamic filtering to tailor the results to your specific strategy.
Endpoint:
https://api.steadyapi.com/v2/markets/screener
Documentation:
SteadyAPI Screener Endpoint Documentation
Detailed Parameter Analysis
The power of this endpoint lies in two specific parameters: metricType and filter. Understanding how these interact is crucial for retrieving the exact dataset required for your application.
metricType
This parameter determines the specific data fields and financial metrics returned for each ticker in the response.
- overview
Returns general price data, volume, and basic identification (Symbol, Name). This is best for general dashboards or "Top Movers" lists. - technical
Returns technical analysis data, such as moving averages, RSI, or support and resistance levels. Use this for algorithmic trading bots based on technical signals. - fundamental
Returns core financial health metrics, such as PE Ratios, EPS, and Revenue Growth. Use this for long-term investment analysis tools. - performance
Returns historical performance metrics over various timeframes (e.g., Year-to-Date, 1-Year return).
filter
This parameter applies specific screening logic to the market data. Here are five key filters useful for finding opportunities:
- high_volume
Returns stocks exhibiting strong volume gains compared to previous sessions. High relative volume often precedes significant price action. - hot_stocks
Filters for high-performing stocks that currently hold a "BUY" rating combined with robust technical analysis support. - undervalued_growth_stocks
Targets stocks with earnings growth rates exceeding 25% but maintaining relatively low PE and PEG ratios. - top_tech
Screens specifically for the technology sector, identifying stocks hitting new 6-month highs. - golden_cross
Identifies stocks where the 50-day moving average has just crossed above the 200-day moving average, a classic bullish signal.
Python Implementation
The following Python script demonstrates how to request a list of high-volume stocks using the requests library. Ensure you replace {YOUR_AUTH_KEY} with your actual API token.
import requests
import json
# Configuration
base_url = 'https://api.steadyapi.com/v2/markets/screener'
auth_token = '{YOUR_AUTH_KEY}' # Replace with your actual token
# Define parameters for High Volume stocks with Overview metrics
params = {
'metricType': 'overview',
'filter': 'high_volume',
'page': '1'
}
# Set headers
headers = {
'Authorization': f'Bearer {auth_token}',
'Accept': 'application/json'
}
try:
# Make the GET request
response = requests.get(base_url, headers=headers, params=params)
# Check for HTTP 200 OK
if response.status_code == 200:
data = response.json()
# Output the metadata and the first few results
print(f"Filter Description: {data['meta']['description']}")
print(f"Total Matches: {data['meta']['total']}")
for stock in data['body'][:3]:
print(f"{stock['symbol']} | Price: ${stock['lastPrice']} | Change: {stock['percentChange']}")
else:
print(f"Error: {response.status_code} - {response.text}")
except Exception as e:
print(f"Request failed: {str(e)}")
Understanding the Response
The API returns a JSON object containing a meta object with pagination details and a body array containing the screened tickers.
JSON Response Structure
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"metricType": "overview",
"description": "Stocks with strong volume gains from the previous session and positive price and volume momentum in the past month.",
"count": 50,
"total": 220,
"page": "1"
},
"body": [
{
"symbol": "A",
"symbolName": "Agilent Technologies",
"lastPrice": "142.86",
"priceChange": "+3.80",
"percentChange": "+2.73%",
"highPrice": "143.49",
"lowPrice": "138.81",
"volume": "2,169,200",
"tradeTime": "03/04/24",
"symbolCode": "STK",
"symbolType": 1,
"hasOptions": "Yes"
}
]
}
Key Fields for Analysis
When processing the response body, focus on these fields to validate the quality of the data:
- percentChange
This string indicates the immediate momentum. For high-growth strategies, you typically filter for positive values here client-side if the API returns mixed results. - volume
Verify that the volume is sufficient for your trading strategy. Low-volume stocks (illiquid assets) present execution risks even if they appear on a "gainer" list. - hasOptions
If your application involves derivatives trading, checking this field ("Yes" or "No") is essential before querying the Option Chain endpoints. - symbolCode
Helps differentiate between Common Stock (STK), ETFs, and Mutual Funds, allowing you to filter out asset classes irrelevant to your user base.
Practical Use Cases
1. Pre-Market Momentum Scanner
Developers can build a scheduled task (CRON job) that hits this endpoint 30 minutes before market open using the gap_up or premarket_gainers filter (if available via specific queries) or high_volume. The application can then alert users via WebSocket or Push Notification about tickers showing unusual activity before the opening bell.
2. Automated Trend Following Bot
A trading bot can utilize the golden_cross or j_pattern filters. By polling the API periodically, the bot can identify stocks entering a bullish technical setup. Once a ticker is identified, the bot can call the GET /v2/history endpoint to perform secondary validation on historical data before placing an order.
Learn more or explore other endpoints:
SteadyAPI Stock and Options Data API