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.

Base URL 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.

API Keys are long-lived and can be managed from your dashboard. Access tokens are short-lived (~6 hours) and should be refreshed as needed.
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

1

Create an Account

Sign up at empiricalmarkets.com to get started.

2

Generate an API Key

Navigate to your dashboard and create a new API key.

3

Get an Access Token

Exchange your API key for a short-lived access token.

4

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
200OKRequest succeeded
400Bad RequestInvalid request parameters
401UnauthorizedAuthentication required or token expired
403ForbiddenValid authentication but insufficient permissions
404Not FoundRequested resource doesn't exist
429Too Many RequestsRate limit exceeded
500Server ErrorSomething 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

POST /v1/token Access Token None
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

GET /v1/catalog/assets List Available Asset Classes demo
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"
  ]
}

GET /v1/catalog/assets/{asset_class}/tickers List Tickers By Asset Class demo
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"
  ]
}

GET /v1/catalog/exchanges List Available Tracked Exchanges demo
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"
  ]
}

GET /v1/catalog/exchanges/{exchange}/tickers List Tickers By Exchange demo
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"
  ]
}

GET /v1/catalog/sic List Standard Industrial Classification Codes demo
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"
    }
  ]
}

GET /v1/catalog/sic/{sic_code} Get Standard Industrial Classification Code Details... demo
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"
}

GET /v1/catalog/sic/{sic_code}/tickers List Tickers By Standard Industrial Classification Code... demo
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

GET /v1/company/{ticker} Get Company Metadata demo
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"
}

GET /v1/company/{ticker}/former Get Former Company Names demo
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"
    }
  ]
}

GET /v1/company/{ticker}/filings Get Company Sec Filings demo
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"
    }
  ]
}

GET /v1/company/{ticker}/forms Get Sec Forms For A Company demo
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.

GET /v1/ai/signals Available Ai Signals starter
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"
      }
    ]
  ]
}

GET /v1/ai/signals/{signal} Ai Signal Info starter
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"
}

GET /v1/ai/signals/{signal}/tickers Ai Signal Available Tickers starter
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"
  ]
}

GET /v1/ai/signals/{signal}/tickers/{ticker}/series Ai Signal Ticker Time Series starter
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
    }
  ]
}

GET /v1/ai/clustering Ai Clustering Algorithms starter
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."
      }
    ]
  ]
}

GET /v1/ai/clustering/{algo} Ai Clustering Algorithm Info starter
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."
}

GET /v1/ai/clustering/{algo}/tickers Ai Clustering Algorithm Available Tickers... starter
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"
  ]
}

GET /v1/ai/clustering/{algo}/tickers/{ticker} Ai Ticker-Based Clustering... starter
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.

GET /v1/fed/ai/sentiment/latest Latest Fomc Sentiment Predictions demo
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."
    }
  ]
}

GET /v1/fed/ai/sentiment/sectors Fomc Sentiment Prediction Sectors starter
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"
  ]
}

GET /v1/fed/ai/sentiment/sectors/{sector} Fomc Sentiment Predictions By Sector starter
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."
    }
  ]
}

GET /v1/fed/operations/repo Nyfed Repo Operations starter
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
    }
  ]
}

GET /v1/fed/operations/rrp Nyfed Reverse Repo Operations starter
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
    }
  ]
}

GET /v1/fed/soma/holdings/latest Nyfed Soma Holdings Latest Snapshot demo
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
  }
}

GET /v1/fed/soma/holdings/securities Fed Soma Holdings Security Types. starter
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"
  ]
}

GET /v1/fed/soma/holdings/securities/{type} Nyfed Soma Holdings starter
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
    }
  ]
}

GET /v1/fed/publications/beige-book/latest Latest Fomc Beige Book starter
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..."
  }
}

GET /v1/fed/publications/beige-book/dates Fomc Beige Book Release Dates starter
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"
  ]
}

GET /v1/fed/publications/beige-book/release/{date} Fomc Beige Book By Date starter
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.

GET /v1/insiders/tickers Available Insider Trading Tickers starter
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"
  ]
}

GET /v1/insiders/tickers/{ticker}/reports Insider Trading Transaction Reports starter
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
    }
  ]
}

GET /v1/insiders/tickers/{ticker}/reporters Get Insider Transaction Reporters For Ticker... starter
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.

{}

GET /v1/insiders/tickers/{ticker}/transactions/codes Available Insider Transaction Codes... starter
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"
    }
  ]
}

GET /v1/insiders/tickers/{ticker}/transactions/series Insider Transactions Time Series... starter
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"
    }
  ]
}

GET /v1/insiders/tickers/{ticker}/derivatives/codes Available Insider Derivative Transaction Codes... starter
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"
    }
  ]
}

GET /v1/insiders/tickers/{ticker}/derivatives/series Insider Derivative Transactions Time Series... starter
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"
    }
  ]
}

