gpt-researcher
Facts
- Openness
- Open source
- Licence
- Apache-2.0
- Language
- Python
- Pinned version
0957c30(2026-09-26)- Topics checked
- 28 of 33
- Kind of agent
- Deep research
What it does notably well
- Concurrency
gpt-researcher gathers sub-query work with asyncio.gather and bounds the heavy stage, URL scraping, with a per-researcher Semaphore plus ThreadPoolExecutor (WorkerPool…
gpt-researcher bounds scraping with WorkerPool, a ThreadPoolExecutor(max_workers=MAX_SCRAPER_WORKERS, default 15) plus an asyncio.Semaphore of the same size taken around each…
gpt-researcher plans sub-queries with one strategic-LLM call (generate_sub_queries), then runs one asyncio.gather of _process_sub_query over them, each doing search, scrape and…
- Config and routing
gpt-researcher has three model roles (FAST_LLM, SMART_LLM, STRATEGIC_LLM, each 'provider:model') validated against 27 supported providers, with env over config file over default…
- Eval harness
gpt-researcher grades its reports with LLM judges run by hand (SimpleQA correctness grader, hallucination check, a report-quality suite with its own perturbation reliability…
- MCP and auth
gpt-researcher's MCP retriever has the strategic LLM pick up to 3 relevant tools from all of a server set's tools, falling back to keyword-pattern scoring on tool names and…
See how gpt-researcher does on each topic
The topic-by-topic verdicts, the code lines and a side-by-side comparison are in the app. Sign in with Google; new accounts are approved by hand.
Independent analysis, not affiliated with gpt-researcher.