Deep Values
Value investing for US stocks: SEC filings, 13F guru holdings, intrinsic value, AI briefings.
| Endpoint | https://app.deepvalues.ai/api/mcp (streamable-http) |
|---|---|
| Registry version | 1.1.1 |
| Now | 27 tools · grade B (83) · pin ts_15bbe0bbcf13ad6f440101bddc2ebbb8 · protocol 2025-06-18 |
| First / last listed | 2026-10-25 04:29 UTC / 2026-10-25 04:29 UTC |
| Grade over time | 2026-10-25: B (83), 27 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: keys_create keys_me credits_packs credits_checkout pricing account ai_context research intrinsic_value smart_money_holdings smart_money_changes guru_moves verdict mirror_brief gurus guru guru_portfolio theses indicators_buffett indicators_shiller_pe sentiment news companies_search company_overview fundamentals filings webhooks_list
keys_create | The one endpoint that needs no key. Send {} for a dv_sk_test_ sandbox key (real data, small daily quota, never billed, no /research). Send {"email":"…"} for a dv_sk_live_ key on a new prepaid account; the first key for an email carries 1 starter credit ($1.00). Send it with an existing key as the bearer to mint a sibling key on the same account (rotation). The raw key is returned once. The email i params: email, label |
keys_me | Returns the calling key, the exact balance of the ledger behind it (balanceMicro: integer micro-credits, 1 credit = $1.00 = 1,000,000), what is left in each daily quota bucket, and the environment. Free, and consumes no quota. (GET https://app.deepvalues.ai/api/v1/keys/me — free; needs a connected account or a dv_sk_ key) params: none |
credits_packs | Lists the prepaid credit packs this key can buy (1 credit = $1.00). Free. (GET https://app.deepvalues.ai/api/v1/credits/checkout — free; needs a connected account or a dv_sk_ key) params: none |
credits_checkout | Creates a one-time Stripe Checkout Session for a credit pack, bound to the calling live key’s account. When the payment completes the credits land on that balance; poll GET /keys/me. This is what a 402 `topUp.checkoutEndpoint` points at. Free, consumes no quota. (POST https://app.deepvalues.ai/api/v1/credits/checkout — free; needs a connected account or a dv_sk_ key) params: pack* |
pricing | Every endpoint’s per-call price (credits, USD and atomic USDC), the free allowances, the daily quotas, and how an agent pays without a human: x402 in USDC — per call with no key, or as a prepaid top-up of a key — when it is switched on, or a Stripe Checkout link a human pays. Also served at /api/v1/pricing.json. Needs no key, costs nothing, consumes no quota. (GET https://app.deepvalues.ai/api/v1/ params: none |
account | Returns the calling key, its scopes, environment, and today's usage across all 3 buckets. Self-billing: counts as 1 metadata call. (GET https://app.deepvalues.ai/api/v1/account — free; needs a connected account or a dv_sk_ key) params: none |
ai_context | Returns a system prompt + structured context block, scoped to one ticker. Drop it into OpenAI/Anthropic/any LLM SDK to ground your chatbot in current Deep Values data without months of plumbing. Bills 3 metadata units. (GET https://app.deepvalues.ai/api/v1/ai-context/{ticker} — 0.005 credits per call; works with no credentials up to 1 call(s)/day per address) params: ticker*, token_budget |
research | Full briefing, bull case, bear case, valuation, investment plan and fair-value range as one structured JSON document. 3 credits ($3.00) per successful call, ai_research quota 50/day. Returns the latest completed briefing for the ticker — the same one its public company page shows; a fresh run cannot be started through the API yet (404 when none exists). Never keyless, not in the sandbox. (GET http params: ticker*, language |
intrinsic_value | DCF + Owner Earnings + Damodaran intrinsic value (GET https://app.deepvalues.ai/api/v1/intrinsic-value/{ticker} — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address) params: ticker* |
smart_money_holdings | Returns every guru from our 60-name roster who held the requested ticker as of the latest 13F-HR quarter (or a specific historical quarter). Each row includes shares, USD value, % of portfolio, and the auto-classified delta vs the prior quarter. (GET https://app.deepvalues.ai/api/v1/smart-money/holdings — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address) params: ticker*, quarter_end |
smart_money_changes | All 13F position changes meeting the materiality threshold (new positions, full exits, ≥25% share-count shifts, OR ≥$100M position size) across our entire 60-guru roster, in the requested window. (GET https://app.deepvalues.ai/api/v1/smart-money/changes — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address) params: since*, filed_since, min_position_usd, status |
guru_moves | The Follow the Pros feed. Every material 13F move — new position, full exit, a share count that moved by 25%, or a position of $100M or more — ordered by the date the filing became public, with a deterministic verdict line on each row. The verdict is identical for every caller: it compares the price when the investor traded, the price now and Deep Values' intrinsic value band, and it never predict params: filed_since, slugs, limit |
verdict | One guru's disclosed move in one ticker, with the sentence Deep Values publishes about it and every number behind it: the company's legal name beside the ticker (`name`, null where we hold none), the three dates (traded by, filed, seen), the quarter-end close, the current price, and the intrinsic value band. `value` is the callable band (the blend ±25%) and is null whenever the verdict is not a ca params: ticker*, guru*, quarter |
mirror_brief | The same move as /verdict, flattened into a brief: what the investor did, when, at what price, against our value band, plus the verdict sentence. It carries NO quantity and NO instruction — `sizing` reads "not provided; the reader decides". It describes a public filing and a published value range; it is not advice and not a prediction. (GET https://app.deepvalues.ai/api/v1/mirror-brief/{ticker} — params: ticker*, guru*, quarter |
gurus | 60 hand-picked institutional investors — every name a serious value investor would recognize. Filter by style. (GET https://app.deepvalues.ai/api/v1/gurus — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address) params: style, limit |
guru | One guru: bio + top holdings (GET https://app.deepvalues.ai/api/v1/gurus/{slug} — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address) params: slug* |
guru_portfolio | One guru's full portfolio at a quarter (GET https://app.deepvalues.ai/api/v1/gurus/{slug}/portfolio — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address) params: slug*, as_of |
theses | Public investment theses with structured metadata — sentiment, conviction, price target, anchored DVI run. Filter by ticker, conviction, or sentiment. (GET https://app.deepvalues.ai/api/v1/theses — 0.005 credits per call; works with no credentials up to 25 call(s)/day per address) params: ticker, min_conviction, sentiment, limit |
indicators_buffett | US corporate equities ÷ GDP, with zones (significantly undervalued through significantly overvalued) and historical percentile. (GET https://app.deepvalues.ai/api/v1/indicators/buffett — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address) params: history_years |
indicators_shiller_pe | Shiller PE with historical percentile (GET https://app.deepvalues.ai/api/v1/indicators/shiller-pe — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address) params: history_years |
sentiment | Value-investor sentiment rollup (not WSB noise) (GET https://app.deepvalues.ai/api/v1/sentiment/{ticker} — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address) params: ticker*, source, window |
news | Sentiment-scored news (GET https://app.deepvalues.ai/api/v1/news/{ticker} — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address) params: ticker*, since, sentiment |
companies_search | Company search (GET https://app.deepvalues.ai/api/v1/companies — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address) params: q, limit |
company_overview | Company overview (GET https://app.deepvalues.ai/api/v1/companies/{ticker}/overview — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address) params: ticker* |
fundamentals | Income + balance + cashflow (GET https://app.deepvalues.ai/api/v1/fundamentals/{ticker} — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address) params: ticker*, period, limit |
filings | SEC filings (10-K, 10-Q, 8-K, etc) (GET https://app.deepvalues.ai/api/v1/filings/{ticker} — 0.001 credits per call; works with no credentials up to 25 call(s)/day per address) params: ticker*, form, limit |
webhooks_list | List webhook subscriptions (GET https://app.deepvalues.ai/api/v1/webhooks — free; needs a connected account or a dv_sk_ key) params: none |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.