Market data for
FastAPI apps.
TickerAPI 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 TickerAPI HTTP API.
$ pip install tickerapi 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 tickerapi import TickerAPI app = FastAPI() client = TickerAPI("tapi_your_api_key") @app.get("/summary/{ticker}") async def get_summary(ticker: str): return client.summary(ticker) @app.get("/scan/oversold") async def scan_oversold(sector: str = None): return client.scan.oversold(sector=sector)
Track state changes effortlessly.
Most market data APIs return point-in-time snapshots. TickerAPI 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.
TickerAPI'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 tickerapi import TickerAPI client = TickerAPI("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.
Side-by-side comparison of multiple assets.
Browse all supported tickers.
List all valid sector values with asset counts.
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.
Assets in oversold conditions.
Assets in overbought RSI conditions with severity rankings.
Support/resistance breakouts.
Volume anomalies.
Valuation extremes.
Insider buying/selling patterns.
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. TickerAPI 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. TickerAPI handles computation and syncing.