BerriAI/litellm · error · ValueError

EXA_API_KEY is not set. Set `EXA_API_KEY` environment variab

Error message

EXA_API_KEY is not set. Set `EXA_API_KEY` environment variable.

What it means

Error "EXA_API_KEY is not set. Set `EXA_API_KEY` environment variable." thrown in BerriAI/litellm.

Source

Thrown at litellm/llms/exa_ai/search/transformation.py:74

    def validate_environment(
        self,
        headers: dict,
        api_key: str | None = None,
        api_base: str | None = None,
        **kwargs,
    ) -> dict:
        """
        Validate environment and return headers.
        """
        api_key = self.resolve_server_api_key(
            caller_api_key=api_key,
            caller_api_base=api_base,
            key_env_vars=("EXA_API_KEY",),
            base_env_var="EXA_API_BASE",
            default_api_base=self.EXA_AI_API_BASE,
        )
        if not api_key:
            raise ValueError("EXA_API_KEY is not set. Set `EXA_API_KEY` environment variable.")
        headers["x-api-key"] = api_key
        headers["Content-Type"] = "application/json"
        return headers

    def get_complete_url(
        self,
        api_base: str | None,
        optional_params: dict,
        data: dict | list[dict] | None = None,
        **kwargs,
    ) -> str:
        """
        Get complete URL for Search endpoint.
        """
        api_base = api_base or get_secret_str("EXA_API_BASE") or self.EXA_AI_API_BASE

        # Append "/search" to the api base if it's not already there
        if not api_base.endswith("/search"):

View on GitHub (pinned to 6c2dcb801b)

Solutions

  1. Set EXA_API_KEY in the environment.

When it happens

Trigger: Thrown at litellm/llms/exa_ai/search/transformation.py:74 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@6c2dcb801b (2026-08-15). Data as JSON: /api/errors/926b6d72370303ab. Report an issue: GitHub.