Developers
Build on verified financial data.
The Pythia API gives your scripts, dashboards, and AI agents the same data our product renders — and every value comes with the three things a chatbot can't promise: a source, an as-of timestamp, and an auditable formula. Missing data is null with a reason. Never an invention.
Authentication
Create an API key in Settings → Developer API. Keys look like pyk_… and are shown once at creation — we store only a hash. Pass the key on every request:
curl https://www.pythiaresearch.org/api/v1/score/AAPL \ -H "Authorization: Bearer pyk_your_key_here"
REST API
| Endpoint | Returns |
|---|---|
| GET/api/v1/catalog | Every metric definition — formula, academic citation, source, freshness, hurdle. |
| GET/api/v1/metrics/{ticker} | Current metric values with per-source as_of timestamps and filing provenance. |
| GET/api/v1/score/{ticker} | Pythia Score v3, five pillars, Vyramid pass count, best-match guru, verdict ledger. |
| GET/api/v1/quote/{ticker} | Live quote; vendor misses fall back to the last close, explicitly marked stale. |
| GET/api/v1/screen | Filter the ~6,600-company computed panel by score, sector, country, market cap. |
MCP server — let your AI call Pythia
Pythia speaks the Model Context Protocol. Point Claude, Cursor, or any MCP client at https://www.pythiaresearch.org/mcp and your assistant answers from sourced, timestamped data instead of guessing numbers:
{
"mcpServers": {
"pythia": {
"url": "https://www.pythiaresearch.org/mcp",
"headers": {
"Authorization": "Bearer pyk_your_key_here"
}
}
}
}get_scorePythia Score v3 + pillars + Vyramid + guru verdictsget_metricsCatalog snapshot with citations + filing provenanceguru_verdicts13 archetype lenses with per-signal drill-inscreenWhole-universe computed screencompareSide-by-side scores for 2–5 tickers
Rate limits
Limits are per key and follow your live subscription tier. This table renders from the same constants the limiter enforces.
| Tier | Requests / minute | Requests / day |
|---|---|---|
| free | 30 | 500 |
| basic | 120 | 5,000 |
| premium | 300 | 20,000 |
| enterprise | 600 | 100,000 |
The data contract
Every number we serve must be sourced, timestamped, auditable, and defensible — the same rules we hold our own scores to. Scores cite the academic papers behind each pillar; metrics carry the filing they came from; quotes say which vendor priced them and when. If we can't meet that bar for a value, you get null and the reason — which is exactly what makes the API safe to put behind an AI.