GPT Researcher — Autonomous Research Report Agent
AI agent that generates detailed research reports from a single query. Searches multiple sources, synthesizes findings, and cites references.
What it is
GPT Researcher is an open-source autonomous AI agent that produces comprehensive research reports from a single query. Given a topic, it plans sub-questions, searches multiple web sources, scrapes and summarizes relevant content, and synthesizes everything into a structured report with citations. The agent handles the entire research workflow that would otherwise require manual searching, reading, and writing.
GPT Researcher targets professionals, analysts, and teams who need well-researched reports without spending hours on manual web research. It works with OpenAI, Anthropic, and other LLM providers.
How it saves time or tokens
Manual research involves iterating between search engines, reading articles, taking notes, and synthesizing findings. GPT Researcher automates this entire loop. It generates 3-5 sub-questions from your main query, searches each one across multiple sources, extracts relevant passages, and compiles a coherent report. A research task that takes hours manually completes in minutes.
The agent uses focused sub-queries rather than one broad search, which produces more relevant results and reduces the need for follow-up searches.
How to use
- Install GPT Researcher:
pip install gpt-researcher. Set yourOPENAI_API_KEYand optionally a search API key (Tavily, Serper, or Bing). - Define your research query as a plain text string. Optionally specify the report type (research_report, detailed_report, outline_report).
- Run the researcher. It plans, searches, scrapes, and writes the report autonomously. The output is a Markdown document with inline citations.
Example
from gpt_researcher import GPTResearcher
import asyncio
async def main():
researcher = GPTResearcher(
query='What are the best practices for LLM evaluation in production?',
report_type='research_report'
)
report = await researcher.conduct_research()
print(report)
asyncio.run(main())
The agent autonomously breaks the query into sub-questions, searches the web, reads relevant pages, and produces a multi-section report with source URLs.
Related on TokRepo
- AI tools for research — Research automation and analysis tools
- AI tools for content — Content generation and writing tools
Common pitfalls
- GPT Researcher makes multiple LLM calls and web searches per report. A single detailed report can use significant tokens and API credits. Monitor costs for production use.
- Report quality depends heavily on search result quality. Configure a reliable search API (Tavily is recommended) for best results. Free search APIs may return lower-quality results.
- The agent scrapes web pages to extract content. Some websites block automated scraping. If key sources are behind paywalls or CAPTCHAs, those sources will be missing from the report.
Frequently Asked Questions
GPT Researcher works with OpenAI (GPT-4o, GPT-4), Anthropic (Claude), Google (Gemini), and other providers. The default configuration uses OpenAI. You can switch providers by setting the appropriate API key and model name.
A standard research report typically takes 2-5 minutes depending on the complexity of the query, the number of sub-questions generated, and the speed of web scraping. Detailed reports with more sources take longer.
Yes. You can specify the report type, maximum number of sources, search depth, and which search API to use. Advanced configurations let you provide custom source URLs, restrict search domains, and adjust the report structure.
Yes. Every claim in the report includes an inline citation with the source URL. The report ends with a full bibliography of all sources consulted. This makes the output suitable for professional use where source verification matters.
GPT Researcher primarily searches the public web. For private data sources, you can provide custom URLs or documents as supplementary sources. Some configurations support local document search alongside web search.
Citations (3)
- GPT Researcher GitHub— GPT Researcher generates research reports autonomously
- GPT Researcher Documentation— Plans sub-questions and searches multiple sources
- GPT Researcher README— Supports multiple LLM providers and search APIs
Related on TokRepo
Source & Thanks
Created by Assaf Elovic. Licensed under Apache 2.0. gpt-researcher — ⭐ 26,000+ Docs: docs.gptr.dev
Thanks to Assaf Elovic for building an open alternative to deep research tools. Active development with regular updates.
Discussion
Related Assets
doctest — The Fastest Feature-Rich C++ Testing Framework
doctest is a single-header C++ testing framework designed for minimal compile-time overhead and maximum speed.
Chai — BDD/TDD Assertion Library for Node.js
Chai is a flexible assertion library for Node.js and browsers that supports expect, should, and assert styles.
Supertest — HTTP Assertion Library for Node.js APIs
Supertest provides a high-level API for testing HTTP servers in Node.js with fluent assertion chaining.