[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2194":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":38,"readmeContent":39,"aiSummary":40,"trendingCount":16,"starSnapshotCount":16,"syncStatus":41,"lastSyncTime":42,"discoverSource":43},2194,"gpt-researcher","assafelovic\u002Fgpt-researcher","assafelovic","An autonomous agent that conducts deep research on any data using any LLM providers","https:\u002F\u002Fgptr.dev",null,"Python",27641,3721,172,178,0,26,140,648,125,45,"Apache License 2.0",false,"main",true,[27,28,29,30,31,32,33,34,35,36,37],"agent","ai","automation","deepresearch","llms","mcp","mcp-server","python","research","search","webscraping","2026-06-12 02:00:38","\u003Cdiv align=\"center\" id=\"top\">\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fassafelovic\u002Fgpt-researcher\u002Fassets\u002F13554167\u002F20af8286-b386-44a5-9a83-3be1365139c3\" alt=\"Logo\" width=\"80\">\n\n####\n\n[![Website](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FOfficial%20Website-gptr.dev-teal?style=for-the-badge&logo=world&logoColor=white&color=0891b2)](https:\u002F\u002Fgptr.dev)\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDocumentation-DOCS-f472b6?logo=googledocs&logoColor=white&style=for-the-badge)](https:\u002F\u002Fdocs.gptr.dev)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F1127851779011391548?logo=discord&logoColor=white&label=Discord&color=34b76a&style=for-the-badge)](https:\u002F\u002Fdiscord.gg\u002FQgZXvJAccX)\n\n\n[![PyPI version](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fgpt-researcher?logo=pypi&logoColor=white&style=flat)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fgpt-researcher)\n![GitHub Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fassafelovic\u002Fgpt-researcher?style=flat&logo=github)\n[![Open In Colab](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?message=Open%20in%20Colab&logo=googlecolab&labelColor=grey&color=yellow&label=%20&style=flat&logoSize=40)](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002Fassafelovic\u002Fgpt-researcher\u002Fblob\u002Fmaster\u002Fdocs\u002Fdocs\u002Fexamples\u002Fpip-run.ipynb)\n[![Docker Image Version](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fv\u002Felestio\u002Fgpt-researcher\u002Flatest?arch=amd64&style=flat&logo=docker&logoColor=white&color=1D63ED)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fgptresearcher\u002Fgpt-researcher)\n[![Skill](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FClaude%20Skill-skills.sh-blueviolet?style=flat&logo=anthropic&logoColor=white)](https:\u002F\u002Fskills.sh\u002Fassafelovic\u002Fgpt-researcher\u002Fgpt-researcher)\n[![Twitter Follow](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fassaf_elovic?style=social)](https:\u002F\u002Ftwitter.com\u002Fassaf_elovic)\n\n[English](README.md) | [中文](README-zh_CN.md) | [日本語](README-ja_JP.md) | [한국어](README-ko_KR.md)\n\n\u003C\u002Fdiv>\n\n# 🔎 GPT Researcher\n\n**GPT Researcher the first open deep research agent designed for both web and local research on any given task.** \n\nThe agent produces detailed, factual, and unbiased research reports with citations. GPT Researcher provides a full suite of customization options to create tailor made and domain specific research agents. Inspired by the recent [Plan-and-Solve](https:\u002F\u002Farxiv.org\u002Fabs\u002F2305.04091) and [RAG](https:\u002F\u002Farxiv.org\u002Fabs\u002F2005.11401) papers, GPT Researcher addresses misinformation, speed, determinism, and reliability by offering stable performance and increased speed through parallelized agent work.\n\n**Our mission is to empower individuals and organizations with accurate, unbiased, and factual information through AI.**\n\n## Why GPT Researcher?\n\n- Objective conclusions for manual research can take weeks, requiring vast resources and time.\n- LLMs trained on outdated information can hallucinate, becoming irrelevant for current research tasks.\n- Current LLMs have token limitations, insufficient for generating long research reports.\n- Limited web sources in existing services lead to misinformation and shallow results.\n- Selective web sources can introduce bias into research tasks.\n\n## Demo\n\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=f60rlc_QCxE\" target=\"_blank\" rel=\"noopener\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fac2ec55f-b487-4b3f-ae6f-b8743ad296e4\" alt=\"Demo video\" width=\"800\" target=\"_blank\" \u002F>\n\u003C\u002Fa>\n\n## Install as Claude Skill\n\nExtend Claude's deep research capabilities by installing GPT Researcher as a [Claude Skill](https:\u002F\u002Fskills.sh\u002Fassafelovic\u002Fgpt-researcher\u002Fgpt-researcher):\n\n```bash\nnpx skills add assafelovic\u002Fgpt-researcher\n```\n\nOnce installed, Claude can leverage GPT Researcher's deep research capabilities directly within your conversations.\n\n## Architecture\n\nThe core idea is to utilize 'planner' and 'execution' agents. The planner generates research questions, while the execution agents gather relevant information. The publisher then aggregates all findings into a comprehensive report.\n\n\u003Cdiv align=\"center\">\n\u003Cimg align=\"center\" height=\"600\" src=\"https:\u002F\u002Fgithub.com\u002Fassafelovic\u002Fgpt-researcher\u002Fassets\u002F13554167\u002F4ac896fd-63ab-4b77-9688-ff62aafcc527\">\n\u003C\u002Fdiv>\n\nSteps:\n* Create a task-specific agent based on a research query.\n* Generate questions that collectively form an objective opinion on the task.\n* Use a crawler agent for gathering information for each question.\n* Summarize and source-track each resource.\n* Filter and aggregate summaries into a final research report.\n\n## Tutorials\n - [How it Works](https:\u002F\u002Fdocs.gptr.dev\u002Fblog\u002Fbuilding-gpt-researcher)\n - [How to Install](https:\u002F\u002Fwww.loom.com\u002Fshare\u002F04ebffb6ed2a4520a27c3e3addcdde20?sid=da1848e8-b1f1-42d1-93c3-5b0b9c3b24ea)\n - [Live Demo](https:\u002F\u002Fwww.loom.com\u002Fshare\u002F6a3385db4e8747a1913dd85a7834846f?sid=a740fd5b-2aa3-457e-8fb7-86976f59f9b8)\n\n## Features\n\n- 📝 Generate detailed research reports using web and local documents.\n- 🖼️ Smart image scraping and filtering for reports.\n- 🍌 **AI-generated inline images** using Google Gemini (Nano Banana) for visual illustrations.\n- 📜 Generate detailed reports exceeding 2,000 words.\n- 🌐 Aggregate over 20 sources for objective conclusions.\n- 🖥️ Frontend available in lightweight (HTML\u002FCSS\u002FJS) and production-ready (NextJS + Tailwind) versions.\n- 🔍 JavaScript-enabled web scraping.\n- 📂 Maintains memory and context throughout research.\n- 📄 Export reports to PDF, Word, and other formats.\n\n## 📖 Documentation\n\nSee the [Documentation](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fgetting-started) for:\n- Installation and setup guides\n- Configuration and customization options\n- How-To examples\n- Full API references\n\n## ⚙️ Getting Started\n\n### Installation\n\n1. Install Python 3.11 or later. [Guide](https:\u002F\u002Fwww.tutorialsteacher.com\u002Fpython\u002Finstall-python).\n2. Clone the project and navigate to the directory:\n\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fassafelovic\u002Fgpt-researcher.git\n    cd gpt-researcher\n    ```\n\n3. Set up API keys by exporting them or storing them in a `.env` file.\n\n    ```bash\n    export OPENAI_API_KEY={Your OpenAI API Key here}\n    export TAVILY_API_KEY={Your Tavily API Key here}\n    ```\n\n    (Optional) For enhanced tracing and observability, you can also set:\n    \n    ```bash\n    # export LANGCHAIN_TRACING_V2=true\n    # export LANGCHAIN_API_KEY={Your LangChain API Key here}\n    ```\n\n    For custom OpenAI-compatible APIs (e.g., local models, other providers), you can also set:\n    \n    ```bash\n    export OPENAI_BASE_URL={Your custom API base URL here}\n    ```\n\n4. Install dependencies and start the server:\n\n    ```bash\n    pip install -r requirements.txt\n    python -m uvicorn main:app --reload\n    ```\n\nVisit [http:\u002F\u002Flocalhost:8000](http:\u002F\u002Flocalhost:8000) to start.\n\nFor other setups (e.g., Poetry or virtual environments), check the [Getting Started page](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fgetting-started).\n\n## Run as PIP package\n```bash\npip install gpt-researcher\n\n```\n### Example Usage:\n```python\n...\nfrom gpt_researcher import GPTResearcher\n\nquery = \"why is Nvidia stock going up?\"\nresearcher = GPTResearcher(query=query)\n# Conduct research on the given query\nresearch_result = await researcher.conduct_research()\n# Write the report\nreport = await researcher.write_report()\n...\n```\n\n**For more examples and configurations, please refer to the [PIP documentation](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fgptr\u002Fpip-package) page.**\n\n### 🔧 MCP Client\nGPT Researcher supports MCP integration to connect with specialized data sources like GitHub repositories, databases, and custom APIs. This enables research from data sources alongside web search.\n\n```bash\nexport RETRIEVER=tavily,mcp  # Enable hybrid web + MCP research\n```\n\n```python\nfrom gpt_researcher import GPTResearcher\nimport asyncio\nimport os\n\nasync def mcp_research_example():\n    # Enable MCP with web search\n    os.environ[\"RETRIEVER\"] = \"tavily,mcp\"\n    \n    researcher = GPTResearcher(\n        query=\"What are the top open source web research agents?\",\n        mcp_configs=[\n            {\n                \"name\": \"github\",\n                \"command\": \"npx\",\n                \"args\": [\"-y\", \"@modelcontextprotocol\u002Fserver-github\"],\n                \"env\": {\"GITHUB_TOKEN\": os.getenv(\"GITHUB_TOKEN\")}\n            }\n        ]\n    )\n    \n    research_result = await researcher.conduct_research()\n    report = await researcher.write_report()\n    return report\n```\n\n> For comprehensive MCP documentation and advanced examples, visit the [MCP Integration Guide](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fretrievers\u002Fmcp-configs).\n\n## 🍌 Inline Image Generation\n\nGPT Researcher can automatically generate and embed AI-created illustrations in your research reports using Google's Gemini models (Nano Banana).\n\n```bash\n# Enable in your .env file\nIMAGE_GENERATION_ENABLED=true\nGOOGLE_API_KEY=your_google_api_key\nIMAGE_GENERATION_MODEL=models\u002Fgemini-2.5-flash-image\n```\n\nWhen enabled, the system will:\n1. Analyze your research context to identify visualization opportunities\n2. Pre-generate 2-3 relevant images during the research phase\n3. Embed them inline as the report is written\n\nImages are generated with dark-mode styling that matches the GPT Researcher UI, featuring professional infographic aesthetics with teal accents.\n\n[Learn more about Image Generation](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fgptr\u002Fimage_generation) in our documentation.\n\n## ✨ Deep Research\n\nGPT Researcher now includes Deep Research - an advanced recursive research workflow that explores topics with agentic depth and breadth. This feature employs a tree-like exploration pattern, diving deeper into subtopics while maintaining a comprehensive view of the research subject.\n\n- 🌳 Tree-like exploration with configurable depth and breadth\n- ⚡️ Concurrent processing for faster results\n- 🤝 Smart context management across research branches\n- ⏱️ Takes ~5 minutes per deep research\n- 💰 Costs ~$0.4 per research (using `o3-mini` on \"high\" reasoning effort)\n\n[Learn more about Deep Research](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fgptr\u002Fdeep_research) in our documentation.\n\n## Run with Docker\n\n> **Step 1** - [Install Docker](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fgetting-started\u002Fgetting-started-with-docker)\n\n> **Step 2** - Clone the '.env.example' file, add your API Keys to the cloned file and save the file as '.env'\n\n> **Step 3** - Within the docker-compose file comment out services that you don't want to run with Docker.\n\n```bash\ndocker-compose up --build\n```\n\nIf that doesn't work, try running it without the dash:\n```bash\ndocker compose up --build\n```\n\n> **Step 4** - By default, if you haven't uncommented anything in your docker-compose file, this flow will start 2 processes:\n - the Python server running on localhost:8000\u003Cbr>\n - the React app running on localhost:3000\u003Cbr>\n\nVisit localhost:3000 on any browser and enjoy researching!\n\n\n## 📄 Research on Local Documents\n\nYou can instruct the GPT Researcher to run research tasks based on your local documents. Currently supported file formats are: PDF, plain text, CSV, Excel, Markdown, PowerPoint, and Word documents.\n\nStep 1: Add the env variable `DOC_PATH` pointing to the folder where your documents are located.\n\n```bash\nexport DOC_PATH=\".\u002Fmy-docs\"\n```\n\nStep 2: \n - If you're running the frontend app on localhost:8000, simply select \"My Documents\" from the \"Report Source\" Dropdown Options.\n - If you're running GPT Researcher with the [PIP package](https:\u002F\u002Fdocs.tavily.com\u002Fguides\u002Fgpt-researcher\u002Fgpt-researcher#pip-package), pass the `report_source` argument as \"local\" when you instantiate the `GPTResearcher` class [code sample here](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fcontext\u002Ftailored-research).\n\n\n## 🤖 MCP Server\n\nWe've moved our MCP server to a dedicated repository: [gptr-mcp](https:\u002F\u002Fgithub.com\u002Fassafelovic\u002Fgptr-mcp).\n\nThe GPT Researcher MCP Server enables AI applications like Claude to conduct deep research. While LLM apps can access web search tools with MCP, GPT Researcher MCP delivers deeper, more reliable research results.\n\nFeatures:\n- Deep research capabilities for AI assistants\n- Higher quality information with optimized context usage\n- Comprehensive results with better reasoning for LLMs\n- Claude Desktop integration\n\nFor detailed installation and usage instructions, please visit the [official repository](https:\u002F\u002Fgithub.com\u002Fassafelovic\u002Fgptr-mcp).\n\n\n## 👪 Multi-Agent Assistant\nAs AI evolves from prompt engineering and RAG to multi-agent systems, we're excited to introduce multi-agent assistants built with [LangGraph](https:\u002F\u002Fpython.langchain.com\u002Fv0.1\u002Fdocs\u002Flanggraph\u002F) and [AG2](https:\u002F\u002Fgithub.com\u002Fag2ai\u002Fag2).\n\nBy using multi-agent frameworks, the research process can be significantly improved in depth and quality by leveraging multiple agents with specialized skills. Inspired by the recent [STORM](https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.14207) paper, this project showcases how a team of AI agents can work together to conduct research on a given topic, from planning to publication.\n\nAn average run generates a 5-6 page research report in multiple formats such as PDF, Docx and Markdown.\n\nCheck it out [here](https:\u002F\u002Fgithub.com\u002Fassafelovic\u002Fgpt-researcher\u002Ftree\u002Fmaster\u002Fmulti_agents) or head over to our documentation for [LangGraph](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fmulti_agents\u002Flanggraph) and [AG2](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Fmulti_agents\u002Fag2) for more information.\n\n## 🔍 Observability\n\nGPT Researcher supports **LangSmith** for enhanced tracing and observability, making it easier to debug and optimize complex multi-agent workflows.\n\nTo enable tracing:\n1. Set the following environment variables:\n   ```bash\n   export LANGCHAIN_TRACING_V2=true\n   export LANGCHAIN_API_KEY=your_api_key\n   export LANGCHAIN_PROJECT=\"gpt-researcher\"\n   ```\n2. Run your research tasks as usual. All LangGraph-based agent interactions will be automatically traced and visualized in your LangSmith dashboard.\n\n## 🖥️ Frontend Applications\n\nGPT-Researcher now features an enhanced frontend to improve the user experience and streamline the research process. The frontend offers:\n\n- An intuitive interface for inputting research queries\n- Real-time progress tracking of research tasks\n- Interactive display of research findings\n- Customizable settings for tailored research experiences\n\nTwo deployment options are available:\n1. A lightweight static frontend served by FastAPI\n2. A feature-rich NextJS application for advanced functionality\n\nFor detailed setup instructions and more information about the frontend features, please visit our [documentation page](https:\u002F\u002Fdocs.gptr.dev\u002Fdocs\u002Fgpt-researcher\u002Ffrontend\u002Fintroduction).\n\n## 🚀 Contributing\nWe highly welcome contributions! Please check out [contributing](https:\u002F\u002Fgithub.com\u002Fassafelovic\u002Fgpt-researcher\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) if you're interested.\n\nPlease check out our [roadmap](https:\u002F\u002Ftrello.com\u002Fb\u002F3O7KBePw\u002Fgpt-researcher-roadmap) page and reach out to us via our [Discord community](https:\u002F\u002Fdiscord.gg\u002FQgZXvJAccX) if you're interested in joining our mission.\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fassafelovic\u002Fgpt-researcher\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Fcontrib.rocks\u002Fimage?repo=assafelovic\u002Fgpt-researcher&max=1000\" \u002F>\n\u003C\u002Fa>\n## ✉️ Support \u002F Contact us\n- [Community Discord](https:\u002F\u002Fdiscord.gg\u002FspBgZmm3Xe)\n- Author Email: assaf.elovic@gmail.com\n\n## 🛡 Disclaimer\n\nThis project, GPT Researcher, is an experimental application and is provided \"as-is\" without any warranty, express or implied. We are sharing codes for academic purposes under the Apache 2 license. Nothing herein is academic advice, and NOT a recommendation to use in academic or research papers.\n\nOur view on unbiased research claims:\n1. The main goal of GPT Researcher is to reduce incorrect and biased facts. How? We assume that the more sites we scrape the less chances of incorrect data. By scraping multiple sites per research, and choosing the most frequent information, the chances that they are all wrong is extremely low.\n2. We do not aim to eliminate biases; we aim to reduce it as much as possible. **We are here as a community to figure out the most effective human\u002Fllm interactions.**\n3. In research, people also tend towards biases as most have already opinions on the topics they research about. This tool scrapes many opinions and will evenly explain diverse views that a biased person would never have read.\n\n---\n\n\u003Cp align=\"center\">\n\u003Ca href=\"https:\u002F\u002Fstar-history.com\u002F#assafelovic\u002Fgpt-researcher\">\n  \u003Cpicture>\n    \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=assafelovic\u002Fgpt-researcher&type=Date&theme=dark\" \u002F>\n    \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=assafelovic\u002Fgpt-researcher&type=Date\" \u002F>\n    \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=assafelovic\u002Fgpt-researcher&type=Date\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fa>\n\u003C\u002Fp>\n\n\n\u003Cp align=\"right\">\n  \u003Ca href=\"#top\">⬆️ Back to Top\u003C\u002Fa>\n\u003C\u002Fp>\n","GPT Researcher 是一个能够使用任何语言模型提供商进行深度数据研究的自主代理。该项目通过先进的计划与解决（Plan-and-Solve）及检索增强生成（RAG）技术，提供详细、客观且带有引用的研究报告，并支持高度定制化以适应特定领域的需求。其核心功能包括并行处理提高效率、减少错误信息传播以及确保结果的一致性和准确性。适用于需要快速获得详尽、准确研究成果的个人或组织，尤其是在传统方法耗时过长或现有语言模型无法满足需求的情况下。",2,"2026-06-11 02:48:48","top_language"]