GitHubBlog

Search Documentation

Search for a page in the docs

Symbol Search

OpenAlice has two different search tools for two different purposes:

  • marketSearchForResearch — Search for symbols to use with market data tools (profiles, financials, indicators). Works across all asset classes.
  • searchContracts — Search your connected broker accounts for tradeable contracts. Used before placing orders.

marketSearchForResearch

Unified cross-asset search for market data research. Covers three asset classes:

Asset ClassSourceSpeed
EquityLocal SEC/TMX cache (~13k US/CA stocks)Instant (regex match, no network)
CryptoYahoo Finance online search~1-2 seconds
CurrencyYahoo Finance online search (filtered to XXXUSD pairs)~1-2 seconds

All results include an assetClass field so you know which category each symbol belongs to. Searches run in parallel — equity results return immediately while crypto/currency queries complete.

You: Search for anything related to "nvidia"

Alice: Found 3 results:
  • NVDA (equity) — NVIDIA Corp
  • NVDA240621C00130000 (equity) — options chain
  ...

Use this tool to find the correct symbol before calling data tools like equityGetProfile, equityGetFinancials, or calculateIndicator.

searchContracts

Broker-level search that queries your connected trading accounts for contracts you can actually trade. Returns aliceId values needed for placing orders.

You: Search for AAPL contracts I can trade

Alice: Found on alpaca-paper:
  • alpaca-paper|AAPL — Apple Inc (US equity)

The aliceId format is accountId|nativeKey — this is what you pass to placeOrder, getQuote, and other trading tools.

Symbol Index

The equity symbol index is a local cache of ~13,000 US and Canadian stock symbols sourced from SEC and TMX listings. It's loaded once on startup and supports instant regex matching — no network calls needed for equity symbol lookups.

Data Backend Configuration

Market data uses one of two backends, configured in data/config/market-data.json:

{
  "backend": "typebb-sdk",
  "providers": {
    "equity": "yfinance",
    "crypto": "yfinance",
    "currency": "yfinance"
  },
  "providerKeys": {}
}
FieldDescription
backendtypebb-sdk (in-process, default) or openbb-api (remote HTTP)
providersDefault data provider per asset class
providerKeysAPI keys for premium providers (FMP, FRED, Benzinga, etc.)

The default typebb-sdk backend runs entirely in-process — no external sidecar or Docker container needed. Switch to openbb-api if you run an OpenBB API server separately.