Guides
Compare basket
Compare 2–4 symbols with one scorecard call, then deepen only finalists.
Short answer: use /v2/compare?symbols=A,B,C for 2–4 tickers. Use deeper routes only for the names that still matter after the scorecard.
Use this when
Use this for prompts like:
- “Compare NVDA, AMD, AVGO.”
- “Which of these looks most stretched?”
- “Give me a quick scorecard for these 3 stocks.”
Do not use this for
- More than 4 symbols. noxstock compare is intentionally capped at 2–4.
- Deep financial statement review. Use
/v2/fundamentalsonly after shortlisting. - SEC risk, insider, or filing text. Use those routes for finalists only.
- Recommendations. Compare is a data scorecard, not a ranking engine.
Route plan
REST sequence:
# If any input is a company/fund name instead of a ticker:
GET /v2/search?query=<name>
# Scorecard for 2-4 confirmed tickers:
GET /v2/compare?symbols=NVDA,AMD,AVGO
# Optional: ask only for fields you need:
GET /v2/compare?symbols=NVDA,AMD,AVGO&fields=price,pct_1y,pe_ttm,ps_ttm,rsi_14,trending
# Optional depth for shortlisted finalists only:
GET /v2/snapshot?symbol=<finalist>
GET /v2/valuation?symbol=<finalist>
GET /v2/fundamentals?symbol=<finalist>&period=quarter/v2/compare validates symbols and returns a sparse projection. It does not include every field from snapshot, technicals, or fundamentals.
MCP sequence
# Optional name lookup:
noxstock_search({ "query": "<name>" })
# Compare:
noxstock_compare({ "symbols": ["NVDA", "AMD", "AVGO"] })
# Optional field subset:
noxstock_compare({
"symbols": ["NVDA", "AMD", "AVGO"],
"fields": ["price", "pct_1y", "pe_ttm", "ps_ttm", "rsi_14", "trending"]
})
# Optional finalist depth:
noxstock_snapshot({ "symbol": "<finalist>" })
noxstock_valuation({ "symbol": "<finalist>" })
noxstock_fundamentals({ "symbol": "<finalist>", "period": "quarter" })What to preserve in the answer
freshness,as_of,market_status, andcache_age_secondsfrom the compare payload.fields_requestedso readers know what the scorecard included.fields_omitted_by_symbolso missing stock-only or unsupported fields stay visible._usdand_pctunits, including negative drawdowns.- The fact that ETF rows may omit stock-only fields instead of returning fake values.
- The exact symbols compared.
Good answer shape:
Answer: <one-sentence comparison based on returned fields, not a recommendation>
Scorecard
| Symbol | <field> | <field> | Caveat |
| --- | ---: | ---: | --- |
| ... | ... | ... | <omitted fields or freshness note> |
Freshness
- Compare: <freshness>, as_of <timestamp>, market_status <status>
Calls used
- GET /v2/compare?symbols=...Common mistakes
- Calling snapshot, valuation, fundamentals, technicals, filings, and insider for every symbol before using compare.
- Comparing more than 4 symbols in one call.
- Treating omitted fields as zero.
- Ignoring
fields_omitted_by_symbol. - Saying “best stock to buy” when the route only returned a scorecard.