OpenBB-finance/OpenBB · error · ValueError
Symbol is required for Intrinio.
Error message
Symbol is required for Intrinio.
What it means
A Pydantic field_validator (mode='before') on the Intrinio company-filings query params: the Intrinio filings endpoint is per-symbol, so a falsy symbol ('', None) raises ValueError immediately at request-model construction, before any network call. This intentionally rejects the generic 'all filings' pattern other providers allow.
Source
Thrown at openbb_platform/providers/intrinio/openbb_intrinio/models/company_filings.py:55
end_date: dateType | None = Field(
default=None,
description=QUERY_DESCRIPTIONS["end_date"],
)
limit: int | None = Field(
default=None,
description=QUERY_DESCRIPTIONS["limit"],
)
thea_enabled: bool | None = Field(
default=None,
description="Return filings that have been read by Intrinio's Thea NLP.",
)
@field_validator("symbol", mode="before", check_fields=False)
@classmethod
def _validate_symbol(cls, v):
"""Validate symbol."""
if not v:
raise ValueError("Symbol is required for Intrinio.")
return v
class IntrinioCompanyFilingsData(CompanyFilingsData):
"""Intrinio Company Filings Data."""
id: str = Field(description="Intrinio ID of the filing.")
period_end_date: dateType | None = Field(
default=None,
description="Ending date of the fiscal period for the filing.",
)
accepted_date: datetime | None = Field(
default=None, description="Accepted date of the filing."
)
sec_unique_id: str = Field(description="SEC unique ID of the filing.")
filing_url: str | None = Field(default=None, description="URL to the filing page.")
instance_url: str | None = Field(
default=None,View on GitHub (pinned to 3e071fcc2c)
Solutions
- Always pass a concrete symbol: obb.equity.filings(provider='intrinio', symbol='AAPL').
- Sanitize ticker lists upstream - filter out empty/None before looping.
- If you need market-wide filings, use a provider that supports no-symbol queries or iterate symbols explicitly.
Example fix
# before
obb.equity.filings(provider='intrinio') # ValueError: Symbol is required for Intrinio.
# after
obb.equity.filings(provider='intrinio', symbol='AAPL')
# batch: skip blanks
for sym in filter(None, map(str.strip, symbols)):
obb.equity.filings(provider='intrinio', symbol=sym) Defensive patterns
Strategy: validation
Validate before calling
symbols = [s.strip().upper() for s in symbols if s and s.strip()]
if not symbols:
raise ValueError('symbol list empty after cleaning')
for sym in symbols:
obb.equity.filings(provider='intrinio', symbol=sym) Type guard
def is_valid_symbol(sym: object) -> bool:
return isinstance(sym, str) and bool(sym.strip()) Try / catch
try:
res = obb.equity.filings(provider='intrinio', symbol=symbol)
except ValueError as e:
if 'Symbol is required' in str(e):
symbol = prompt_for_symbol() # or skip iteration
raise Prevention
- Filter empty/None tickers from lists before looping
- Remember Intrinio filings are per-symbol - always pass one
- Centralize symbol sanitization (strip/upper) in one helper
When it happens
Trigger: Calling obb.equity.filings(provider='intrinio') without a symbol, or with symbol='' / None (e.g. a loop where the symbol variable is empty for some tickers, or a default config that other providers tolerate).
Common situations: Porting code from providers that allow symbolless filings queries; batch scripts iterating a ticker list containing empty strings after cleaning; notebooks relying on a global symbol set elsewhere.
Related errors
- Required field missing -> symbol
- Unsupported file format. Please use .json or .env files.
- Failed to get Jupyter URL
- Invalid extension type(s): {', '.join(invalid)}. Valid choic
- At least one extension type must be selected.
AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14).
Data as JSON: /api/errors/6d6f1f3b7c7e3758.
Report an issue: GitHub.