{"repo":"assafelovic/gpt-researcher","free":true,"listed":false,"github":"https://github.com/assafelovic/gpt-researcher","clone":"git clone https://github.com/assafelovic/gpt-researcher.git","description":"An autonomous agent that conducts deep research on any data using any LLM providers","language":"Python","stars":29004,"topics":["agent","ai","automation","deepresearch","llms","mcp","mcp-server","python","research","search","webscraping"],"license":"Apache-2.0","category":"research_agent","readme_excerpt":"<div align=\"center\" id=\"top\">\n\n<img src=\"https://github.com/assafelovic/gpt-researcher/assets/13554167/20af8286-b386-44a5-9a83-3be1365139c3\" alt=\"Logo\" width=\"80\">\n\n####\n\n[![Website](https://img.shields.io/badge/Official%20Website-gptr.dev-teal?style=for-the-badge&logo=world&logoColor=white&color=0891b2)](https://gptr.dev)\n[![Documentation](https://img.shields.io/badge/Documentation-DOCS-f472b6?logo=googledocs&logoColor=white&style=for-the-badge)](https://docs.gptr.dev)\n[![Discord](https://img.shields.io/discord/1127851779011391548?logo=discord&logoColor=white&label=Discord&color=34b76a&style=for-the-badge)](https://discord.gg/QgZXvJAccX)\n\n\n[![PyPI version](https://img.shields.io/pypi/v/gpt-researcher?logo=pypi&logoColor=white&style=flat)](https://badge.fury.io/py/gpt-researcher)\n![GitHub Release](https://img.shields.io/github/v/release/assafelovic/gpt-researcher?style=flat&logo=github)\n[![Open In Colab](https://img.shields.io/static/v1?message=Open%20in%20Colab&logo=googlecolab&labelColor=grey&color=yellow&label=%20&style=flat&logoSize=40)](https://colab.research.google.com/github/assafelovic/gpt-researcher/blob/master/docs/docs/examples/pip-run.ipynb)\n[![Docker Image Version](https://img.shields.io/docker/v/elestio/gpt-researcher/latest?arch=amd64&style=flat&logo=docker&logoColor=white&color=1D63ED)](https://hub.docker.com/r/gptresearcher/gpt-researcher)\n[![Skill](https://img.shields.io/badge/Claude%20Skill-skills.sh-blueviolet?style=flat&logo=anthropic&logoColor=white)](https://skills.sh/assafelovic/gpt-researcher/gpt-researcher)\n[![Twitter Follow](https://img.shields.io/twitter/follow/assaf_elovic?style=social)](https://twitter.com/assaf_elovic)\n\n[English](README.md) | [中文](README-zh_CN.md) | [日本語](README-ja_JP.md) | [한국어](README-ko_KR.md)\n\n</div>\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://arxiv.org/abs/2305.04091) and [RAG](https://arxiv.org/abs/2005.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<a href=\"https://www.youtube.com/watch?v=f60rlc_QCxE\" target=\"_blank\" rel=\"noopener\">\n  <img src=\"https://github.com/user-attachments/assets/ac2ec55f-b487-4b3f-ae6f-b8743ad296e4\" alt=\"Demo video\" width=\"800\" target=\"_blank\" />\n</a>\n\n## Install as Claude Skill\n\nExtend Claude's deep research capabilities by installing GPT Researcher as a [Claude Skill](https://skills.sh/assafelovic/gpt-researcher/gpt-researcher):\n\n```bash\nnpx skills add assafelovic/gpt-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<div align=\"center\">\n<img align=\"center\" height=\"600\" src=\"https://github.com/assafelovic/gpt-researcher/assets/13554167/4ac896fd-63ab-4b77-9688-ff62aafcc527\">\n</div>\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://docs.gptr.dev/blog/building-gpt-researcher)\n - [How to Install](https://www.loom.com/share/04ebffb6ed2a4520a27c3e3addcdde20?sid=da1848e8-b1f1-42d1-93c3-5b0b9c3b24ea)\n - [Live Demo](https://www.loom.com/share/6a3385db4e8747a1913dd85a7834846f?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/CSS/JS) 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://docs.gptr.dev/docs/gpt-researcher/getting-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://www.tutorialsteacher.com/python/install-python).\n2. Clone the project and navigate to the directory:\n\n    ```bash\n    git clone https://github.com/assafelovic/gpt-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://localhost:8000](http://localhost:8000) to start.\n\nFor other setups (e.g., Poetry or virtual environments), check the [Getting Started page](https://docs.gptr.dev/docs/gpt-researcher/getting-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://docs.gptr.dev/docs/gpt-researcher/gptr/pip-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/server-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://docs.gptr.dev/docs/gpt-researcher/retrievers/mcp-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/gemini-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://docs.gptr.dev/docs/gpt-researcher/gptr/image_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://docs.gptr.dev/docs/gpt-researcher/gptr/deep_research) in our documentation.\n\n## Run with Docker\n\n> **Step 1** - [Install Docker](https://docs.gptr.dev/docs/gpt-researcher/getting-st","default_branch":"main","files":762,"tree":[".claude/SKILL.md",".claude/references/adding-features.md",".claude/references/advanced-patterns.md",".claude/references/api-reference.md",".claude/references/architecture.md",".claude/references/components.md",".claude/references/config-reference.md",".claude/references/deep-research.md",".claude/references/flows.md",".claude/references/mcp.md",".claude/references/multi-agents.md",".claude/references/prompts.md",".claude/references/retrievers.md",".codex-plugin/plugin.json",".cursorignore",".cursorrules",".dockerignore",".env.example",".github/ISSUE_TEMPLATE/bug_report.md",".github/ISSUE_TEMPLATE/feature_request.md",".github/dependabot.yml",".github/workflows/build.yml",".github/workflows/deploy.yml",".github/workflows/docker-build.yml",".github/workflows/llm-costs.yml",".github/workflows/plugin-quality-gate.yml",".gitignore",".mcp.json",".python-version",".triage/all_results.json",".triage/batch_1.json",".triage/batch_2.json",".triage/batch_3.json",".triage/batch_4.json",".triage/batch_5.json",".triage/batch_6.json",".triage/batch_7.json",".triage/build_backlog.jq",".triage/comments/1076.md",".triage/comments/1079.md",".triage/comments/1098.md",".triage/comments/1105.md",".triage/comments/1131.md",".triage/comments/1232.md",".triage/comments/1254.md",".triage/comments/1279.md",".triage/comments/1391.md",".triage/comments/1398.md",".triage/comments/1415.md",".triage/comments/1684.md",".triage/comments/1685.md",".triage/comments/1696.md",".triage/comments/1702.md",".triage/comments/1707.md",".triage/comments/1744.md",".triage/comments/1745.md",".triage/comments/1747.md",".triage/comments/_auth.md",".triage/comments/_promo.md",".triage/draft_comments_bucketB.md",".triage/engagement.graphql",".triage/engagement.json",".triage/issues_raw.json",".triage/ranked.json",".triage/render.jq",".triage/result_1.json",".triage/result_2.json",".triage/result_3.json",".triage/result_4.json",".triage/result_5.json",".triage/result_6.json",".triage/result_7.json",".triage/sorted.json",".vscode/settings.json","CODE_OF_CONDUCT.md","CONTRIBUTING.md","CURSOR_RULES.md","Dockerfile","Dockerfile.fullstack","ISSUE_BACKLOG.md","LICENSE","PR_pr_feat-anthropic-real-usage-cost-tracking.md","PR_pr_fix-brave-snippet-bypasses-scraper.md","Procfile","README-ja_JP.md","README-ko_KR.md","README-zh_CN.md","README.md","SECURITY.md","backend/Dockerfile","backend/Procfile","backend/__init__.py","backend/chat/__init__.py","backend/chat/chat.py","backend/memory/__init__.py","backend/memory/draft.py","backend/memory/research.py","backend/report_type/__init__.py","backend/report_type/basic_report/__init__.py","backend/report_type/basic_report/basic_report.py","backend/report_type/deep_research/README.md","backend/report_type/deep_research/__init__.py","backend/report_type/deep_research/example.py","backend/report_type/deep_research/main.py","backend/report_type/detailed_report/README.md","backend/report_type/detailed_report/__init__.py","backend/report_type/detailed_report/detailed_report.py","backend/requirements.txt","backend/run_server.py","backend/runtime.txt","backend/server/__init__.py","backend/server/agent_discovery.py","backend/server/app.py","backend/server/logging_config.py","backend/server/multi_agent_runner.py","backend/server/report_store.py","backend/server/server_utils.py","backend/server/websocket_manager.py","backend/styles/pdf_styles.css","backend/utils.py","citation.cff","cli.py","deep_agents/BENCHMARK.md","deep_agents/README.md","deep_agents/SHARE_SUMMARY.md","deep_agents/__init__.py","deep_agents/agent.py","deep_agents/benchmark.py","deep_agents/benchmark_data/build_corpus.py","deep_agents/benchmark_data/internal_docs/board/board_memo_2026_strategy.pdf","deep_agents/benchmark_data/internal_docs/board/board_minutes_2024_06.md","deep_agents/benchmark_data/internal_docs/company_overview.md","deep_agents/benchmark_data/internal_docs/engineering/oncall_rotation.md","deep_agents/benchmark_data/internal_docs/engineering/simulation_cluster_usage.md","deep_agents/benchmark_data/internal_docs/engineering/veltrixos_release_notes_5_0_beta.md","deep_agents/benchmark_data/internal_docs/finance/erp_migration_notes.md","deep_agents/benchmark_data/internal_docs/finance/expense_policy.md","deep_agents/benchmark_data/internal_docs/hr/annual_leave_faq.md","deep_agents/benchmark_data/internal_docs/hr/onboarding_checklist.md","deep_agents/benchmark_data/internal_docs/hr/remote_work_policy.md","deep_agents/benchmark_data/internal_docs/it/access_review_2026.md","deep_agents/benchmark_data/internal_docs/it/incident_process.md","deep_agents/benchmark_data/internal_docs/it/laptop_runbook.md","deep_agents/benchmark_data/internal_docs/legal/dpa_template_notes.md","deep_agents/benchmark_data/internal_docs/marketing/brand_guidelines.md","deep_agents/benchmark_data/internal_docs/marketing/event_calendar_2026.md","deep_agents/benchmark_data/internal_docs/marketing/website_faq_draft.md","deep_agents/benchmark_data/internal_docs/ops/archive/q1_2024_ops_report.pdf","deep_agents/benchmark_data/internal_docs/ops/archive/q1_2025_ops_report.pdf","deep_agents/benchmark_data/internal_docs/ops/q1_2026_ops_report.pdf","deep_agents/benchmark_data/internal_docs/ops/site_commissioning_playbook.md","deep_agents/benchmark_data/internal_docs/ops/warehouse_safety_bulletin_march2026.md","deep_agents/benchmark_data/internal_docs/product/archive/vlx500_concept_2025_superseded.md","deep_agents/benchmark_data/internal_docs/product/vlx500_product_brief.docx","deep_agents/benchmark_data/internal_docs/sales/customer_reference_program.md","deep_agents/benchmark_data/internal_docs/sales/discount_approval_matrix.md","deep_agents/benchmark_data/internal_docs_src/board_memo_2026_strategy.md","deep_agents/benchmark_data/internal_docs_src/company_overview.md","deep_agents/benchmark_data/internal_docs_src/q1_2026_ops_report.md","deep_agents/benchmark_data/internal_docs_src/vlx500_product_brief.md","deep_agents/benchmark_results/baseline_files_check.json","deep_agents/benchmark_results/breadth_2026-07-04_22-39-24.json","deep_agents/benchmark_results/breadth_2026-07-04_22-44-58.json","deep_agents/benchmark_results/drb/baseline-tavily-deepagent_fact_result.txt","deep_agents/benchmark_results/drb/baseline-tavily-deepagent_race_result.txt","deep_agents/benchmark_results/drb/gptr-deepagent_fact_result.txt","deep_agents/benchmark_results/drb/gptr-deepagent_race_result.txt","deep_agents/benchmark_results/frames_2026-07-04_13-35-12_n20.json","deep_agents/benchmark_results/frames_2026-07-04_14-38-19_n20.json","deep_agents/benchmark_results/frames_2026-07-04_14-43-11_n20.json","deep_agents/benchmark_results/hybrid_2026-07-04_22-06-28.json","deep_agents/benchmark_results/hybrid_2026-07-04_22-16-55.json","deep_agents/benchmark_results/hybrid_2026-07-04_22-22-39.json","deep_agents/benchmark_results/hybrid_2026-07-05_14-29-57.json","deep_agents/benchmark_results/hybrid_2026-07-05_14-37-31.json","deep_agents/benchmark_results/hybrid_2026-07-05_14-43-50.json","deep_agents/benchmark_results/recency_2026-07-04_18-54-47.json","deep_agents/benchmark_results/recency_2026-07-04_19-10-24.json","deep_agents/benchmark_results/recency_2026-07-04_22-11-41.json","deep_agents/benchmark_results/reports_2026-07-04_14-33-21_n8.json","deep_agents/benchmark_results/simpleqa_2026-07-04_12-44-58_n2.json","deep_agents/benchmark_results/simpleqa_2026-07-04_13-07-09_n30.json","deep_agents/benchmark_results/simpleqa_2026-07-04_13-55-24_n30.json","deep_agents/benchmark_results/simpleqa_2026-07-04_14-19-50_n30.json","deep_agents/benchmark_results/simpleqa_2026-07-04_14-40-49_n30.json","deep_agents/breadth_benchmark.py","deep_agents/drb_generate.py","deep_agents/drb_harness.patch","deep_agents/hybrid_benchmark.py","deep_agents/main.py","deep_agents/recency_benchmark.py","deep_agents/report_benchmark.py","deep_agents/requirements.txt","deep_agents/task.json","deep_agents/tools.py","docker-compose.yml","docs/CNAME","docs/README.md","docs/babel.config.js","docs/blog/2023-09-22-gpt-researcher/architecture.png","docs/blog/2023-09-22-gpt-researcher/index.md","docs/blog/2023-09-22-gpt-researcher/planner.jpeg","docs/blog/2023-11-12-openai-assistant/diagram-1.png","docs/blog/2023-11-12-openai-assistant/diagram-assistant.jpeg","docs/blog/2023-11-12-openai-assistant/index.md","docs/blog/2024-05-19-gptr-langgraph/architecture.jpeg","docs/blog/2024-05-19-gptr-langgraph/blog-langgraph.jpeg","docs/blog/2024-05-19-gptr-langgraph/index.md","docs/blog/2024-09-7-hybrid-research/gptr-hybrid.png","docs/blog/2024-09-7-hybrid-research/index.md","docs/blog/2025-02-26-deep-research/index.md","docs/blog/2025-03-10-stepping-into-the-story/index.md","docs/blog/2026-03-03-gpt-researcher-ag2/img/gpt-researcher-ag2.webp","docs/blog/2026-03-03-gpt-researcher-ag2/img/pipeline.webp","docs/blog/2026-03-03-gpt-researcher-ag2/index.md","docs/blog/authors.yml","docs/discord-bot/Dockerfile","docs/discord-bot/Dockerfile.dev","docs/discord-bot/commands/ask.js","docs/discord-bot/deploy-commands.js","docs/discord-bot/gptr-webhook.js","docs/discord-bot/index.js","docs/discord-bot/package.json","docs/discord-bot/server.js","docs/docs/contribute.md","docs/docs/examples/custom_prompt.py","docs/docs/examples/detailed_report.md","docs/docs/examples/examples.ipynb","docs/docs/examples/examples.md","docs/docs/examples/hybrid_research.md","docs/docs/examples/pip-run.ipynb","docs/docs/examples/sample_report.py","docs/docs/examples/sample_sources_only.py","docs/docs/faq.md","docs/docs/gpt-researcher/context/azure-storage.md","docs/docs/gpt-researcher/context/data-ingestion.md","docs/docs/gpt-researcher/context/filtering-by-domain.md","docs/docs/gpt-researcher/context/img/gptr-hybrid.png","docs/docs/gpt-researcher/context/img/nextjs-filter-by-domain.JPG","docs/docs/gpt-researcher/context/img/vanilla-filter-by-domains.png","docs/docs/gpt-researcher/context/local-docs.md","docs/docs/gpt-researcher/context/tailored-research.md","docs/docs/gpt-researcher/context/vector-stores.md","docs/docs/gpt-researcher/frontend/discord-bot.md","docs/docs/gpt-researcher/frontend/embed-script.md","docs/docs/gpt-researcher/frontend/img/bot-permissions.png","docs/docs/gpt-researcher/frontend/img/oath2-url-generator.png","docs/docs/gpt-researcher/frontend/introduction.md","docs/docs/gpt-researcher/frontend/nextjs-frontend.md","docs/docs/gpt-researcher/frontend/react-package.md","docs/docs/gpt-researcher/frontend/vanilla-js-frontend.md","docs/docs/gpt-researcher/frontend/visualizing-websockets.md","docs/docs/gpt-researcher/getting-started/cli.md","docs/docs/gpt-researcher/getting-started/getting-started-with-docker.md","docs/docs/gpt-researcher/getting-started/getting-started.md","docs/docs/gpt-researcher/getting-started/how-to-choose.md","docs/docs/gpt-researcher/getting-started/introduction.md","docs/docs/gpt-researcher/getting-started/linux-deployment.md","docs/docs/gpt-researcher/gptr/ai-development.md","docs/docs/gpt-researcher/gptr/automated-tests.md","docs/docs/gpt-researcher/gptr/claude-skill.md","docs/docs/gpt-researcher/gptr/config.md","docs/docs/gpt-researcher/gptr/deep_research.md","docs/docs/gpt-researcher/gptr/example.md","docs/docs/gpt-researcher/gptr/image_generation.md","docs/docs/gpt-researcher/gptr/npm-package.md","docs/docs/gpt-researcher/gptr/pip-package.md","docs/docs/gpt-researcher/gptr/querying-the-backend.md","docs/docs/gpt-researcher/gptr/scraping.md","docs/docs/gpt-researcher/gptr/troubleshooting.md","docs/docs/gpt-researcher/handling-logs/all-about-logs.md","docs/docs/gpt-researcher/handling-logs/langsmith-logs.md","docs/docs/gpt-researcher/handling-logs/langsmith.png","docs/docs/gpt-researcher/handling-logs/simple-logs-example.md","docs/docs/gpt-researcher/llms/llms.md","docs/docs/gpt-researcher/llms/running-with-azure.md","docs/docs/gpt-researcher/llms/running-with-ollama.md","docs/docs/gpt-researcher/llms/supported-llms.md","docs/docs/gpt-researcher/llms/testing-your-llm.md","docs/docs/gpt-researcher/mcp-server/advanced-usage.md","docs/docs/gpt-researcher/mcp-server/claude-integration.md","docs/docs/gpt-researcher/mcp-server/getting-started.md","docs/docs/gpt-researcher/multi_agents/ag2.md","docs/docs/gpt-researcher/multi_agents/deepagents.md","docs/docs/gpt-researcher/multi_agents/langgraph.md","docs/docs/gpt-researcher/retrievers/mcp-configs.mdx","docs/docs/gpt-researcher/search-engines/search-engines.md","docs/docs/gpt-researcher/search-engines/test-your-retriever.md","docs/docs/proposals/adaptive-deep-research.md","docs/docs/proposals/high-quality-content-scraping-architecture.md","docs/docs/proposals/local-server-deployment-guide.md","docs/docs/proposals/social-media-data-acquisition.md","docs/docs/reference/config/config.md","docs/docs/reference/config/singleton.md","docs/docs/reference/processing/html.md","docs/docs/reference/processing/text.md","docs/docs/reference/sidebar.json","docs/docs/roadmap.md","docs/docs/welcome.md","docs/docusaurus.config.mjs","docs/npm/Readme.md","docs/npm/index.js","docs/npm/package.json","docs/package.json","docs/pydoc-markdown.yml","docs/sidebars.js","docs/src/components/HomepageFeatures.js","docs/src/components/HomepageFeatures.module.css","docs/src/css/custom.css","docs/src/pages/index.js","docs/src/pages/index.module.css","docs/static/.nojekyll","docs/static/CNAME","docs/static/img/ag2-pipeline.webp","docs/static/img/architecture.png","docs/static/img/banner1.jpg","docs/static/img/examples.png","docs/static/img/gptr-logo.png","docs/static/img/leaderboard.png","docs/static/img/multi-agent.png","evals/README.md","evals/__init__.py","evals/hallucination_eval/evaluate.py","evals/hallucination_eval/inputs/search_queries.jsonl","evals/hallucination_eval/requirements.txt","evals/hallucination_eval/results/aggregate_results.json","evals/hallucination_eval/results/evaluation_records.jsonl","evals/hallucination_eval/run_eval.py","evals/simple_evals/.gitignore","evals/simple_evals/__init__.py","evals/simple_evals/example_output.json","evals/simple_evals/logs/.gitkeep","evals/simple_evals/logs/README.md","evals/simple_evals/logs/SimpleQA Eval 100 Problems 2-22-25.txt","evals/simple_evals/logs/eval_2026-05-29_19-03-20_n3.jsonl","evals/simple_evals/problems/Simple QA Test Set.csv","evals/simple_evals/requirements.txt","evals/simple_evals/run_eval.py","evals/simple_evals/simpleqa_eval.py","frontend/README.md","frontend/index.html","frontend/nextjs/.babelrc.build.json","frontend/nextjs/.dockerignore","frontend/nextjs/.eslintrc.json","frontend/nextjs/.example.env","frontend/nextjs/.gitignore","frontend/nextjs/.prettierrc","frontend/nextjs/.python-version","frontend/nextjs/Dockerfile","frontend/nextjs/Dockerfile.dev","frontend/nextjs/README.md","frontend/nextjs/actions/apiActions.ts","frontend/nextjs/app/api/chat/route.ts","frontend/nextjs/app/api/reports/[id]/chat/route.ts","frontend/nextjs/app/api/reports/[id]/route.ts","frontend/nextjs/app/api/reports/route.ts","frontend/nextjs/app/globals.css","frontend/nextjs/app/layout.tsx","frontend/nextjs/app/page.tsx","frontend/nextjs/app/research/[id]/page.tsx","frontend/nextjs/components/Footer.tsx","frontend/nextjs/components/Header.tsx","frontend/nextjs/components/Hero.tsx","frontend/nextjs/components/HumanFeedback.tsx","frontend/nextjs/components/Images/ImageModal.tsx","frontend/nextjs/components/Images/ImagesAlbum.tsx","frontend/nextjs/components/Langgraph/Langgraph.js","frontend/nextjs/components/LoadingDots.tsx","frontend/nextjs/components/ResearchBlocks/AccessReport.tsx","frontend/nextjs/components/ResearchBlocks/ChatInterface.tsx","frontend/nextjs/components/ResearchBlocks/ChatResponse.tsx","frontend/nextjs/components/ResearchBlocks/ImageSection.tsx","frontend/nextjs/components/ResearchBlocks/LogsSection.tsx","frontend/nextjs/components/ResearchBlocks/Question.tsx","frontend/nextjs/components/ResearchBlocks/Report.tsx","frontend/nextjs/components/ResearchBlocks/Sources.tsx","frontend/nextjs/components/ResearchBlocks/elements/ChatInput.tsx","frontend/nextjs/components/ResearchBlocks/elements/InputArea.tsx","frontend/nextjs/components/ResearchBlocks/elements/LogMessage.tsx","frontend/nextjs/components/ResearchBlocks/elements/SourceCard.tsx","frontend/nextjs/components/ResearchBlocks/elements/SubQuestions.tsx","frontend/nextjs/components/ResearchResults.tsx","frontend/nextjs/components/ResearchSidebar.tsx","frontend/nextjs/components/Settings/ChatBox.tsx","frontend/nextjs/components/Settings/FileUpload.tsx","frontend/nextjs/components/Settings/LayoutSelector.tsx","frontend/nextjs/components/Settings/MCPSelector.tsx","frontend/nextjs/components/Settings/Modal.tsx","frontend/nextjs/components/Settings/Settings.css","frontend/nextjs/components/Settings/ToneSelector.tsx","frontend/nextjs/components/SimilarTopics.tsx","frontend/nextjs/components/Task/Accordion.tsx","frontend/nextjs/components/Task/AgentLogs.tsx","frontend/nextjs/components/Task/DomainFilter.tsx","frontend/nextjs/components/Task/Report.tsx","frontend/nextjs/components/Task/ResearchForm.tsx","frontend/nextjs/components/TypeAnimation.tsx","frontend/nextjs/components/layouts/CopilotLayout.tsx","frontend/nextjs/components/layouts/MobileLayout.tsx","frontend/nextjs/components/layouts/ResearchPageLayout.tsx"],"storefront":"/r/assafelovic","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/assafelovic/gpt-researcher/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}