OpenBB-finance/OpenBB · warning · EmptyDataError
No results were found with the query supplied. -> {query.que
Error message
No results were found with the query supplied. -> {query.query} Hint: Names and descriptions are not searchable from Intrinio, try 3-letter symbols. What it means
Raised in IntrinioCurrencyPairsFetcher.transform_data after the full pairs DataFrame was filtered by query.query and zero rows matched. The pandas filter does a case-insensitive substring match on code, base_currency, and quote_currency only — names and descriptions are not in this dataset, hence the hint in the message.
Source
Thrown at openbb_platform/providers/intrinio/openbb_intrinio/models/currency_pairs.py:83
@staticmethod
def transform_data(
query: IntrinioCurrencyPairsQueryParams, data: list[dict], **kwargs: Any
) -> list[IntrinioCurrencyPairsData]:
"""Return the transformed data."""
# pylint: disable=import-outside-toplevel
from pandas import DataFrame
if not data:
raise EmptyDataError("The request was returned empty.")
df = DataFrame(data)
if query.query:
df = df[
df["code"].str.contains(query.query, case=False)
| df["base_currency"].str.contains(query.query, case=False)
| df["quote_currency"].str.contains(query.query, case=False)
]
if len(df) == 0:
raise EmptyDataError(
f"No results were found with the query supplied. -> {query.query}"
+ " Hint: Names and descriptions are not searchable from Intrinio, try 3-letter symbols."
)
return [
IntrinioCurrencyPairsData.model_validate(d)
for d in df.to_dict(orient="records")
]
View on GitHub (pinned to 3e071fcc2c)
Solutions
- Use 3-letter currency codes: query='eur' or query='usd'
- Search the base or quote currency code, not the pair word ('eur/usd' works via code substring, 'euro dollar' does not)
- Drop the query parameter and filter the returned DataFrame yourself on any column, including names, client-side
Example fix
# before
df = obb.currency.currency_pairs(provider="intrinio", query="euro dollar").to_df()
# after
df = obb.currency.currency_pairs(provider="intrinio").to_df()
df = df[df["base_currency"].str.contains("Euro", case=False) | df["quote_currency"].str.contains("Euro", case=False)] Defensive patterns
Strategy: validation
Validate before calling
import re
CURRENCY_CODE = re.compile(r"^[A-Za-z]{3}$")
def searchable_currency_query(q: str) -> bool:
"""Only 3-letter ISO codes reliably match code/base/quote columns."""
return bool(CURRENCY_CODE.match(q)) Try / catch
from openbb_core.provider.utils.errors import EmptyDataError
try:
df = obb.currency.currency_pairs(provider="intrinio", query=q).to_df()
except EmptyDataError:
df = obb.currency.currency_pairs(provider="intrinio").to_df()
df = df[df.apply(lambda r: q.lower() in str(r.to_dict()).lower(), axis=1)] # client-side filter Prevention
- Constrain search input to 3-letter ISO codes for intrinio currency pairs
- Filter the full DataFrame client-side to search names/descriptions
- Normalize case before passing query
When it happens
Trigger: Calling currency.currency_pairs(provider='intrinio', query='...') with a search string that matches no code/base/quote currency: full words like 'dollar' or 'yen', plural forms, or typos. Only 3-letter ISO codes (e.g. 'eur', 'usd', 'jpy') and their combinations match reliably.
Common situations: Users wiring a free-text search box straight into the query param; searching by currency name ('Euro') instead of code ('EUR'); assuming the filter searches the display name as some other providers do.
Related errors
- No data found.
- No strategies found for the given parameters.
- No results found for the provided query.
- Error: The request was returned as empty. Try adjusting the
- The request was returned empty.
AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14).
Data as JSON: /api/errors/ecab371adf71e3a6.
Report an issue: GitHub.