GPT Researcher
Autonomous agent for comprehensive online research reports
GPT Researcher is an autonomous agent that conducts in-depth web research on any topic and generates detailed, citation-backed reports. It aggregates multiple sources, filters for relevance, and produces structured output to reduce hallucinations and bias.
Key features
- Autonomous web research
- Cited report generation
- Multi-agent architecture
- Export to PDF and Word
Pros & cons
Strengths
- Reduces hallucination with sources
- Configurable LLM backends
Trade-offs
- Needs API keys for best results
- Research runs can be slow
GPT Researcher replaces
Last reviewed Aug 26, 2026 · 849 words
A GPT Researcher run is not a chat reply. It fans out into somewhere between 5 and 15 web searches, scrapes the pages, and writes a 1,500-to-3,000-word report with numbered citations, which on hosted models takes 2 to 5 minutes and a visible slice of API budget per report. The agent itself is trivial to self-host: 1 container, about 1 GB of RAM, Apache-2.0. The intelligence behind it is the actual project, because out of the box it wants two SaaS keys, and this guide is mostly about replacing them.
The container is the easy 10 minutes
Clone the repository, drop two keys into .env, run docker compose up. Two services come up: the Python backend on port 8000 and a Next.js frontend on port 3000. If you would rather not run the frontend, pip install gpt-researcher gives you the same agent as a library you can call from a 6-line script.
OPENAI_API_KEY=sk-...
TAVILY_API_KEY=tvly-...
Those defaults, OpenAI for the models and Tavily for search, are the path the project tests hardest, and the first report you generate this way will be the best one you get. They are also the path that makes your "self-hosted" research agent a thin client for two cloud accounts. Nothing wrong with that as a starting point; just be clear that step one is not yet self-hosting.
What a report costs, honestly
One run has a planner that drafts sub-questions, a set of searches per sub-question, a scrape of every result, a summarisation pass over each page, and a final writing pass by the "smart" model. Token usage in the hundreds of thousands per detailed report is normal, not a bug. On a frontier hosted model that lands, at last check, somewhere between tens of cents and a couple of dollars for a detailed report; on a small hosted model it is pennies and the prose shows it. The "runs can be slow" complaint is really the feature: the agent reads the sources instead of guessing at them, and that is the whole reason its reports hallucinate less than a chat window.
Ollama swaps the bill for a GPU
The model backend is a set of environment variables in provider:model form, and Ollama is a first-class provider:
FAST_LLM=ollama:llama3.1
SMART_LLM=ollama:llama3.1
STRATEGIC_LLM=ollama:llama3.1
EMBEDDING=ollama:nomic-embed-text
OLLAMA_BASE_URL=http://ollama:11434
The catch is quality, not wiring. The summarisation step feeds each scraped page through the fast model, and an 8-billion-parameter model with a short context will drop the middle of long articles and produce a report that reads well and cites badly. In my testing the reports become trustworthy around the 14B-to-30B class for SMART_LLM, which means a 16 GB or 24 GB GPU; the hardware notes for local LLMs cover what that costs. Point Ollama at a model that fits entirely in VRAM, or the 5-minute run becomes a 40-minute one.
SearxNG removes the last cloud key
Tavily is a paid search API with a free tier. The retriever is pluggable, and the zero-key options are DuckDuckGo (RETRIEVER=duckduckgo, rate-limited and occasionally blocked) or your own SearxNG instance:
RETRIEVER=searx
SEARX_URL=http://searxng:8080
SearxNG must have the JSON output format enabled in its settings.yml (search.formats including json) or every query returns a 403 and the agent reports "no sources found". With that in place the entire pipeline, search, scrape, embed, write, runs on hardware you own, and the only outbound traffic is the fetches to the pages being cited.
Where it sits next to Perplexica and Open WebUI
Three self-hosted tools answer "ask the web a question", and they are not rivals. Perplexica gives a Perplexity-style answer with sources in 10 seconds; it is what you want 20 times a day. Open WebUI's web-search toggle does the same inline in a chat. GPT Researcher is the one you run 3 times a week when the question deserves a document: a market survey, a "which library should we pick" memo, a literature sweep. It exports to PDF and Word, supports a multi-agent mode built on LangGraph that splits the work into editor, researcher and reviewer roles, and produces something you can hand to another person rather than paste into a chat.
What I'd do
Run the container with Ollama and SearxNG for everyday questions, so the marginal cost of a report is electricity, and keep one hosted API key configured for the reports that will be read by someone who matters. Treat every output as a draft with a bibliography: the citations are real URLs that were really scraped, but scraped pages can be wrong, and the agent does not know that. Ten minutes checking the 3 sources a report leans on hardest is still faster than doing the research yourself, which is the honest case for the tool.
Compare GPT Researcher
14 head-to-head comparisons.
- GPT Researcher vs GPT Academic
- GPT Researcher vs AnythingLLM
- GPT Researcher vs PrivateGPT
- GPT Researcher vs Text Generation WebUI
- GPT Researcher vs Fabric
- GPT Researcher vs LocalGPT
- GPT Researcher vs SurfSense
- GPT Researcher vs h2oGPT
- GPT Researcher vs LlamaGPT
- GPT Researcher vs AIChat
- GPT Researcher vs LoLLMs WebUI
- GPT Researcher vs GPTLink
- GPT Researcher vs Anse
- GPT Researcher vs SecureAI Tools
Similar self-hosted ai apps
OpenClaw
Self-Hosted AIThe AI that actually does things
Hermes Agent
Self-Hosted AIThe AI agent that grows with you
OpenCode
Self-Hosted AIThe open source AI coding agent
Replaces Claude Code, Cursor
Hugging Face Transformers
Self-Hosted AIState-of-the-art machine learning model library
Replaces OpenAI API
Dify
Self-Hosted AIOpen-source platform for building production LLM apps
Replaces OpenAI Assistants, Vertex AI Agent Builder
Langflow
Self-Hosted AIVisual framework for building AI agents and RAG pipelines
Replaces Vertex AI Agent Builder