{"record":{"id":"48ef2ddef56e05e9","repo":"ScrapeGraphAI/Scrapegraph-ai","slug":"the-browserbase-module-is-not-installed-please-in","errorCode":null,"errorMessage":"The browserbase module is not installed. Please install it using `pip install browserbase`.","messagePattern":"The browserbase module is not installed\\. Please install it using `pip install browserbase`\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"scrapegraphai/docloaders/browser_base.py","lineNumber":34,"sourceCode":"    \"\"\"\n    BrowserBase Fetch\n\n    This module provides an interface to the BrowserBase API.\n\n    Args:\n        api_key (str): The API key provided by BrowserBase.\n        project_id (str): The ID of the project on BrowserBase where you want to fetch data from.\n        link (List[str]): The URLs or links that you want to fetch data from.\n        text_content (bool): Whether to return only the text content (True) or the full HTML (False).\n        async_mode (bool): Whether to run the function asynchronously (True) or synchronously (False).\n\n    Returns:\n        List[str]: The results of the loading operations.\n    \"\"\"\n    try:\n        from browserbase import Browserbase\n    except ImportError:\n        raise ImportError(\n            \"The browserbase module is not installed. Please install it using `pip install browserbase`.\"\n        )\n\n    # Initialize client with API key\n    browserbase = Browserbase(api_key=api_key)\n\n    # Create session with project ID\n    session = browserbase.sessions.create(project_id=project_id)\n\n    result = []\n\n    async def _async_fetch_link(url):\n        return await asyncio.to_thread(session.load, url, text_content=text_content)\n\n    if async_mode:\n\n        async def _async_browser_base_fetch():\n            for url in link:","sourceCodeStart":16,"sourceCodeEnd":52,"githubUrl":"https://github.com/ScrapeGraphAI/Scrapegraph-ai/blob/532dfffbf6ee823a6c9cf8cfedc24a93bf026780/scrapegraphai/docloaders/browser_base.py#L16-L52","documentation":"RAGNode validates node_config['client_type'] and raises this ValueError when it is not one of the supported values: 'memory' (or None/absent, in-memory Qdrant), 'local_db' (persistent local storage), or 'image' (Qdrant server URL). Any other string is rejected before a client is constructed.","triggerScenarios":"Setting client_type to an unsupported value such as 'remote', 'cloud', 'server', or a typo like 'Memory' (case-sensitive) in the RAG node config.","commonSituations":"Assuming a 'cloud'/'remote' option exists for Qdrant Cloud; typos or wrong casing; copying config snippets from tutorials targeting a different library version.","solutions":["Use one of the supported values: omit client_type or set 'memory', 'local_db', or 'image'.","For a remote Qdrant server use client_type='image' (client connects to http://localhost:6333 by default).","Check the installed version's RAGNode source/docs for newly supported client types."],"exampleFix":"# before\nconfig = {\"client_type\": \"remote\"}\n\n# after\nconfig = {\"client_type\": \"image\"}  # or \"memory\" / \"local_db\"","handlingStrategy":"type-guard","validationCode":"VALID = {\"memory\", \"local_db\", \"image\", None}\nif node_config.get(\"client_type\") not in VALID:\n    raise ValueError(f\"client_type must be one of {VALID}\")","typeGuard":"def is_valid_client_type(ct: str | None) -> bool:\n    return ct in {\"memory\", \"local_db\", \"image\", None}","tryCatchPattern":"try:\n    result = rag_graph.run()\nexcept ValueError as e:\n    if \"client_type\" in str(e):\n        # correct client_type in config and retry\n        ...","preventionTips":["Restrict client_type in config templates to the documented values.","Validate config against the supported enum before launching expensive graph runs."],"tags":["config","qdrant","rag","validation","invalid-value"],"backgroundTag":"invalid-config-value","analyzedSha":"532dfffbf6ee823a6c9cf8cfedc24a93bf026780","analyzedAt":"2026-08-28T15:19:38.821Z","schemaVersion":2},"datasetVersion":"2026-08-28T16:17:29.566Z"}