API Documentation
Welcome to the Empirical Markets API. Access real-time and historical financial data, AI-powered forecasts, fundamental analysis, and more through our RESTful API.
https://api.empiricalmarkets.com/v1
Authentication
All API requests require authentication using Bearer tokens. First, obtain an access token using your API key,
then include it in the Authorization header for all subsequent requests.
Get Access Token
curl -X POST https://api.empiricalmarkets.com/v1/token \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'api_key=YOUR_API_KEY'import requests response = requests.post( 'https://api.empiricalmarkets.com/v1/token', headers={"Content-Type": "application/x-www-form-urlencoded"}, data={'api_key': 'YOUR_API_KEY'} ) token = response.json()['access_token'] print(token)
Using the Token
Use the token in your request headers:
Authorization: Bearer YOUR_ACCESS_TOKEN
Quick Start
Create an Account
Sign up at empiricalmarkets.com to get started.
Generate an API Key
Navigate to your dashboard and create a new API key.
Get an Access Token
Exchange your API key for a short-lived access token.
Make Your First Request
Start fetching data using the access token in your requests.
curl https://api.empiricalmarkets.com/v1/ticker \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Error Handling
The API uses standard HTTP status codes to indicate success or failure. Error responses include a JSON body with details about the error.
| Status Code | Meaning | Description |
|---|---|---|
200 | OK | Request succeeded |
400 | Bad Request | Invalid request parameters |
401 | Unauthorized | Authentication required or token expired |
403 | Forbidden | Valid authentication but insufficient permissions |
404 | Not Found | Requested resource doesn't exist |
429 | Too Many Requests | Rate limit exceeded |
500 | Server Error | Something went wrong on our end |
Error Response Format
{
"error": {
"code": 429,
"message": "Rate limit exceeded. Please try again later.",
"details": {
"reset_at": "2025-01-02T18:00:00Z",
"limit": 1000,
"remaining": 0
}
}
}
Rate Limits
Rate limits vary by subscription tier. Monitor your usage via response headers.
| Plan | Monthly Requests | Global Rate Limit |
|---|---|---|
| Demo | 200 |
1 req/sec |
| Starter | 5,000 |
1 req/sec |
| Super | 20,000 |
1 req/sec |
Other
Description
Get an access token
Authentication
This endpoint does not require authentication.
Example Request
curl -X POST "https://api.empiricalmarkets.com/v1/token"
import requests
url = 'https://api.empiricalmarkets.com/v1/token'
response = requests.post(url, headers=headers)
print(response.json())
Example Response
200
Access token.
{
"access_token": "ded3e3ex01s...",
"token_type": "Bearer"
}
Catalog
Description
Get available asset classes.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/catalog/assets"
import requests
url = 'https://api.empiricalmarkets.com/v1/catalog/assets'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available asset classes.
{
"asset_class": [
"etfs",
"equities"
]
}
Description
Get tickers for specified asset class (etfs or equities).
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| asset_class | string (enum) | path | Yes | Asset class. |
ENUM
|
| sort | boolean | query | No | Whether to sort the tickers alphabetically. |
True
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/catalog/assets/etfs/tickers?sort=True"
import requests
url = 'https://api.empiricalmarkets.com/v1/catalog/assets/{asset_class}/tickers'
url = url.format(asset_class="etfs")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'sort': True}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
List of ticker symbols for the specified asset class.
{
"asset_class": "equities",
"tickers": [
"AAPL",
"MSFT",
"JPM",
"GOOGL",
"AMZN"
]
}
Description
Get available tracked exchanges.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/catalog/exchanges"
import requests
url = 'https://api.empiricalmarkets.com/v1/catalog/exchanges'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available tracked exchanges.
{
"exchange": [
"CBOE",
"NASDAQ",
"NYS",
"NYSE",
"OTC"
]
}
Description
Get tickers for a specified exchange.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| exchange | string | path | Yes | Exchange. |
NYS
|
| sort | boolean | query | No | Whether to sort tickers alphabetically. |
True
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/catalog/exchanges/NYS/tickers?sort=True"
import requests
url = 'https://api.empiricalmarkets.com/v1/catalog/exchanges/{exchange}/tickers'
url = url.format(exchange="NYS")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'sort': True}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Mapping of exchange to its associated tickers.
{
"exchange": "NASDAQ",
"tickers": [
"AAPL",
"MSFT",
"GOOGL",
"AMZN",
"TSLA"
]
}
Description
Get all SIC (Standard Industrial Classification) codes.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/catalog/sic"
import requests
url = 'https://api.empiricalmarkets.com/v1/catalog/sic'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of SIC (Standard Industrial Classification) codes and their descriptions.
{
"sic_codes": [
{
"code": 1311,
"description": "Crude Petroleum & Natural Gas"
},
{
"code": 3571,
"description": "Electronic Computers"
}
]
}
Description
Get details for a specific SIC (Standard Industrial Classification) code.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| sic_code | integer | path | Yes | SIC code. |
3571
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/catalog/sic/3571"
import requests
url = 'https://api.empiricalmarkets.com/v1/catalog/sic/{sic_code}'
url = url.format(sic_code="3571")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Details of the specified SIC (Standard Industrial Classification) code.
{
"code": 3571,
"description": "Electronic Computers"
}
Description
Get equity tickers for a given SIC (Standard Industrial Classification) code.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| sic_code | integer | path | Yes | SIC code. |
3571
|
| sort | boolean | query | No | Whether to sort tickers alphabetically. |
True
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/catalog/sic/3571/tickers?sort=True"
import requests
url = 'https://api.empiricalmarkets.com/v1/catalog/sic/{sic_code}/tickers'
url = url.format(sic_code="3571")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'sort': True}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Distinct list of tickers whose company has the given Standard Industrial Classification code.
{
"sic": 3571,
"tickers": [
"AAPL",
"DELL",
"OMCL",
"OSS",
"SCKT",
"SMCI",
"ZEPP"
]
}
Company
Description
Get company metadata
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol of the company. |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/company/AAPL"
import requests
url = 'https://api.empiricalmarkets.com/v1/company/{ticker}'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Company metadata including name, SIC code, and fiscal year end.
{
"ticker": "AAPL",
"name": "Apple Inc.",
"sic_code": "3571",
"sic_description": "Electronic Computers",
"fiscal_year_end": "09-30"
}
Description
Get former company names for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol of the company. |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/company/AAPL/former"
import requests
url = 'https://api.empiricalmarkets.com/v1/company/{ticker}/former'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of former company names with their respective date ranges.
{
"ticker": "AAPL",
"former_names": [
{
"ticker": "AAPL",
"former_name": "APPLE COMPUTER INC",
"from_date": "1994-01-26T00:00:00",
"to_date": "2007-01-04T00:00:00"
}
]
}
Description
Get recent SEC filings for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol of the company. |
AAPL
|
| start_date | string | query | Yes | Start date for filings (YYYY-MM-DD) |
2023-01-01
|
| end_date | string | query | Yes | End date (inclusive) for filings (YYYY-MM-DD) |
2023-12-31
|
| forms | array | query | No | Optional list of SEC form types to filter by. |
['10-K', '10-Q']
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/company/AAPL/filings?start_date=2023-01-01&end_date=2023-12-31&forms=10-K&forms=10-Q"
import requests
url = 'https://api.empiricalmarkets.com/v1/company/{ticker}/filings'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'start_date': '2023-01-01', 'end_date': '2023-12-31', 'forms': ['10-K', '10-Q']}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
List of SEC filings including form type, filing date, and URL.
{
"ticker": "AAPL",
"filings": [
{
"ticker": "AAPL",
"accession_number": "0000320193-24-000123",
"form": "10-K",
"filed_date": "2024-09-28T00:00:00",
"url": "https://www.sec.gov/Archives/edgar/data/320193/000032019324000123/aapl-20240928.htm"
}
]
}
Description
Get all unique SEC forms filed by a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol of the company. |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/company/AAPL/forms"
import requests
url = 'https://api.empiricalmarkets.com/v1/company/{ticker}/forms'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of unique SEC form types filed by the company.
{
"ticker": "AAPL",
"forms": [
"10-K",
"10-Q",
"8-K"
]
}
Ai
AI-powered predictions and forecasts including regime detection and reversal signals.
Description
Get available AI signals and associated metadata.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ai/signals"
import requests
url = 'https://api.empiricalmarkets.com/v1/ai/signals'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available AI signals.
{
"signals": [
[
{
"default_threshold": 0.9,
"description": "AI support level detection",
"kind": "pointwise",
"signal": "ai-support",
"value_type": "probability"
},
{
"default_threshold": 0.9,
"description": "AI resistance level detection",
"kind": "pointwise",
"signal": "ai-resistance",
"value_type": "probability"
},
{
"description": "AI bullish pattern detection",
"kind": "pointwise",
"signal": "ai-bullish-pattern",
"value_type": "boolean"
}
]
]
}
Description
Get metadata for a given AI signal.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| signal | string (enum) | path | Yes | AI signal name |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ai/signals/ai-support"
import requests
url = 'https://api.empiricalmarkets.com/v1/ai/signals/{signal}'
url = url.format(signal="ai-support")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Metadata for the given AI signal.
{
"signal": "ai-support",
"kind": "pointwise",
"value_type": "probability",
"description": "AI support level detection"
}
Description
Get available tickers for a given AI signal.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| signal | string (enum) | path | Yes | AI signal name |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ai/signals/ai-support/tickers"
import requests
url = 'https://api.empiricalmarkets.com/v1/ai/signals/{signal}/tickers'
url = url.format(signal="ai-support")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available tickers for the given AI signal.
{
"signal": "ai-support",
"tickers": [
"AAPL",
"MSFT",
"TSLA"
]
}
Description
Get time series data for a given AI signal and ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| signal | string (enum) | path | Yes | AI signal name |
ENUM
|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
| confidence | number | query | No | Minimum confidence threshold for probability signals (0-1). Uses signal default if not provided. |
0.9
|
| start_date | string | query | No | Start date |
2023-01-01
|
| end_date | string | query | No | End date for the time series data |
2023-12-31
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ai/signals/ai-support/tickers/AAPL/series?confidence=0.9&start_date=2023-01-01&end_date=2023-12-31"
import requests
url = 'https://api.empiricalmarkets.com/v1/ai/signals/{signal}/tickers/{ticker}/series'
url = url.format(signal="ai-support", ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'confidence': 0.9, 'start_date': '2023-01-01', 'end_date': '2023-12-31'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Time series data points for the given AI signal and ticker.
{
"ticker": "AAPL",
"signal": "ai-support",
"kind": "pointwise",
"value_type": "probability",
"data": [
{
"date": "2023-01-01",
"ticker": "AAPL",
"signal": "ai-support",
"value": 0.94
}
]
}
Description
Get available AI ticker clustering algorithms.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ai/clustering"
import requests
url = 'https://api.empiricalmarkets.com/v1/ai/clustering'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available AI ticker clustering algorithms.
{
"algos": [
[
{
"algo": "price-pattern",
"description": "Cluster tickers by similar price patterns."
}
]
]
}
Description
Get metadata for a given AI ticker clustering algorithm.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| algo | string (enum) | path | Yes | Clustering algorithm |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ai/clustering/price-pattern"
import requests
url = 'https://api.empiricalmarkets.com/v1/ai/clustering/{algo}'
url = url.format(algo="price-pattern")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Metadata for the given AI ticker clustering algorithm.
{
"algo": "price-pattern",
"description": "Cluster tickers by similar price patterns."
}
Description
Get available tickers for a given AI ticker clustering algorithm.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| algo | string (enum) | path | Yes | Clustering algorithm |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ai/clustering/price-pattern/tickers"
import requests
url = 'https://api.empiricalmarkets.com/v1/ai/clustering/{algo}/tickers'
url = url.format(algo="price-pattern")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available tickers for the given AI ticker clustering algorithm.
{
"algo": "price-pattern",
"tickers": [
"AAPL",
"MSFT",
"TSLA"
]
}
Description
Get similar tickers based on AI model clustering for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| algo | string (enum) | path | Yes | Clustering algorithm |
ENUM
|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
| date | string | query | Yes | Date for clustering |
2023-01-01
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ai/clustering/price-pattern/tickers/AAPL?date=2023-01-01"
import requests
url = 'https://api.empiricalmarkets.com/v1/ai/clustering/{algo}/tickers/{ticker}'
url = url.format(algo="price-pattern", ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'date': '2023-01-01'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Similar tickers based on AI model clustering for the given ticker.
{
"ticker": "MSFT",
"algo": "",
"date": "2023-01-01",
"cluster_size": 5,
"peers": [
"NVDA",
"GOOGL",
"AMZN",
"AAPL",
"TSLA"
]
}
Federal Reserve
Federal Reserve data including FOMC meetings, speeches, and economic projections.
Description
Get the latest FOMC Sector Sentiment Predictions
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/ai/sentiment/latest"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/ai/sentiment/latest'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Latest FOMC Sector Sentiment Predictions
{
"sentiment": [
{
"date": "2025-11-26",
"sector_name": "Overall",
"score": 5,
"reasoning": "The economy is showing signs of growth."
}
]
}
Description
Get list of sectors with FOMC Sentiment Predictions
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/ai/sentiment/sectors"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/ai/sentiment/sectors'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of sectors with FOMC Sentiment Predictions
{
"sectors": [
"overall",
"technology",
"healthcare",
"energy",
"financials",
"consumer-discretionary",
"consumer-staples",
"industrials",
"materials",
"real-estate",
"utilities"
]
}
Description
Get FOMC Sector Sentiment Predictions for a given sector.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| sector | string | path | Yes | Sector name for sentiment predictions |
energy
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/ai/sentiment/sectors/energy"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/ai/sentiment/sectors/{sector}'
url = url.format(sector="energy")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
FOMC Sector Sentiment Predictions for the given sector.
{
"sector": "Overall",
"sentiment": [
{
"date": "2025-11-26",
"sector_name": "Overall",
"score": 5,
"reasoning": "The economy is showing signs of growth."
}
]
}
Description
Get NYFed Repo Operations
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/operations/repo"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/operations/repo'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
NYFed Repo Operations
{
"operations": [
{
"date": "2025-11-26",
"operation_type": "Overnight",
"term": "1 Day",
"total_amount": 5000.0
}
]
}
Description
Get NYFed Reverse Repo Operations
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/operations/rrp"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/operations/rrp'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
NYFed Reverse Repo Operations
{
"operations": [
{
"date": "2025-11-26",
"operation_type": "Overnight",
"term": "1 Day",
"num_counterparties": 120,
"total_amount": 7000.0
}
]
}
Description
Get NYFed SOMA Holdings Latest Snapshot
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/soma/holdings/latest"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/soma/holdings/latest'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
NYFed SOMA Holdings Latest Snapshot
{
"date": "2025-11-26",
"latest": {
"date": "2025-11-26",
"mbs": 1500000.0,
"cmbs": 300000.0,
"tips": 500000.0,
"frn": 200000.0,
"notes_bonds": 2500000.0,
"bills": 1000000.0,
"agency": 800000.0,
"treasury_total": 4000000.0,
"mortgage_total": 1800000.0,
"total": 5800000.0
}
}
Description
Get list of all Fed SOMA Holdings Security Types.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/soma/holdings/securities"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/soma/holdings/securities'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of all Fed SOMA Holdings Security Types.
{
"securities": [
"mbs",
"cmbs",
"tips",
"frn",
"notes-bonds",
"bills",
"agency",
"treasury-total",
"mortgage-total",
"total"
]
}
Description
Get NYFed SOMA Holdings
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| type | string (enum) | path | Yes | SOMA Security Type |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/soma/holdings/securities/mbs"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/soma/holdings/securities/{type}'
url = url.format(type="mbs")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
NYFed SOMA Holdings time series for the given security type.
{
"security_type": "",
"series": [
{
"date": "2025-11-26",
"value": 1500000.0
}
]
}
Description
Get latest FOMC Beige Book publication.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/publications/beige-book/latest"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/publications/beige-book/latest'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Latest FOMC Beige Book publication.
{
"date": "2025-11-26",
"beige_book": {
"date": "2025-11-26",
"summary": "The economy is expanding at a moderate pace..."
}
}
Description
Get list of FOMC Beige Book release dates.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/publications/beige-book/dates"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/publications/beige-book/dates'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of FOMC Beige Book release dates.
{
"release_dates": [
"2025-11-26",
"2025-10-15",
"2025-08-20"
]
}
Description
Get FOMC Beige Book publication for a given date.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| date | string | path | Yes | Date of the Beige Book release in YYYY-MM-DD format |
2023-01-25
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fed/publications/beige-book/release/2023-01-25"
import requests
url = 'https://api.empiricalmarkets.com/v1/fed/publications/beige-book/release/{date}'
url = url.format(date="2023-01-25")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
FOMC Beige Book publication for the given date.
{
"date": "2025-11-26",
"beige_book": {
"date": "2025-11-26",
"summary": "The economy is expanding at a moderate pace..."
}
}
Insiders
Insider trading data and SEC Form 4 filings.
Description
Get list of available tickers with insider trading data.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available tickers with insider trading data.
{
"tickers": [
"AAPL",
"MSFT",
"TSLA"
]
}
Description
Get insider trading transaction reports for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Stock ticker symbol |
AAPL
|
| start_date | string | query | No | Start date for the date range filter (YYYY-MM-DD) |
2023-01-01
|
| end_date | string | query | No | Inclusive end date for the date range filter (YYYY-MM-DD) |
2023-12-31
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/reports?start_date=2023-01-01&end_date=2023-12-31"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/reports'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'start_date': '2023-01-01', 'end_date': '2023-12-31'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Successful Response
{
"ticker": "TSLA",
"reports": [
{
"ticker": "",
"filed_date": "2025-01-01T00:00:00Z",
"reporter": null,
"non_deriv_txs": [
null
],
"deriv_txs": [
null
],
"footnotes": null
}
]
}
Description
Get list of insider transaction reporters for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/reporters"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/reporters'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of insider transaction reporters for the given ticker.
{}
Description
Get list of insider transaction codes and their descriptions across all tickers.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/transactions/codes"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/transactions/codes'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of insider transaction codes and their descriptions across all tickers.
{
"codes": [
{
"code": "S",
"description": "Open market or private sale"
},
{
"code": "P",
"description": "Open market or private purchase"
}
]
}
Description
Get time series of insider non-derivative transactions given a transaction code.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
| code | string (enum) | query | No | Transaction code. |
ENUM
|
| start_date | string | query | No | Start date for the date range filter (YYYY-MM-DD) |
2023-01-01
|
| end_date | string | query | No | Inclusive end date for the date range filter (YYYY-MM-DD) |
2023-12-31
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/transactions/series?code=P&start_date=2023-01-01&end_date=2023-12-31"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/transactions/series'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'code': 'P', 'start_date': '2023-01-01', 'end_date': '2023-12-31'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Time series of insider transactions for the given ticker and transaction code.
{
"ticker": "TSLA",
"code": "G",
"code_description": "Bona fide gift",
"transactions": [
{
"ticker": "TSLA",
"filed_date": "2024-12-31",
"tx_instrument": "Common Stock",
"tx_code": "G",
"tx_desc": "Bona fide gift",
"tx_shares": 268000.0,
"tx_price": 0.0,
"tx_ownership": "I",
"reporter_name": "Musk Elon",
"reporter_title": "CEO"
}
]
}
Description
Get list of insider derivative transaction codes and their descriptions across all tickers.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/derivatives/codes"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/derivatives/codes'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of insider derivative transaction codes and their descriptions across all tickers.
{
"codes": [
{
"code": "S",
"description": "Open market or private sale"
},
{
"code": "P",
"description": "Open market or private purchase"
}
]
}
Description
Get time series of insider derivative transactions given a transaction code.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
| code | string (enum) | query | No | Transaction code. |
ENUM
|
| start_date | string | query | No | Start date for the date range filter (YYYY-MM-DD) |
2023-01-01
|
| end_date | string | query | No | Inclusive end date for the date range filter (YYYY-MM-DD) |
2023-12-31
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/derivatives/series?code=P&start_date=2023-01-01&end_date=2023-12-31"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/derivatives/series'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'code': 'P', 'start_date': '2023-01-01', 'end_date': '2023-12-31'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Successful Response
{
"ticker": "TSLA",
"transactions": [
{
"ticker": "TSLA",
"filed_date": "2024-12-31",
"tx_instrument": "Common Stock",
"tx_code": "G",
"tx_desc": "Bona fide gift",
"tx_shares": 268000.0,
"tx_price": 0.0,
"tx_ownership": "I",
"reporter_name": "Musk Elon",
"reporter_title": "CEO"
}
]
}
Description
Get time series of insider sales volume for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
| start_date | string | query | No | Start date for the date range filter (YYYY-MM-DD) |
2023-01-01
|
| end_date | string | query | No | Inclusive end date for the date range filter (YYYY-MM-DD) |
2023-12-31
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/sales?start_date=2023-01-01&end_date=2023-12-31"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/sales'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'start_date': '2023-01-01', 'end_date': '2023-12-31'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Time series of insider sales volume for the given ticker.
{
"ticker": "TSLA",
"data": [
{
"ticker": "TSLA",
"report_date": "2025-12-05",
"total_value": 132000
}
]
}
Description
Get insider sales anomalies for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/sales/anomalies"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/sales/anomalies'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Insider sales anomalies for the given ticker.
{
"ticker": "TSLA",
"data": [
{
"ticker": "TSLA",
"report_date": "2025-12-05",
"total_value": 132000
}
]
}
Description
Get time series of insider purchase volume for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
| start_date | string | query | No | Start date for the date range filter (YYYY-MM-DD) |
2023-01-01
|
| end_date | string | query | No | Inclusive end date for the date range filter (YYYY-MM-DD) |
2023-12-31
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/purchases?start_date=2023-01-01&end_date=2023-12-31"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/purchases'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'start_date': '2023-01-01', 'end_date': '2023-12-31'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Time series of insider purchase volume for the given ticker.
{
"ticker": "TSLA",
"data": [
{
"ticker": "TSLA",
"report_date": "2025-12-05",
"total_value": 132000
}
]
}
Description
Get insider purchase anomalies for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/tickers/AAPL/purchases/anomalies"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/tickers/{ticker}/purchases/anomalies'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Insider purchase anomalies for the given ticker.
{
"ticker": "TSLA",
"data": [
{
"ticker": "TSLA",
"report_date": "2025-12-05",
"total_value": 132000
}
]
}
Description
Get time series of insider sales volume for the entire market.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| start_date | string | query | No | Start date for the date range filter (YYYY-MM-DD) |
2023-01-01
|
| end_date | string | query | No | Inclusive end date for the date range filter (YYYY-MM-DD) |
2023-12-31
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/aggregates/sales?start_date=2023-01-01&end_date=2023-12-31"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/aggregates/sales'
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'start_date': '2023-01-01', 'end_date': '2023-12-31'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Time series of insider sales volume for the entire market.
{
"data": [
{
"report_date": "2025-12-05",
"ticker_count": 143,
"total_value": 267000000
}
]
}
Description
Get insider sales anomalies for the entire market.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/aggregates/sales/anomalies"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/aggregates/sales/anomalies'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Insider sales anomalies for the entire market.
{}
Description
Get time series of insider purchase volume for the entire market.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| start_date | string | query | No | Start date for the date range filter (YYYY-MM-DD) |
2023-01-01
|
| end_date | string | query | No | Inclusive end date for the date range filter (YYYY-MM-DD) |
2023-12-31
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/aggregates/purchases?start_date=2023-01-01&end_date=2023-12-31"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/aggregates/purchases'
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'start_date': '2023-01-01', 'end_date': '2023-12-31'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Time series of insider purchase volume for the entire market.
{
"data": [
{
"report_date": "2025-12-05",
"ticker_count": 143,
"total_value": 267000000
}
]
}
Description
Get insider purchase anomalies for the entire market.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/insiders/aggregates/purchases/anomalies"
import requests
url = 'https://api.empiricalmarkets.com/v1/insiders/aggregates/purchases/anomalies'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Insider purchase anomalies for the entire market.
{}
Fundamentals
Company fundamentals including financial statements, ratios, and SEC filings.
Description
Get all ticker symbols with fundamental data available.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fundamentals/tickers"
import requests
url = 'https://api.empiricalmarkets.com/v1/fundamentals/tickers'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of ticker symbols with fundamental data available.
{
"tickers": [
"AAPL",
"MSFT",
"GOOGL"
]
}
Description
Get all unique fundamental tags for the given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Stock ticker symbol, e.g. AAPL |
AAPL
|
| taxonomy | string (enum) | query | No | Optional taxonomy filter |
ENUM
|
| period_type | string (enum) | query | No | Optional period type filter |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fundamentals/tickers/AAPL/tags?taxonomy=us_gaap&period_type=duration"
import requests
url = 'https://api.empiricalmarkets.com/v1/fundamentals/tickers/{ticker}/tags'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'taxonomy': 'us_gaap', 'period_type': 'duration'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
All unique fundamental tags for the ticker.
{
"ticker": "JPM",
"tags": [
"Goodwill",
"ServicingAssetAtFairValueAmount",
"MarketingAndAdvertisingExpense"
]
}
Description
Get details for a specific fundamental tag for the given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Stock ticker symbol, e.g. AAPL |
AAPL
|
| tag | string | path | Yes | Fundamental tag of the metric |
Goodwill
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fundamentals/tickers/AAPL/tags/details/Goodwill"
import requests
url = 'https://api.empiricalmarkets.com/v1/fundamentals/tickers/{ticker}/tags/details/{tag}'
url = url.format(ticker="AAPL", tag="Goodwill")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Details of the specified fundamental tag for the ticker.
{
"ticker": "JPM",
"tag": "Goodwill",
"details": {
"ticker": "JPM",
"tag": "Goodwill",
"label": "Goodwill",
"documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized.",
"taxonomy": "us_gaap",
"period_type": "instant",
"balance": "debit"
}
}
Description
Get frequency of each fundamental tag for the given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Stock ticker symbol, e.g. AAPL |
AAPL
|
| taxonomy | string (enum) | query | No | Optional taxonomy filter |
ENUM
|
| period_type | string (enum) | query | No | Optional period type filter |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fundamentals/tickers/AAPL/tags/frequency?taxonomy=us_gaap&period_type=duration"
import requests
url = 'https://api.empiricalmarkets.com/v1/fundamentals/tickers/{ticker}/tags/frequency'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'taxonomy': 'us_gaap', 'period_type': 'duration'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Frequency of each fundamental tag for the ticker.
{
"ticker": "JPM",
"counts": [
{
"tag": "Goodwill",
"frequency": 338
}
]
}
Description
Get fundamental time series data for the given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Stock ticker symbol |
AAPL
|
| period_type | string (enum) | query | No | Optional period type filter |
ENUM
|
| revision | string (enum) | query | No | Which revision to use. Currently only applied to period_type=instant tags. |
ENUM
|
| tags | array | query | No | Optional list of specific tags to filter the results |
['Assets', 'CommonStockSharesOutstanding']
|
| limit | integer | query | No | Limit the number of results returned. |
100
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/fundamentals/tickers/AAPL/series?period_type=all&revision=all&tags=Assets&tags=CommonStockSharesOutstanding&limit=100"
import requests
url = 'https://api.empiricalmarkets.com/v1/fundamentals/tickers/{ticker}/series'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'period_type': 'all', 'revision': 'all', 'tags': ['Assets', 'CommonStockSharesOutstanding'], 'limit': 100}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Fundamental time series data for the ticker.
{
"ticker": "MSFT",
"data": [
{
"ticker": "MSFT",
"entity_name": "Microsoft Corporation",
"end_date": "2025-09-30T00:00:00",
"filed_date": "2025-10-29T00:00:00",
"tag": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree",
"value": 2641000000.0,
"accession_number": "0001193125-25-256321",
"fy": 2026,
"fp": "Q1",
"form": "10-Q",
"unit": "USD",
"taxonomy": "us_gaap",
"label": "Lessee, Operating Lease, Liability, to be Paid, Year Three",
"documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).",
"period_type": "instant",
"balance": "credit"
}
]
}
Macro
Macroeconomic data from BLS, economic calendars, and indicators.
Description
Get metadata for all macroeconomic collections.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/macro/collections"
import requests
url = 'https://api.empiricalmarkets.com/v1/macro/collections'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Successful Response
{
"collection_ids": {
"description": "Percent Change From Preceding Period in Real Gross Domestic Product",
"id": "gdp-pct-change",
"topics": [
"gdp"
]
}
}
Description
Get metadata for a specific collection ID.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| collection_id | string | path | Yes | The collection ID to retrieve metadata for. | — |
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/macro/collections/example_value"
import requests
url = 'https://api.empiricalmarkets.com/v1/macro/collections/{collection_id}'
url = url.format(collection_id="example_value")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Successful Response
{
"id": "gdp-pct-change",
"description": "Percent Change From Preceding Period in Real Gross Domestic Product",
"topics": [
"gdp"
]
}
Description
Get available Series IDs for a specific collection ID.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| collection_id | string | query | Yes | Filter by collection ID |
gdp-nominal
|
| frequency | string | query | No | Frequency: M (Monthly), Q (Quarterly)) |
M
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/macro/series?collection_id=gdp-nominal&frequency=M"
import requests
url = 'https://api.empiricalmarkets.com/v1/macro/series'
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'collection_id': 'gdp-nominal', 'frequency': 'M'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Successful Response
{
"collection_id": "gdp-pct-change",
"series_ids": {
"frequency": "Q",
"series_id": "EMPLR600AAB",
"series_name": "Gross private domestic investment"
}
}
Description
Get macroeconomic timeseries data for a specific Series ID.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| series_id | string | path | Yes | The Series ID to retrieve data for. | — |
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/macro/series/example_value"
import requests
url = 'https://api.empiricalmarkets.com/v1/macro/series/{series_id}'
url = url.format(series_id="example_value")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Successful Response
{
"series_id": "EMPLR600AAB",
"data": {
"collection_id": "gdp-pct-change",
"frequency": "Q",
"period_end": "2023-03-31T00:00:00",
"revision": 1,
"series_id": "EMPLR600AAB",
"series_name": "Gross private domestic investment",
"value": -7.1,
"year": 2023
}
}
Description
Get the economic release calendar for a specific year.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| year | integer | path | Yes | Report Year |
2023
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/macro/schedule/2023"
import requests
url = 'https://api.empiricalmarkets.com/v1/macro/schedule/{year}'
url = url.format(year="2023")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Successful Response
{}
Ohlc
Open, High, Low, Close price data for stocks and other securities.
Description
Get all available OHLC asset classes
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ohlc/assets"
import requests
url = 'https://api.empiricalmarkets.com/v1/ohlc/assets'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available OHLC asset classes
{
"assets": [
"all",
"etfs",
"equities"
]
}
Description
Get all available OHLC tickers
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| asset_class | string (enum) | query | No | Asset class to filter by. |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ohlc/tickers?asset_class=all"
import requests
url = 'https://api.empiricalmarkets.com/v1/ohlc/tickers'
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'asset_class': 'all'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
List of available tickers with OHLC data.
{
"tickers": [
"AAPL",
"MSFT",
"TSLA"
]
}
Description
Get OHLC prices time series for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol to retrieve price data for. |
AAPL
|
| start_date | string | query | No | Inclusive start date YYYY-MM-DD |
2023-01-01
|
| end_date | string | query | No | Inclusive end date YYYY-MM-DD |
2023-12-31
|
| limit | integer | query | No | Max rows to return (<= 2000) |
1000
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ohlc/tickers/AAPL/prices?start_date=2023-01-01&end_date=2023-12-31&limit=1000"
import requests
url = 'https://api.empiricalmarkets.com/v1/ohlc/tickers/{ticker}/prices'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'start_date': '2023-01-01', 'end_date': '2023-12-31', 'limit': 1000}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
OHLC prices time series for the given ticker.
{
"ticker": "AAPL",
"frequency": "",
"data": [
{
"date": "2023-01-03",
"ticker": "AAPL",
"asset_class": "",
"frequency": "",
"open": 150.0,
"high": 155.0,
"low": 149.0,
"close": 154.0,
"volume": 31297500
}
]
}
Description
Get the latest available OHLC data for all tickers.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| asset_class | string (enum) | query | No | Asset class to filter by. |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ohlc/latest?asset_class=all"
import requests
url = 'https://api.empiricalmarkets.com/v1/ohlc/latest'
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'asset_class': 'all'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Successful Response
{
"frequency": "",
"data": [
{
"date": "2023-01-03",
"ticker": "AAPL",
"asset_class": "",
"frequency": "",
"open": 150.0,
"high": 155.0,
"low": 149.0,
"close": 154.0,
"volume": 31297500
}
]
}
Description
Get all available OHLC ranking kinds.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ohlc/rankings"
import requests
url = 'https://api.empiricalmarkets.com/v1/ohlc/rankings'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available OHLC ranking kinds.
{
"rankings": [
"top-gainers",
"top-losers",
"most-volatile",
"least-volatile",
"flow-ratio"
]
}
Description
Get OHLC-derived rankings for a given feature and date.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ranking | string (enum) | path | Yes | Feature name to retrieve rankings for. |
ENUM
|
| date | string | query | Yes | Date YYYY-MM-DD to retrieve rankings for. |
2023-12-31
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/ohlc/rankings/top-gainers?date=2023-12-31"
import requests
url = 'https://api.empiricalmarkets.com/v1/ohlc/rankings/{ranking}'
url = url.format(ranking="top-gainers")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'date': '2023-12-31'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
OHLC-derived rankings for the given feature and date.
{
"feature": "",
"frequency": "D",
"date": "2023-01-01",
"data": [
{
"date": "2023-01-01",
"ticker": "AAPL",
"asset_class": "",
"feature": "",
"rank": 1
}
]
}
Technicals
Description
Get list of available tickers with technical indicators.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/technicals/tickers"
import requests
url = 'https://api.empiricalmarkets.com/v1/technicals/tickers'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available tickers with technical indicators.
{
"tickers": [
"AAPL",
"MSFT",
"TSLA"
]
}
Description
Get list of available technical indicator names for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Stock ticker symbol |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/technicals/tickers/AAPL/indicators"
import requests
url = 'https://api.empiricalmarkets.com/v1/technicals/tickers/{ticker}/indicators'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available technical indicator names for the given ticker.
{
"ticker": "MSFT",
"indicators": [
"rsi_14",
"bb_lower",
"bb_upper"
]
}
Description
Get technical indicator time series for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Stock ticker symbol |
AAPL
|
| indicators | array | query | Yes | List of technical indicator names |
['bb_lower', 'bb_upper']
|
| start_date | string | query | No | Start date (YYYY-MM-DD) |
2023-01-01
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/technicals/tickers/AAPL/series?indicators=bb_lower&indicators=bb_upper&start_date=2023-01-01"
import requests
url = 'https://api.empiricalmarkets.com/v1/technicals/tickers/{ticker}/series'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'indicators': ['bb_lower', 'bb_upper'], 'start_date': '2023-01-01'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Time series for the technical indicator.
{
"ticker": "MSFT",
"indicators": [
"rsi_14",
"sma_50"
],
"data": [
{
"date": "2023-01-01",
"ticker": "MSFT",
"indicator": "rsi_14",
"value": 45.67
}
]
}
Quant
Description
Get list of available quant signals.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/signals"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/signals'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available quant signals.
{
"signals": [
"drift-strength",
"flow-ratio"
]
}
Description
Get latest anomalies for a given quant signal.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| signal | string (enum) | path | Yes | Quant signal name |
ENUM
|
| asset_class | string | query | No | Asset class filter |
equities
|
| limit | integer | query | No | Number of latest anomalies to fetch |
50
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/signals/drift-strength/anomalies/latest?asset_class=equities&limit=50"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/signals/{signal}/anomalies/latest'
url = url.format(signal="drift-strength")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'asset_class': 'equities', 'limit': 50}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Latest anomalies for the given quant signal.
{
"anomalies": [
{
"date": "2023-01-01",
"ticker": "AAPL",
"signal": "drift-strength",
"value": 0.1234
}
]
}
Description
Get list of available variants for a given quant signal.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| signal | string (enum) | path | Yes | Quant signal name |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/signals/drift-strength/variants"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/signals/{signal}/variants'
url = url.format(signal="drift-strength")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available variants for the given quant signal.
{
"signal": "drift-strength",
"variants": [
"r5_d10_uall",
"r10_d20_utech"
]
}
Description
Get list of available tickers for a given quant signal.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| signal | string (enum) | path | Yes | Quant signal name |
ENUM
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/signals/drift-strength/tickers"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/signals/{signal}/tickers'
url = url.format(signal="drift-strength")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available tickers for the given quant signal.
{
"signal": "drift-strength",
"tickers": [
"AAPL",
"MSFT",
"TSLA"
]
}
Description
Get Quant Signal time series for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| signal | string (enum) | path | Yes | Quant signal name |
ENUM
|
| ticker | string | path | Yes | Stock ticker symbol |
AAPL
|
| variant | string | query | Yes | Variant of the quant signal |
r1_d10_uall
|
| start_date | string | query | No | Start date (YYYY-MM-DD) |
2023-01-01
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/signals/drift-strength/tickers/AAPL/series?variant=r1_d10_uall&start_date=2023-01-01"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/signals/{signal}/tickers/{ticker}/series'
url = url.format(signal="drift-strength", ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'variant': 'r1_d10_uall', 'start_date': '2023-01-01'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Time series for the given ticker and quant signal.
{
"signal": "drift-strength",
"ticker": "AAPL",
"variant": "r5_d10_uall",
"universe": "all",
"data": [
{
"date": "2023-01-01",
"ticker": "AAPL",
"signal": "drift-strength",
"value": 0.1234
}
]
}
Description
Get Anomalies for a given quant signal and ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| signal | string (enum) | path | Yes | Quant signal |
ENUM
|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
| variant | string | query | Yes | Variant of the quant signal |
r1_d10_uall
|
| start_date | string | query | No | Start date (YYYY-MM-DD) |
2023-01-01
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/signals/drift-strength/tickers/AAPL/anomalies?variant=r1_d10_uall&start_date=2023-01-01"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/signals/{signal}/tickers/{ticker}/anomalies'
url = url.format(signal="drift-strength", ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'variant': 'r1_d10_uall', 'start_date': '2023-01-01'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Anomalies for the given ticker and quant signal.
{
"signal": "drift-strength",
"ticker": "AAPL",
"variant": "r5_d10_uall",
"universe": "all",
"anomalies": [
{
"date": "2023-01-01",
"ticker": "AAPL",
"signal": "drift-strength",
"value": 0.1234
}
]
}
Description
Get the latest Capital Asset Pricing Model (CAPM) data for all tickers.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/capm/latest"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/capm/latest'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Latest Capital Asset Pricing Model (CAPM) data for all tickers.
{
"data": [
{
"ticker": "AAPL",
"date": "2023-01-01",
"period": 22,
"beta": 1.2,
"alpha": 0.05
}
]
}
Description
Get list of available tickers for Capital Asset Pricing Model (CAPM) data.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/capm/tickers"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/capm/tickers'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available tickers for Capital Asset Pricing Model (CAPM) data
{
"tickers": [
"AAPL",
"MSFT",
"TSLA"
]
}
Description
Get Capital Asset Pricing Model (CAPM) time series for a given ticker.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
| start_date | string | query | No | Start date (YYYY-MM-DD) |
2023-01-01
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/capm/tickers/AAPL/series?start_date=2023-01-01"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/capm/tickers/{ticker}/series'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'start_date': '2023-01-01'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Capital Asset Pricing Model (CAPM) time series data for the given ticker.
{
"ticker": "AAPL",
"data": [
{
"ticker": "AAPL",
"date": "2023-01-01",
"period": 22,
"beta": 1.2,
"alpha": 0.05
}
]
}
Description
Get list of available tickers for correlation data.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/correlation/tickers"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/correlation/tickers'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available tickers for correlation analysis.
{
"tickers": [
"AAPL",
"MSFT",
"TSLA"
]
}
Description
Get the latest correlation data for a given ticker against all other tickers.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker | string | path | Yes | Ticker symbol |
AAPL
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/correlation/tickers/AAPL/latest"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/correlation/tickers/{ticker}/latest'
url = url.format(ticker="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Latest correlation data for the given ticker against all other tickers.
{
"ticker": "AAPL",
"data": [
{
"ticker_a": "AAPL",
"ticker_b": "MSFT",
"date": "2023-01-01",
"value": 0.85
}
]
}
Description
Get pairwise correlation time series for a given pair of tickers.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| ticker_a | string | path | Yes | First stock ticker symbol |
AAPL
|
| ticker_b | string | path | Yes | Second stock ticker symbol |
AAPL
|
| start_date | string | query | No | Start date (YYYY-MM-DD) |
2023-01-01
|
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/quant/correlation/pairs/AAPL/AAPL?start_date=2023-01-01"
import requests
url = 'https://api.empiricalmarkets.com/v1/quant/correlation/pairs/{ticker_a}/{ticker_b}'
url = url.format(ticker_a="AAPL", ticker_b="AAPL")
headers = {'Authorization': 'Bearer <your_access_token>'}
params = {'start_date': '2023-01-01'}
response = requests.get(url, headers=headers, params=params)
print(response.json())
Example Response
200
Pairwise correlation time series between two tickers.
{
"ticker_a": "AAPL",
"ticker_b": "MSFT",
"data": [
{
"ticker_a": "AAPL",
"ticker_b": "MSFT",
"date": "2023-01-01",
"value": 0.85
}
]
}
Treasury
US Treasury yields, rates, and auction data.
Description
List all available maturities in the treasury yield curve dataset.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/treasury/maturities"
import requests
url = 'https://api.empiricalmarkets.com/v1/treasury/maturities'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
List of available yield curve maturities.
{
"maturities": [
"1mo",
"2mo",
"3mo",
"4mo",
"6mo",
"1yr",
"2yr",
"3yr",
"5yr",
"7yr",
"10yr",
"20yr",
"30yr"
]
}
Description
Get the latest full yield curve snapshot.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/treasury/yields/latest"
import requests
url = 'https://api.empiricalmarkets.com/v1/treasury/yields/latest'
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Latest full yield curve snapshot.
{
"data": [
{
"date": "2025-12-15T00:00:00",
"maturity": "2yr",
"rate": 3.51
},
{
"date": "2025-12-15T00:00:00",
"maturity": "5yr",
"rate": 3.73
},
{
"date": "2025-12-15T00:00:00",
"maturity": "10yr",
"rate": 4.18
}
]
}
Description
Get treasury yield curve data for a specific maturity.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| maturity | string (enum) | path | Yes | Maturity to filter by (e.g., '1mo', '10yr') |
ENUM
|
| start_date | string | query | No | Start date (YYYY-MM-DD) | — |
| end_date | string | query | No | Inclusive end date (YYYY-MM-DD) | — |
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/treasury/yields/1mo"
import requests
url = 'https://api.empiricalmarkets.com/v1/treasury/yields/{maturity}'
url = url.format(maturity="1mo")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Treasury yield curve data for the specified maturity.
{
"maturity": "",
"data": [
{
"date": "2025-12-09T00:00:00",
"maturity": "10yr",
"rate": 4.18
},
{
"date": "2025-12-10T00:00:00",
"maturity": "10yr",
"rate": 4.13
}
]
}
Description
Get treasury yield curve spread data between two maturities.
Authentication
This endpoint requires a valid access token. Include your token in the Authorization: Bearer <token> header.
Parameters
| Name | Type | In | Required | Description | Example |
|---|---|---|---|---|---|
| maturity_a | string (enum) | path | Yes | Minuend maturity (e.g., '10yr') |
ENUM
|
| maturity_b | string (enum) | path | Yes | Subtrahend maturity (e.g., '2yr') |
ENUM
|
| start_date | string | query | No | Start date (YYYY-MM-DD) | — |
| end_date | string | query | No | Inclusive end date (YYYY-MM-DD) | — |
Example Request
curl -X GET -H "Authorization: Bearer <your_access_token>" "https://api.empiricalmarkets.com/v1/treasury/spreads/1mo/1mo"
import requests
url = 'https://api.empiricalmarkets.com/v1/treasury/spreads/{maturity_a}/{maturity_b}'
url = url.format(maturity_a="1mo", maturity_b="1mo")
headers = {'Authorization': 'Bearer <your_access_token>'}
response = requests.get(url, headers=headers)
print(response.json())
Example Response
200
Treasury yield curve spread data between the specified maturities.
{
"maturity_a": "",
"maturity_b": "",
"data": [
{
"date": "2025-12-09T00:00:00",
"maturity_a": "10yr",
"maturity_b": "2yr",
"spread": 0.57
},
{
"date": "2025-12-10T00:00:00",
"maturity_a": "10yr",
"maturity_b": "2yr",
"spread": 0.59
}
]
}