Skip to content
noxstock
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/fundamentals only 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, and cache_age_seconds from the compare payload.
  • fields_requested so readers know what the scorecard included.
  • fields_omitted_by_symbol so missing stock-only or unsupported fields stay visible.
  • _usd and _pct units, 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.

Next