mrkeyoor.com_
Sun 01 Nov 04:01 UTC
AI Toolsevaluationupdated 30 Sept 2026

gpt-researcher review

GPT Researcher is a Python research agent that searches the web or local documents, keeps track of sources, and turns the material into a cited report. It gives developers a configurable alternative to sending every research job through a closed, hosted research product.

+98stars / 7d
Verdict

Our GPT Researcher run installed 227 packages and reached 536 passing tests, but 21 tests failed, so commit 0957c30 is a trial candidate rather than a clean production dependency. Use it when you need a configurable research pipeline, citations, local documents, and several interface choices under one Apache-2.0 project. Keep a narrower tool if your release gate requires an untouched upstream suite to pass.

We ran it

Lab card: what happened when we ran gpt-researcherScreenshot of gpt-researcher (gptr.dev)
Install✓ · 112s227 packages · 1026 MB
Build✓ · 112s
Tests✗ · 47s536 passed · 21 failed · 1 skipped of 557 (pytest)
Known vulns1(pip-audit)
Repo828 files~51,408 lines of source · 26.1 MB · 6 CI workflows · Dockerfile · tests dir

Answers from our run

Does gpt-researcher build from source?

Dependencies installed in 112 seconds (227 packages), and the build succeeded in 112 seconds. We cloned commit 0957c30 into a clean Debian container with 3 CPUs and no project-specific setup.

Do gpt-researcher's tests pass?

No. The project's own test command finished in 47 seconds and reported 536 passed, 21 failed, 1 skipped (pytest).

Does gpt-researcher have known vulnerabilities in its dependencies?

pip-audit flagged 1 known advisory in the dependency tree at the time of our run.

Who should not use gpt-researcher?

Teams that require a green upstream suite before adoption: our run ended with 21 failed tests, including retriever, WebSocket, and quick-search cases.

What are the alternatives to gpt-researcher?

Open Deep Research, Deep Research, Vane. Our GPT Researcher run installed 227 packages and reached 536 passing tests, but 21 tests failed, so commit 0957c30 is a trial candidate rather than a clean production dependency.

Setup2/51,026 MB install and 21 failed tests in our sandbox
Docs4/5Clear quick start and provider paths, with many moving parts
Community5/529,865 stars, an October 1 push, and current issue activity
Maturity3/5v3.7.0 is active, but our complete suite did not pass

Who it’s for

Python teams building a research feature that must expose its sources.
Developers who want to choose their own language model, search provider, scraper, and context filter.
Self-hosters prepared to manage API keys, provider costs, and report quality checks.
Claude users who want the supplied skill, or applications that need MCP data sources inside a research run.

Who it’s NOT for

Teams that require a green upstream suite before adoption: our run ended with 21 failed tests, including retriever, WebSocket, and quick-search cases.
Buyers wanting a research service with no provider accounts: the README's basic setup requires OpenAI and Tavily keys, with other features adding their own services.
Operators who need a confirmed AMD64 frontend image path: open issue 1517 reports that the published frontend image is ARM64.
Unattended workflows that cannot tolerate a stuck job: open issue 1764 describes repeated research hangs with little useful progress information.
Anyone treating generated reports as verified scholarship: the project calls itself experimental and says it is not a recommendation for academic papers.

Setup reality

Our sandbox installed commit 0957c30 in 112 seconds, pulling 227 packages and using 1,026 MB on disk. The build also succeeded in 112 seconds. Tests failed after 47 seconds: 536 passed, 21 failed, and 1 was skipped out of 557. Pip-audit found 1 known vulnerability.

The README's basic server setup needs Python 3.12 or later plus OpenAI and Tavily credentials. Different model, search, scraping, tracing, image generation, Jev, and MCP paths can require other keys or local services. The default context filter can fall back to local keyword ranking without an embeddings provider.

Docker Compose starts the Python server and React frontend, while the repository also offers a static frontend and a separate Next.js application. A reported frontend image architecture issue remains open, and local-document research needs a configured document path. The supplied test result is the main setup warning: a successful build did not mean a clean checkout.

The research pipeline is configurable, but it is not a finished fact checker

GPT Researcher takes a question, creates research tasks, gathers material, keeps source references, and writes a report. The current README supports web research and local files through a Python package, FastAPI server, static interface, or a separate Next.js frontend. MCP can add specialist sources such as GitHub or a database. The supplied Claude skill puts the same research path inside Claude. That range is the reason to consider the project: you can use the research engine without adopting one fixed interface.

