TickerDB for Python.

Simple client for the TickerDB HTTP API. Install with pip, initialize with your API key, and start pulling pre-computed market data immediately.

Install and call in seconds.

One pip install, one import, one line to initialize. Every method returns a dictionary with data and rate_limits.

install
pip install tickerdb
python
from tickerdb import TickerDB

client = TickerDB("tdb_your_api_key")

# Get a full summary for any ticker
result = client.summary("AAPL")
print(result["data"]["trend"]["direction"])    # "uptrend"
print(result["data"]["momentum"]["rsi_zone"])  # "neutral_high"

view on PyPI

Chain calls. Build context.

Pull a summary, use summary event mode for historical band transitions, then monitor your watchlist for changes. Each method returns market-state data you can branch on directly.

1
client.summary("AAPL")
Full categorical breakdown — trend, momentum, volatility, fundamentals
2
client.summary("AAPL", field="rsi_zone", band="deep_oversold")
Ticker event history for RSI entering deep oversold
3
client.watchlist_changes()
State changes across your monitored tickers

Track state changes effortlessly.

Most market data APIs return point-in-time snapshots. TickerDB tracks state transitions — your agent sees what changed, not just what is.

python
result = client.watchlist_changes()
json
{
  "timeframe": "daily",
  "run_date": "2026-03-28",
  "changes": {
    "AAPL": [
      {
        "field": "rsi_zone",
        "from": "neutral",
        "to": "oversold"
      },
      {
        "field": "trend_direction",
        "from": "uptrend",
        "to": "downtrend"
      }
    ]
  },
  "ticker_context": {
    "AAPL": {
      "last_changed_date": "2026-03-28"
    }
  },
  "tickers_checked": 2,
  "tickers_changed": 1
}

What your agent sees.

Every tool returns categorical facts — not raw OHLCV data. Your agent can branch on "oversold" without needing to know what RSI > 70 means.

json
{
  "ticker": "NVDA",
  "data_status": "eod",
  "as_of_date": "2026-04-11",
  "trend": {
    "direction": "strong_uptrend",
    "ma_alignment": "aligned_bullish"
  },
  "momentum": {
    "rsi_zone": "overbought",
    "macd_state": "expanding_positive",
    "direction": "accelerating"
  },
  "volatility": {
    "regime": "normal",
    "regime_trend": "stable"
  },
  "fundamentals": {
    "valuation_zone": "fair_value",
    "pe_vs_historical_zone": "premium",
    "last_earnings_surprise": "beat"
  }
}

What you can call.

Every method returns a dict with `data` and `rate_limits`. No raw data to parse, no indicator math to maintain.

client.summary("AAPL")

Full technical + fundamental snapshot for a single asset.

client.search(filters={...})

Search across all assets with multi-field filters.

client.schema()

Discover all queryable fields and their types.

client.watchlist(["AAPL"])

Batch EOD summaries for a portfolio.

client.watchlist_changes()

State changes for your saved watchlist tickers.

client.create_webhook(url=...)

Create a webhook for watchlist change alerts.

client.list_webhooks()

List the webhooks on your account.

client.delete_webhook(id)

Delete a webhook you no longer need.

Built for how code consumes data.

Market-state data, less parsing

Responses like "rsi_zone": "oversold" are ready to branch on. No indicator math, no threshold logic.

Plain dictionaries

Every method returns a dict. No ORM, no custom objects, no serialization steps. JSON in, dict out.

Pre-computed daily

No infrastructure to maintain. No cron jobs, no indicator math. TickerDB handles computation and syncing.

Start building.

Try for free. No credit card required.