OpenBB-finance/OpenBB · error · OpenBBError

Provider '{name}' not found in the registry.Available provid

Error message

Provider '{name}' not found in the registry.Available providers: {list(self.registry.providers.keys())}

What it means

OpenBBError from QueryExecutor.get_provider: it lowercases the requested provider name and looks it up in the provider registry (built from installed openbb-<provider> packages). If the name is absent - misspelled, or the package simply not installed in this environment - it raises this error listing every registered provider name.

Source

Thrown at openbb_platform/core/openbb_core/provider/query_executor.py:23

from openbb_core.app.model.abstract.error import OpenBBError
from openbb_core.provider.abstract.fetcher import Fetcher
from openbb_core.provider.abstract.provider import Provider
from openbb_core.provider.registry import Registry, RegistryLoader
from pydantic import SecretStr


class QueryExecutor:
    """Class to execute queries from providers."""

    def __init__(self, registry: Registry | None = None) -> None:
        """Initialize the query executor."""
        self.registry = registry or RegistryLoader.from_extensions()

    def get_provider(self, provider_name: str) -> Provider:
        """Get a provider from the registry."""
        name = provider_name.lower()
        if name not in self.registry.providers:
            raise OpenBBError(
                f"Provider '{name}' not found in the registry.Available providers: {list(self.registry.providers.keys())}"
            )
        return self.registry.providers[name]

    def get_fetcher(self, provider: Provider, model_name: str) -> type[Fetcher]:
        """Get a fetcher from a provider."""
        if model_name not in provider.fetcher_dict:
            raise OpenBBError(
                f"Fetcher not found for model '{model_name}' in provider '{provider.name}'."
            )
        return provider.fetcher_dict[model_name]

    @staticmethod
    def filter_credentials(
        credentials: dict[str, SecretStr] | None,
        provider: Provider,
        require_credentials: bool,
    ) -> dict[str, str]:

View on GitHub (pinned to 3e071fcc2c)

Solutions

  1. Pick a provider from the list in the error message (or obb.coverage.providers)
  2. Install the desired provider: pip install openbb-polygon
  3. Fix typos/case in the provider argument or in openbb_settings.json defaults
  4. Verify you are in the same virtualenv/conda env where the provider was installed

Example fix

# before
res = obb.equity.price.historical('AAPL', provider='polygon')  # not installed

# after
pip install openbb-polygon
res = obb.equity.price.historical('AAPL', provider='polygon')
Defensive patterns

Strategy: validation

Validate before calling

from openbb import obb

def provider_available(name: str) -> bool:
    return name.lower() in set(obb.coverage.providers)

Type guard

def is_registered_provider(obb, name: str) -> bool:
    return isinstance(name, str) and name.lower() in set(obb.coverage.providers)

Try / catch

from openbb_core.app.model.abstract.error import OpenBBError

try:
    res = obb.equity.price.historical('AAPL', provider=p)
except OpenBBError as e:
    if 'not found in the registry' in str(e):
        p = next(iter(set(obb.coverage.providers) & {'fmp', 'yfinance'}))
        res = obb.equity.price.historical('AAPL', provider=p)
    else:
        raise

Prevention

When it happens

Trigger: Calling a command with provider='FMP' works (lowercased), but provider='fmpp' or provider='polygon' when openbb-polygon is not installed raises this. Also occurs when a provider package was uninstalled but remains in user defaults, or when running in an environment where only the core is installed.

Common situations: Typos in provider names; assuming a provider ships with openbb core (only some do); virtualenv mismatch where the provider was installed in a different environment; defaults referencing a provider removed after an uninstall; case variants like 'BenZinga' are fine but 'benzinga-pro' is not.

Related errors


AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14). Data as JSON: /api/errors/bb84112d92e777a3. Report an issue: GitHub.