The output still needs editorial review. The README describes the application as experimental and explicitly declines to recommend it for academic papers. Its approach is to consult multiple sites and reduce error or bias through broader sourcing. That may improve the evidence pool, but agreement among scraped pages does not verify a claim. A production integration should retain source URLs, expose the collected material, and require a human check when the report affects money, policy, health, or publication.

The 1,026 MB environment buys many provider choices

Our checkout of commit 0957c30 contained 828 files, roughly 51,408 lines of source, and occupied 26.1 MB. Installation expanded that to 1,026 MB after 227 packages arrived. The repository includes 6 CI workflow files, a Dockerfile, a Compose file, and a tests directory. This is a substantial application with several entry points, not a small Python helper that disappears inside an existing service.

The documented basic setup requires Python 3.12 or later, an OpenAI key, and a Tavily key. GPT Researcher can point at an OpenAI-compatible endpoint, use other retrievers, read local documents, emit several report formats, and connect to MCP servers. Optional paths add more configuration: LangSmith for traces, Google for generated images, or TypeSafe for Jev filtering. Release v3.7.0 made local keyword ranking the fallback, so standard research no longer needs an embeddings provider.

What happened when we ran it

Our sandbox installed commit 0957c30 in 112 seconds and added 227 packages. The build succeeded in 112 seconds as well. We used an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets. Pip-audit reported 1 known vulnerability. The measurements establish that installation and build completed; they do not measure report accuracy, search quality, model cost, or research speed.

The test command failed after 47 seconds. Pytest reported 536 passed, 21 failed, and 1 skipped out of 557. Several failures could not import get_all_retriever_names; another could not import gpt_researcher.utils.enum. Other log lines showed assertion failures in SearchAPI and Semantic Scholar cases, request-mocking errors in Serper cases, and an attribute error around a plugin retriever. Those are the results in the supplied log, and the log does not establish one shared cause.

A successful 112-second build therefore did not clear the repository for deployment. Teams evaluating it should reproduce the suite with the providers and interfaces they plan to use, then inspect the 21 failures rather than hiding them behind the 536 passes. The vulnerable package also needs identification and a project-specific risk decision. Our pip-audit result says one known vulnerability exists; it does not identify exploitability or prove an incident.

Issue 1764 makes unattended runs a risk decision

Open issue 1764 reports research jobs becoming stuck after an initial successful run, with little useful information in the command output or interface. The reporter used SearXNG and Ollama Cloud and asked for visible external-call status, timeouts, and retries. This is one user's report, not a failure from our sandbox. It is still relevant to anyone planning scheduled research, because a job that remains marked in progress needs an external timeout and an observable failure state.

Deployment also has more than one shape. Docker Compose runs the Python server on port 8000 and the React application on port 3000 by default. The README offers a lightweight frontend and a Next.js frontend, while open issue 1517 reports that a published frontend image is ARM64 and lacks the expected AMD64 variant. Confirm the exact image and architecture you will deploy instead of assuming the documented Compose path covers every cloud host.

An October 1 push shows activity, not a clean release gate

GitHub showed 29,865 stars and 21 open issues and pull requests on October 2, 2026. The repository was pushed on October 1, and recent open work included documentation and dependency pull requests. Release v3.7.0 shipped on September 26 with retriever plugins, context-filter changes, WebSocket work, and many fixes. Those dates show maintainers are shipping and reviewing changes; the combined open count should not be read as 21 confirmed bugs.

GPT Researcher earns a controlled trial when you need one codebase to cover cited reports, local documents, provider choice, MCP sources, and multiple frontends. The trial should start with the exact interface you intend to operate and a fixed set of research questions whose sources you can judge. commit 0957c30 did enough to prove the project installs and builds, but 21 failed tests are too many to wave through an automated release gate.

Alternatives

ProjectWhat it isPick it when
Open Deep Research gh↗A configurable LangGraph research agent whose repository is now archived.pick this instead when you want a compact LangGraph reference and accept an archived upstream repository.
Deep ResearchA smaller TypeScript implementation of an iterative web research loop.pick this instead when code size and a simple research loop matter more than GPT Researcher's frontends and provider breadth.
Vane gh↗A self-hosted answering engine built around search and cited responses.pick this instead when the product should feel like an answer engine rather than a long-report research framework.

Sources

  1. GPT Researcher README
  2. GPT Researcher v3.7.0 release
  3. Issue 1764: research jobs becoming stuck
  4. Issue 1517: frontend image architecture

More ai tools reviews

pr-agent · agent-sprite-forge · KiroCrew · Orkas · hypit · Paradev · the whole board →