Claim Your Free API KEY
Please fill in the details in the form below. These will help us verify your professional background and understand your intended use case.
A Signal Sigma account is required to use this feature.
Signal Sigma API Documentation
Last Updated: March 13, 2026
This is a comprehensive guide to the Signal Sigma API. The API provides endpoints for querying ticker lists, price history, and specific metrics from financial datasets. It is designed for authenticated users with rate-limited access.
The API is built with FastAPI and includes automatic interactive documentation. For machine-readable access (e.g., for AIs or code generators), use the OpenAPI JSON spec at: https://signal-sigma-api.com/openapi.json
For interactive exploration (human-friendly UI with try-it-out features) use Swagger UI at: https://signal-sigma-api.com/docs
Introduction
The Signal Sigma API allows authorized users to retrieve financial data such as ticker lists, historical prices, and specific metrics. All endpoints are prefixed with /api and require authentication via API key.
Base URL
Production: https://signal-sigma-api.com/api/
Key Features
Authentication: Required for all endpoints (Bearer token in Authorization header).
Rate Limiting: Per-user, based on your assigned limit (e.g., 60 calls/min). Exceeding triggers a 429 error with details.
Response Format: JSON, with "status" field for success/error.
Error Handling: Standard HTTP codes (e.g., 400 for invalid params, 401 for auth issues, 404 for not found, 429 for rate limit, 500 for server errors).
Authentication
All requests must include an API key in the header: Authorization: Bearer <your_api_key>
Keys are manually assigned (contact support@signal-sigma.com / complete the form at the top of this page to request access)
Keys expire (check your assigned expiry date).
Invalid/expired keys return 401 Unauthorized.
Example header in code:
Authorization: Bearer <API_KEY>
Endpoints
All endpoints are under /api/ and use GET requests (query parameters). Responses are JSON.
1. /api/test
Method: GET
Description: A simple health check endpoint to verify the server is live and your API key is valid. Returns a success message with your user info. Useful for testing connectivity and auth.
Parameters: None (required).
Authentication: Required.
Rate Limit: Applies per your key's limit.
Response Schema:
status (string): "success"
message (string): Confirmation text
user (string): Your associated user/email
Example Request:
curl -H "Authorization: Bearer <YOUR_API_KEY>" https://signal-sigma-api.com/api/test
Example Response (200 OK):
{ "status": "success", "message": "Server is live", "user": "YOUR_EMAIL_ADDRESS" }
Error Examples:
401 (Invalid key): {"detail": "Invalid API key"}
429 (Rate exceeded): {"detail": "Rate limit exceeded. You are allowed 60 calls per minute. Please wait and try again, or contact support@signal-sigma.com to request a higher limit."}
2. /api/ticker_list
Method: GET
Description: Returns a full list of available tickers with metadata. Useful for discovering queryable symbols. No parameters needed. Handles missing values as null.
Parameters: None.
Authentication: Required.
Rate Limit: Applies per your key's limit.
Response Schema:
status (string): "success"
tickers (array of objects): List of ticker records
ticker (string): Symbol (e.g., "AAPL")
date (string): Date associated
assettype (string): Type (e.g., "Stock", "Crypto")
sector (string): Sector (e.g., "Tech")
company_name (string): Full name
isin (string): ISIN code
main_currency (string): Currency (e.g., "USD")
count (integer): Number of records
Example Request:
curl -H "Authorization: Bearer <YOUR_API_KEY>" https://signal-sigma-api.com/api/ticker_list
Example Response (200 OK):
{
"tickers": [
{
"ticker": "AAPL",
"date": "2026-03-13",
"assettype": "Stock",
"sector": "Technology",
"company_name": "Apple Inc.",
"isin": "US0378331005",
"main_currency": "USD"
},
{
"ticker": "BTC-USD",
"date": "2026-03-13",
"assettype": "Crypto",
"sector": "Cryptocurrency",
"company_name": "Bitcoin",
"isin": null,
"main_currency": "USD"
}
],
"count": 150
}
3. /api/price_history
Method: GET
Description: Returns historical OHLCV (Open-High-Low-Close-Volume) data plus dividends and splits for a specific ticker.
Parameters:
ticker (string, required): Symbol (e.g., "AAPL").
Authentication: Required.
Rate Limit: Applies per your key's limit.
Response Schema:
status (string): "success"
ticker (string): Normalized ticker
data (array of objects): Historical records
date (string): Date (YYYY-MM-DD)
high (number): High price
low (number): Low price
open (number): Open price
close (number): Close price
volume (number): Volume
dividend (number): Dividend amount
split (number): Split coefficient
record_count (integer): Number of records
user (string): Your user/email
Example Request:
curl -H "Authorization: Bearer <YOUR_API_KEY>" "https://signal-sigma-api.com/api/price_history?ticker=AAPL"
Example Response (200 OK):
{
"ticker": "AAPL",
"data": [
{
"date": "2026-03-12",
"high": 175.25,
"low": 172.1,
"open": 173.8,
"close": 174.95,
"volume": 65000000,
"dividend": 0.24,
"split": 1.0
},
{
"date": "2026-03-11",
"high": 176.0,
"low": 173.5,
"open": 174.0,
"close": 175.0,
"volume": 62000000,
"dividend": null,
"split": null
},
// ... more historical records
],
"record_count": 252,
}
4. /api/data
Method: GET
Description: Returns a single metric value for a ticker on a specific date (or latest available). Handles missing values as null. Metric can be either formatted as displayed in the app (e.g., "Analyst Price Target") or using a snake case version — preferred — in accordance to the table below (e.g., "analysttargetprice")
Parameters:
ticker (string, required): Symbol (e.g., "AAPL").
metric (string, required): Metric name or snake case reference - see table below (e.g., "Analyst Price Target" or "analysttargetprice").
date (string, optional): YYYY-MM-DD. Defaults to latest available date if omitted.
Authentication: Required.
Rate Limit: Applies per your key's limit.
Response Schema:
status (string): "success"
ticker (string): Normalized ticker
date (string): Extracted date from file (YYYY-MM-DD)
metric_display (string): Human-readable metric name
value (any): The metric value (number, string, etc.)
user (string): Your user/email
Example Request (latest date):
curl -H "Authorization: Bearer <YOUR_API_KEY>" "https://signal-sigma-api.com/api/data?ticker=AAPL&metric=analysttargetprice"
Example Response (200 OK):
{
"ticker": "AAPL",
"date": "2026-03-13",
"metric": "Analyst Price Target",
"value": 295.5,
}
Example Request (specific date):
curl -H "Authorization: Bearer <YOUR_API_KEY>" "https://signal-sigma-api.com/api/data?ticker=AAPL&metric=analysttargetprice&date=2026-03-12"
Error Examples:
400 (Invalid metric): {"detail": "Metric 'invalid' not recognized. Please use a valid Display Metric or snake case Metric per the table below. Documentation and full list available at www.signal-sigma.com/api-docs"}
404 (Ticker not found): {"detail": "Ticker 'INVALID' not found in data for 2026_03_13. Use /api/ticker_list to see available tickers."}
404 (Date not found): {"detail": "No data found for date 2026-03-07. Try leaving 'date' blank to use the most recent available file, or check available dates via ticker_list or other methods."}
400 (Column not found): {"detail": "Column 'analysttargetprice' not found in the data file. Please check the metric name. Full documentation at www.signal-sigma.com/api-docs"}
Demo Code Snippet: Calling the API in Python
Here's a complete Python example using requests to call all endpoints. Install with pip install requests.
import requests
BASE_URL = "https://signal-sigma-api.com/api"
API_KEY = “YOUR_API_KEY” # Replace with your actual key, format as “string”
headers = {
"Authorization": f"Bearer {API_KEY}"
}
def call_endpoint(endpoint, params=None):
url = f"{BASE_URL}/{endpoint}"
response = requests.get(url, headers=headers, params=params)
if response.status_code == 200:
return response.json()
else:
print(f"Error {response.status_code}: {response.json()['detail']}")
return None
# Example 1: Test
test_data = call_endpoint("test")
print("Test Response:", test_data)
# Example 2: Ticker List
ticker_list = call_endpoint("ticker_list")
print("Ticker Count:", ticker_list.get("count") if ticker_list else "Error")
# Example 3: Price History
history_params = {"ticker": "AAPL"}
history = call_endpoint("price_history", params=history_params)
print("History Records:", history.get("record_count") if history else "Error")
# Example 4: Data (latest date)
data_params = {"ticker": "AAPL", "metric": "Analyst Price Target"}
data_latest = call_endpoint("data", params=data_params)
print("Latest Metric Value:", data_latest.get("value") if data_latest else "Error")
# Example 4: Data (specific date)
data_specific_params = {"ticker": "AAPL", "metric": "analysttargetprice", "date": "2026-03-12"}
data_specific = call_endpoint("data", params=data_specific_params)
print("Specific Date Metric Value:", data_specific.get("value") if data_specific else "Error")
Metrics Table for Data Queries
Download a handy reference table listing every available data metric listed either as Display Metric or Table Metric (snake case). You can use either naming convention for your queries.