Building with the API? Open the developer docs
Finmagine API & MCP — free tier to test • Pro/Max for full access • REST + MCP
Master Research Presets through a complete learning overview and interactive flashcards
Strategy Lab's Research Presets are Finmagine's other major LLM-powered system — genuinely separate from the Investment Committee, built for a different job: one preset, one goal, one consolidated report from a sequential multi-agent analyst chain, rather than a multi-lens verdict on a shortlist of nominated stocks. This guide covers running them entirely through the API, with the real request/response shapes from the actual handler code, not simplified pseudocode.
Click any card to reveal the answer. Use the search box to find a specific topic.
A Research Preset runs one of Strategy Lab's pre-built multi-agent analyst chains against a goal you give it — a sequential pipeline where each agent's output feeds the next, consolidating into one final report. It's genuinely a separate system from the Investment Committee, not a smaller version of it.
| Research Preset | Investment Committee | |
|---|---|---|
| Structure | One preset, one goal, one report | Multi-lens analysis across a shortlist of nominated stocks |
| Agent flow | Sequential chain (e.g. macro → sector → stock → report) | Parallel multi-lens scan, then chairman synthesis, risk audit, position sizing |
| Input | A free-text goal (what you want investigated) | A shortlist of stock symbols |
| Tier | API Pro | API Max (for the flagship screen-based recipe) |
| Quota | 10 runs / 24h, shared with web usage | 5 runs / 24h, shared with web usage |
| Operation | REST | MCP tool | Tier |
|---|---|---|---|
| Catalog | GET /presets/catalog | list_preset_catalog | Free |
| Start | POST /presets/start | start_preset | API Pro |
| Poll | GET /presets/poll | check_preset_status | API Pro |
| List history | GET /presets/list | list_preset_runs | API Pro |
| Cancel | POST /presets/cancel | cancel_preset | API Pro |
Exactly 4 India presets and 4 mirrored US presets — same analytical structure, different market context.
| Preset ID | Label | Description | Runtime | Agents |
|---|---|---|---|---|
equity_research_team | Equity Research Team | Macro → sector → stock selection three-tier analysis, consolidated into a full research report | ~35 min | 4 |
fundamental_research_team | Fundamental Research | Deep fundamental analysis: business quality, financials, valuation assessment | ~20 min | 3 |
quant_strategy_desk | Quant Strategy Desk | Factor design → strategy validation → risk audit; produces a factor blueprint with historical expectations to verify | ~40 min | 4 |
technical_analysis_panel | Technical Analysis Panel | Trend, momentum, and support/resistance analysis in a three-agent sequence | ~15 min | 3 |
| Preset ID | Label | Description | Runtime | Agents |
|---|---|---|---|---|
us_equity_research_team | US Equity Research Team | Fed + macro → S&P 500 sectors → stock selection → research brief | ~35 min | 4 |
us_fundamental_research_team | US Fundamental Research | Business moats, GAAP financials, FCF quality, and valuation framework for US stocks | ~20 min | 3 |
us_quant_strategy_desk | US Quant Strategy Desk | Factor design (momentum/value/quality/growth) → historical expectations → risk audit for US equity strategies | ~40 min | 4 |
us_technical_analysis_panel | US Technical Analysis Panel | S&P 500/Nasdaq structure, VIX, breadth, sector ETF signals, and momentum analysis | ~15 min | 3 |
market field you pass to start_preset does NOT determine India vs. US. It's a free-text display label only (defaulting to "NSE India") and has no effect on behavior. The actual differentiator is the preset id itself — the us_ prefix is what determines which data context gets injected. Passing us_quant_strategy_desk with market: "NSE India" would still run the US analysis; the market field wouldn't override it.
| Field | Required? | Notes |
|---|---|---|
preset | Yes | Must be one of the 8 valid ids — checked locally against a whitelist before the request ever reaches the analyst swarm, so an invalid id returns a clear 400 instead of failing silently deep inside a swarm call |
goal | No, but strongly recommended | What you want this run to investigate — max 500 characters |
provider | Yes — no auto-resolve | Must be an already-saved BYO provider. Call list_byo_keys first if you're not sure which one you have |
market | No | Free-text display label only — does not affect behavior (see warning above) |
A successful start returns immediately with a run identifier and status: "running" — the actual multi-agent chain runs asynchronously on Finmagine's Strategy Lab swarm, not inline within this HTTP request.
This one endpoint behaves in two genuinely different ways depending on the run's current state:
| Run state | Where the response comes from |
|---|---|
Terminal — completed, failed, cancelled | A DB cache — fast, no live call to the swarm |
Non-terminal — running | A live call to the Strategy Lab swarm VPS, ~10 second timeout |
While running, the response includes task_count and done_count from the live swarm call — genuine progress, not a synthetic estimate — letting you show something more useful than a generic spinner. Once terminal, the full final_report field is present.
Most of Finmagine's API returns errors with a top-level error: true boolean. The Research Preset endpoints (start and poll) don't follow that exact pattern — they wrap the underlying Strategy Lab proxy's own error shape instead:
This is a genuinely useful implementation detail to know before you write error-handling code for these two specific endpoints — it will save you a confused debugging session if your code assumes every Finmagine endpoint's errors look identical.
Sets the run's status to cancelled — or, if the run had already reached a terminal state before your cancel request arrived, returns that existing status instead rather than pretending to cancel something already finished.
list_preset_runs returns your account's most recent 20 runs, any status, newest first — useful for building a dashboard of past research without needing to track every vibe_run_id yourself client-side.
With Research Presets covered, the next guide covers the other major LLM-powered system built on the same BYO-key foundation:
See the API & Agent Integration hub for the full 12-guide roadmap.
Finmagine gives you 30+ computed financial ratios, sector benchmarks, FII/DII flows, the Finmagine Score, and AI-powered analysis — all in one place.