{"record":{"id":"b26173bd789f1f60","repo":"BerriAI/litellm","slug":"searchapi-api-key-is-not-set-set-searchapi-api-k","errorCode":null,"errorMessage":"SEARCHAPI_API_KEY is not set. Set `SEARCHAPI_API_KEY` environment variable.","messagePattern":"SEARCHAPI_API_KEY is not set\\. Set `SEARCHAPI_API_KEY` environment variable\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"litellm/llms/searchapi/search/transformation.py","lineNumber":86,"sourceCode":"        self,\n        headers: dict,\n        api_key: str | None = None,\n        api_base: str | None = None,\n        **kwargs,\n    ) -> dict:\n        \"\"\"\n        Validate environment and return headers.\n        \"\"\"\n        api_key = self.resolve_server_api_key(\n            caller_api_key=api_key,\n            caller_api_base=api_base,\n            key_env_vars=(\"SEARCHAPI_API_KEY\",),\n            base_env_var=\"SEARCHAPI_API_BASE\",\n            default_api_base=self.SEARCHAPI_API_BASE,\n        )\n\n        if not api_key:\n            raise ValueError(\"SEARCHAPI_API_KEY is not set. Set `SEARCHAPI_API_KEY` environment variable.\")\n\n        headers[\"Content-Type\"] = \"application/json\"\n\n        return headers\n\n    def get_complete_url(\n        self,\n        api_base: str | None,\n        optional_params: dict,\n        data: dict | list[dict] | None = None,\n        **kwargs,\n    ) -> str:\n        \"\"\"\n        Get complete URL for Search endpoint with query parameters.\n\n        SearchAPI.io uses GET requests and includes api_key in query params.\n        \"\"\"\n        api_base = api_base or get_secret_str(\"SEARCHAPI_API_BASE\") or self.SEARCHAPI_API_BASE","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/BerriAI/litellm/blob/77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8/litellm/llms/searchapi/search/transformation.py#L68-L104","documentation":"Validation guard in validate_environment: after resolve_server_api_key finds no caller api_key, no SEARCHAPI_API_KEY env var, and no server-side key config, the request cannot be authenticated to SearchApi and is rejected before any HTTP call.","triggerScenarios":"Triggered when calling SearchAPI search without SEARCHAPI_API_KEY set.","commonSituations":"See trigger scenarios.","solutions":["Set the SEARCHAPI_API_KEY environment variable."],"exampleFix":"os.environ[\"SEARCHAPI_API_KEY\"] = \"<key>\"","handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"77b7c6c40c0c5aa5fbcb1d6a1825ac39ca8829b8","analyzedAt":"2026-08-18T11:44:31.656Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}