gpt-researcher

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.