GET /v1/insiders/tickers/{ticker}/sales Insider Sale Volume Time Series demo
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
    }
  ]
}

GET /v1/insiders/tickers/{ticker}/sales/anomalies Ticker Insider Sale Anomalies starter
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
    }
  ]
}

GET /v1/insiders/tickers/{ticker}/purchases Insider Purchase Volume Time Series... demo
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
    }
  ]
}

GET /v1/insiders/tickers/{ticker}/purchases/anomalies Ticker Insider Purchase Anomalies starter
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
    }
  ]
}

GET /v1/insiders/aggregates/sales Market Insider Sale Volume Time Series... starter
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
    }
  ]
}

GET /v1/insiders/aggregates/sales/anomalies Market Insider Sale Anomalies starter
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.

{}

GET /v1/insiders/aggregates/purchases Market Insider Purchase Volume Time Series... starter
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
    }
  ]
}

GET /v1/insiders/aggregates/purchases/anomalies Market Insider Purchase Anomalies starter
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.

GET /v1/fundamentals/tickers Get Available Fundamental Tickers demo
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"
  ]
}

GET /v1/fundamentals/tickers/{ticker}/tags Get Fundamental Tags For Ticker demo
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"
  ]
}

GET /v1/fundamentals/tickers/{ticker}/tags/details/{tag} Get Fundamental Tag Details For Ticker... demo
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"
  }
}

GET /v1/fundamentals/tickers/{ticker}/tags/frequency Get Fundamental Tag Frequencies For Ticker demo
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
    }
  ]
}

GET /v1/fundamentals/tickers/{ticker}/series Get Fundamental Time Series Data For Ticker demo
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.

GET /v1/macro/collections Available Macro Collection Ids demo
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"
    ]
  }
}

GET /v1/macro/collections/{collection_id} Collection Id Metadata demo
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"
  ]
}

GET /v1/macro/series Available Macro Series Ids demo
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"
  }
}

GET /v1/macro/series/{series_id} Macro Timeseries Data demo
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
  }
}

GET /v1/macro/schedule/{year} Economic Release Calendar demo
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.

GET /v1/ohlc/assets Available Ohlc Asset Classes demo
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"
  ]
}

GET /v1/ohlc/tickers Available Ohlc Tickers demo
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"
  ]
}

GET /v1/ohlc/tickers/{ticker}/prices Ohlc Prices demo
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
    }
  ]
}

GET /v1/ohlc/latest Latest Ohlc Data starter
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
    }
  ]
}

GET /v1/ohlc/rankings Available Rankings starter
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"
  ]
}

GET /v1/ohlc/rankings/{ranking} Rankings starter
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

GET /v1/technicals/tickers Available Technical Indicator Tickers demo
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"
  ]
}

GET /v1/technicals/tickers/{ticker}/indicators Available Technical Indicators For Ticker... demo
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"
  ]
}

GET /v1/technicals/tickers/{ticker}/series Technical Indicator Series demo
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

GET /v1/quant/signals Available Quant Signals starter
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"
  ]
}

GET /v1/quant/signals/{signal}/anomalies/latest Latest Quant Signal Anomalies starter
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
    }
  ]
}

GET /v1/quant/signals/{signal}/variants Available Quant Signal Variants starter
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"
  ]
}

GET /v1/quant/signals/{signal}/tickers Available Quant Signal Tickers starter
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"
  ]
}

GET /v1/quant/signals/{signal}/tickers/{ticker}/series Quant Signal Time Series starter
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
    }
  ]
}

GET /v1/quant/signals/{signal}/tickers/{ticker}/anomalies Quant Signal Anomalies starter
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
    }
  ]
}

GET /v1/quant/capm/latest Latest Capital Asset Pricing Model Data... starter
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
    }
  ]
}

GET /v1/quant/capm/tickers Available Capm Tickers... starter
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"
  ]
}

GET /v1/quant/capm/tickers/{ticker}/series Capital Asset Pricing Model Series... starter
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
    }
  ]
}

GET /v1/quant/correlation/tickers Available Correlation Tickers starter
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"
  ]
}

GET /v1/quant/correlation/tickers/{ticker}/latest Latest Correlation Data For Ticker... starter
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
    }
  ]
}

GET /v1/quant/correlation/pairs/{ticker_a}/{ticker_b} Pairwise Correlation Time Series... starter
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.

GET /v1/treasury/maturities Available Yield Curve Maturities... demo
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"
  ]
}

GET /v1/treasury/yields/latest Latest Yield Curve Snapshot demo
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
    }
  ]
}

GET /v1/treasury/yields/{maturity} Treasury Yield Curve Maturity Data demo
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
    }
  ]
}

GET /v1/treasury/spreads/{maturity_a}/{maturity_b} Treasury Yield Curve Spread Data demo
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
    }
  ]
}