
Open Deep Research
Minimal open-source deep-research agent that iteratively searches, scrapes, and reasons to produce cited markdown reports.
In short
Open Deep Research is a sub-500-line TypeScript agent that iteratively searches and scrapes the web to produce cited markdown reports. It is best for developers who want a transparent, self-hosted starting point for building custom research agents using Firecrawl and any OpenAI-compatible LLM.
Pick Open Deep Research if you want a transparent, hackable starting point for building your own deep-research agent on top of Firecrawl and an LLM of your choice.
Skip it if you want a polished, hosted research product with a UI and built-in subscriptions - this is a developer scaffold, not a SaaS.
Open Deep Research (dzhng/deep-research) is a sub-500-line TypeScript implementation of a deep research agent that combines Firecrawl-powered web search and scraping with an LLM (o3-mini by default, with optional DeepSeek R1 via Fireworks or any OpenAI-compatible endpoint) to iteratively refine its own research direction. You give it a query, a breadth parameter (how many SERP queries per round), and a depth parameter (how many recursive rounds), and it loops: generate queries, extract learnings, propose follow-up directions, and dive deeper until it emits a comprehensive markdown report with sources.
The appeal is deliberate minimalism. Unlike the heavier LangChain/CrewAI-style research stacks, this repo is small enough to read in one sitting and fork as a starting point for a custom agent. It's aimed at developers who want to understand how a deep-research loop actually works, self-host it (Docker compose is provided), point it at a local LLM via OpenAI-compatible endpoints, and swap pieces in or out. There is no hosted product or pricing - you bring your own Firecrawl and model keys.
Python port exists in the community (Finance-LLMs/deep-research-python). MIT licensed, ~19k GitHub stars and active maintenance. Caveat: this is a CLI/library, not a polished web app - expect to read code, manage your own API credits, and handle Firecrawl rate limits on the free tier.
The clearest reference implementation of the deep-research-agent pattern we've found. The sub-500-LoC discipline is the feature: read it once and you actually understand how iterative SERP-then-reason loops work, which makes it a far better foundation than the heavier orchestration frameworks if you plan to customize. Just budget for Firecrawl and model spend.
— The AI Tool Bible editorial team
Pros
- ✅ Under 500 lines of TypeScript - easy to read, fork, and customize
- ✅ Works with any OpenAI-compatible endpoint including local LLMs
- ✅ Configurable breadth and depth give precise control over research cost
- ✅ MIT licensed with Docker compose setup included
- ✅ Strong traction (~19k stars) and a Python community port
Cons
- ⚠️ No hosted UI - command-line only, you run it yourself
- ⚠️ Requires paid Firecrawl + LLM API keys to be useful at scale
- ⚠️ Free Firecrawl tier hits rate limits quickly at default concurrency
- ⚠️ Output quality depends entirely on the model and Firecrawl plan you bring
Use cases
Frequently asked
- What is the primary purpose of Open Deep Research?
- It is a minimal open-source deep-research agent that iteratively searches, scrapes, and reasons to produce comprehensive markdown reports with sources. It is designed as a hackable scaffold for developers rather than a polished hosted product.
- Which models and tools does Open Deep Research require?
- The tool requires you to bring your own Firecrawl and LLM API keys. It defaults to o3-mini but supports DeepSeek R1 or any OpenAI-compatible endpoint, including local LLMs.
- Is Open Deep Research a hosted service with a user interface?
- No, it is a CLI/library without a hosted UI or built-in subscriptions. Users must self-host it using the provided Docker compose setup and manage their own API credits and rate limits.
- How does the research process work in Open Deep Research?
- You provide a query along with breadth and depth parameters. The agent loops through generating queries, extracting learnings, and proposing follow-up directions until it emits a final report.
- What are the licensing and codebase characteristics?
- The project is MIT licensed and written in TypeScript with fewer than 500 lines of code. It has approximately 19k GitHub stars and a community Python port exists.
Explore related
Compare with similar tools
All in Agents →
LangGraph
FeaturedStateful, graph-based agent orchestration from LangChain.

CrewAI
FeaturedPython framework for multi-agent orchestration.

Ernie Bot
Baidu's Mandarin-first ChatGPT rival, powered by the ERNIE model family

Moveworks
The enterprise AI assistant that searches, answers, and takes action across your business systems

AWS Bedrock
Build and scale generative AI applications with foundation models

Claude Agent SDK
Anthropic's official SDK for building autonomous Claude agents.