Market data for
FastAPI apps.
TickerDB Python SDK + FastAPI. Pre-computed market data in your API endpoints, no infrastructure.
Install the SDK.
One dependency. No MCP server, no WebSocket connections — just a Python package that calls the TickerDB HTTP API.
$ pip install tickerdb Two endpoints, five minutes.
Initialize the client once, call methods from your route handlers. Every method returns a dictionary ready for JSONResponse.
from fastapi import FastAPI from tickerdb import TickerDB app = FastAPI() client = TickerDB("tapi_your_api_key") @app.get("/summary/{ticker}") async def get_summary(ticker: str): return client.summary(ticker) @app.get("/summary-events/{ticker}") async def get_summary_events(ticker: str, field: str = "rsi_zone", band: str = "deep_oversold"): return client.summary(ticker, field=field, band=band)
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.
@app.get("/watchlist/changes") async def watchlist_changes(): changes = client.watchlist.changes( tickers=["AAPL", "MSFT", "GOOGL"] ) # each change includes from/to state transitions # e.g. trend: "uptrend" → "downtrend" return changes
{ "ticker": "AAPL", "changes": [ { "field": "rsi_zone", "from": "neutral", "to": "oversold" }, { "field": "trend", "from": "uptrend", "to": "downtrend" } ] }
Feed an AI agent.
TickerDB's categorical output is designed for LLMs. Feed a summary directly into a prompt — the model already understands terms like "oversold" and "strong_uptrend" without extra context.
import anthropic from tickerdb import TickerDB client = TickerDB("tapi_your_api_key") ai = anthropic.Anthropic() @app.get("/briefing/{ticker}") async def get_briefing(ticker: str): summary = client.summary(ticker) message = ai.messages.create( model="claude-sonnet-4-20250514", max_tokens=1024, messages=[{ "role": "user", "content": f"Analyze this market data for {ticker} and provide a brief:\n{summary}" }] ) return {"analysis": message.content}
What you can call.
Every method returns categorical, pre-computed data as a plain dictionary. No raw data to parse, no indicators to compute.
Full technical + fundamental snapshot for a single asset.
Batch summaries for a portfolio.
Field-level diffs for your watchlist since the last pipeline run.
Add tickers to your persistent watchlist.
Remove tickers from your watchlist.
Search across all assets with multi-field filters.
Discover all queryable fields and their types.
Your plan tier, rate limits, and current API usage.
Register a webhook URL for watchlist change notifications.
List your registered webhook URLs.
Remove a registered webhook.
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.
{ "ticker": "NVDA", "trend": "strong_uptrend", "momentum": { "rsi_zone": "overbought", "macd_signal": "bullish" }, "volatility": "high", "fundamentals": { "pe_zone": "above_historical_avg", "earnings_surprise": "positive" } }
Built for how agents consume data.
Categorical data, less prompt engineering
Responses like "rsi_zone": "oversold" are already in a format the model understands. No need to explain what RSI > 70 means.
Compact responses
Tool-call context windows are limited. TickerDB responses are a fraction of the tokens you'd need to pass raw OHLCV data.
Pre-computed daily
No infrastructure to maintain. No cron jobs, no indicator math, no data pipelines. TickerDB handles computation and syncing.