OpenBB-finance/OpenBB · warning · EmptyDataError
No data was returned from FMP query.
Error message
No data was returned from FMP query.
What it means
Raised by FMPWorldNewsFetch.transform_data when get_data_many returned an empty list for the FMP stock-news endpoint. The fetcher already sorted successfully, so the HTTP call itself worked; FMP simply had zero articles matching the query parameters.
Source
Thrown at openbb_platform/providers/fmp/openbb_fmp/models/world_news.py:107
else:
base_url = f"{base_url}news/{query.topic.replace('_', '-')}-latest?"
url = (
base_url
+ f"from={query.start_date}&to={query.end_date}"
+ f"&limit={query.limit if query.limit else 250}&page={query.page if query.page else 0}&apikey={api_key}"
)
results: list = await get_data_many(url, **kwargs)
return sorted(results, key=lambda x: x["publishedDate"], reverse=True)
@staticmethod
def transform_data(
query: FMPWorldNewsQueryParams, data: list, **kwargs: Any
) -> list[FMPWorldNewsData]:
"""Return the transformed data."""
if not data:
raise EmptyDataError("No data was returned from FMP query.")
return [FMPWorldNewsData.model_validate(d) for d in data]
View on GitHub (pinned to 3e071fcc2c)
Solutions
- Drop the page parameter or reset it to 0
- Widen or remove the date filters - FMP news coverage is recent-only
- Remove the symbols filter to get general world news and confirm data flows at all
- Use another news provider (benzinga, biztoc, fmp, tiingo) via the news router
Example fix
# before news = await obb.news.world(provider='fmp', page=5).await_to_list() # after news = await obb.news.world(provider='fmp', page=0, limit=250).await_to_list()
Defensive patterns
Strategy: validation
Validate before calling
# FMP news history is shallow - clamp the requested window and page from datetime import datetime, timedelta newest = datetime.utcnow() - timedelta(days=1) oldest = datetime.utcnow() - timedelta(days=30) assert start_date >= oldest.date() and end_date <= newest.date() and page == 0
Try / catch
from openbb_core.provider.utils.errors import EmptyDataError
try:
news = await obb.news.world(provider='fmp', page=page).await_to_list()
except EmptyDataError:
news = [] # page beyond results - stop paginating Prevention
- Stop paginating as soon as one page returns EmptyDataError instead of probing further pages
- Keep date windows inside FMP's recent-news coverage
- Prefer providers with deeper news archives for historical analysis
When it happens
Trigger: Calling the FMP world/stock news endpoint with a symbols filter that has no recent articles, a page number beyond available results, or a date window outside FMP's coverage (FMP news history is shallow, typically only recent weeks/months).
Common situations: Paginating past the last page, filtering by a sparsely-covered ticker, or requesting older dates than FMP retains for news; free-tier keys receive fewer articles per day.
Related errors
- The request was returned empty.
- No data returned for the given symbols.
- The request was returned empty.
- No data found for the given query -> {query.model_dump()}
- Required field missing -> symbol
AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14).
Data as JSON: /api/errors/57676bc84befb682.
Report an issue: GitHub.