API Reference

FilingDrift exposes a JSON REST API for Pro and Pro+ subscribers. Query scores, companies, and your watchlist programmatically. Your API key is on your account dashboard.

Authentication

Pass your API key in the Authorization header on every request.

Authorization: Bearer YOUR_API_KEY

Alternatively, pass ?key=YOUR_API_KEY as a query parameter (legacy, not recommended).

Rate Limits

Plan Requests / minute Bulk endpoint
Pro 60
Pro+ 300 ✓ included

Base URL

https://filingdrift.com/api/v1

Endpoints

GET /api/v1/companies Pro

List all 1890+ tracked companies with their latest risk score.

Query parameters
ParamDefaultDescription
flagged false Set to true to return only companies above the control ceiling
Example
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://filingdrift.com/api/v1/companies?flagged=true"
Response
{
  "control_ceiling": 14.8,
  "count": 3,
  "companies": [
    {
      "ticker": "PRTY",
      "name": "Party City Holdco Inc.",
      "control_ceiling": 14.8,
      "latest_score": 211.8,
      "latest_vs_ceiling": 14.31,
      "flagged": true,
      "periods": 6
    }
  ]
}
GET /api/v1/scores Pro

Full score history for a single ticker across all filing periods.

Query parameters
ParamRequiredDescription
ticker Yes Stock ticker symbol (e.g. AAPL)
Example
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://filingdrift.com/api/v1/scores?ticker=AAPL"
Response
{
  "ticker": "AAPL",
  "name": "Apple Inc.",
  "control_ceiling": 14.8,
  "pairs": [
    {
      "period_start": "2022-09-01",
      "period_end": "2023-09-01",
      "score": 3.21,
      "vs_ceiling": 0.22,
      "flagged": false
    }
  ]
}
GET /api/v1/watchlist Pro

Your saved watchlist with the latest score for each ticker.

Example
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://filingdrift.com/api/v1/watchlist"
Response
{
  "control_ceiling": 14.8,
  "count": 2,
  "watchlist": [
    {
      "ticker": "AAPL",
      "name": "Apple Inc.",
      "latest_score": 3.21,
      "latest_vs_ceiling": 0.22,
      "flagged": false,
      "periods": 4
    }
  ]
}
GET /api/v1/bulk Pro+

All 1890+ companies with their complete score history in a single response. Intended for bulk analysis and model ingestion.

Example
curl -H "Authorization: Bearer YOUR_KEY" \
  "https://filingdrift.com/api/v1/bulk"
Response
{
  "control_ceiling": 14.8,
  "count": 1890,
  "companies": {
    "AAPL": {
      "name": "Apple Inc.",
      "pairs": [ ... ]
    }
  }
}

Python Example

import requests

API_KEY = "YOUR_API_KEY"
BASE    = "https://filingdrift.com/api/v1"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}

# Get flagged companies
r = requests.get(f"{BASE}/companies", headers=HEADERS, params={"flagged": "true"})
for co in r.json()["companies"]:
    print(co["ticker"], co["latest_score"], f"({co['latest_vs_ceiling']}x ceiling)")

# Full history for one ticker
r = requests.get(f"{BASE}/scores", headers=HEADERS, params={"ticker": "SVB"})
print(r.json())

Error Codes

Code Meaning
401Missing or empty API key
403Invalid key or plan does not include this endpoint
400Missing required parameter (e.g. ticker)
404Ticker not found in corpus

All errors return JSON: {"error": "message"}