Open Source Alternatives
  • Alternatives
  • Categories
    Categories by size1,230 projects
    • Developer Tools633
    • AI & Machine Learning528
    • Business & Productivity296
    • Web Development217
    • Security & Monitoring190
    • Communication & Collaboration166
    • IT Management157
    • LLMOps & AI Tooling133
    • DevOps & CI/CD132
    • Cloud & Hosting131
    Browse all 21 categoriesDesign & Creative, Product & Project Management and 9 more
  • Blog
  • Advertise
SearchNotion, Slack, password manager.../
Submit
Open Source Alternatives
  • Alternatives
    • Developer Tools633
    • AI & Machine Learning528
    • Business & Productivity296
    • Web Development217
    • Security & Monitoring190
    • Communication & Collaboration166
    • Browse all 21 categories
  • Blog
  • Advertise
Submit your project

New open source projects by email

The projects we add and every new guide. Free, unsubscribe any time.

Open Source Alternatives LogoOpen Source Alternatives

Handpicked Open Source Alternatives to Paid Softwares

Add Open Source Alternatives as a preferred source on Google

Product

  • Categories
  • Tag
  • Advertise

Resources

  • Blog
  • Collection
  • Submit

Company

  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Sitemap

Alternatives

  • Claude Code
  • Jira
  • Notion
  • Slack
  • Linear
  • Wispr Flow
  • All alternatives
© 2026 Open Source Alternatives. All rights reserved.
Open SourceAlternatives
Home/Categories/Developer Tools/Trawl
icon of Trawl

Trawl

Open source alternative to Firecrawl, Apify, Zyte, ScrapingBee and Browserless

  • 1.2K stars
  • AGPL-3.0
  • Active this week
  • Last commit today

Last verified Nov 13, 2026

Run a self-hosted scraping engine that bypasses Cloudflare, CAPTCHAs, and browser challenges, with MCP tools, session caching, and a live dashboard.

Visit websiteGitHub1.2K starsDeploy on Hostinger
image of Trawl
TL;DR

Trawl is a self-hosted scraping engine that handles browser challenges from Cloudflare, Anubis, and other bot-detection systems, without routing your traffic through a third-party service. It replaces paid scraping APIs like Firecrawl, Apify, and ScrapingBee with a Docker deployment on your own infrastructure, under AGPL-3.0 license. Trawl starts each request with HTTP, reuses accepted clearance sessions from Redis or memory, and opens a Camoufox Firefox browser only when needed. Best for developers building AI agents or *arr media stacks who scrape challenge-protected sites at a frequency where per-request cloud billing becomes expensive.

Read the full breakdownHide the full breakdownWho it is for, how it works, trade-offs, the quick start and the FAQ
who it's for

Who Trawl is for#

Homelab operators running *arr media automation stacks

*arr clients like Prowlarr, Jackett, Sonarr, and Radarr query Cloudflare-protected indexers continuously. Trawl's /v1 FlareSolverr-compatible endpoint connects with one URL change, and session reuse means each indexer check after the first solve takes milliseconds rather than 10-12 seconds.

Skip if:

If your indexers are not behind Cloudflare or other bot-detection walls, a standard FlareSolverr install is sufficient and simpler to operate.

AI engineers building agents that need live web content

MCP-compatible AI agents connect to Trawl's six tools (read, scrape, extract, screenshot, inspect, scrape_url) over Streamable HTTP and retrieve Markdown, structured JSON, or screenshots from any URL, including challenge-protected pages. Trawl loads known public URLs; it does not perform web search.

Skip if:

If your agent's data sources are APIs or structured feeds rather than HTML pages, Trawl adds complexity without benefit. Use it when unstructured web pages behind bot-detection walls are the target.

Developers polling challenge-protected sites at high frequency

Applications that check prices, availability, or content on Cloudflare-protected sites hit per-request cloud costs at scale. Trawl's self-hosted model eliminates per-request billing, and the tier engine reuses clearance to minimize browser-open time and proxy use.

Skip if:

For one-off or low-frequency scraping needs where operational overhead matters more than per-request cost, a managed API service removes the need to operate your own scraping infrastructure.

Teams needing a self-hosted alternative to commercial scraping APIs

Firecrawl, ScrapingBee, and similar services offer managed scraping with no server to operate. Trawl provides a self-hosted path for teams that need data to stay within their own infrastructure, face compliance requirements, or need customization that hosted APIs do not expose.

Skip if:

If you need managed scale across geographically distributed exit nodes, or a fully managed crawl queue without server ops, a hosted commercial service fits better.

the problem

The problem it solves#

Web scraping against challenge-protected sites has two distinct problems. The first is the challenge itself: Cloudflare interstitials, Anubis proof-of-work walls, CAPTCHA widgets, and JavaScript checks block standard HTTP clients entirely. Commercial scraping APIs like Firecrawl, Apify, and Zyte handle these for you, but their per-request or per-compute-unit pricing becomes expensive for any application that polls hundreds or thousands of URLs per day.

The second problem is session reuse. Most scraping tools treat each request independently, discarding accepted browser clearance and re-running the full challenge solve on the next fetch. FlareSolverr and Byparr take 10-12 seconds per Cloudflare-protected page because they open a fresh browser context every time. For *arr media stacks that check dozens of indexers every few hours, that slowness compounds across every request in the queue.

how Trawl solves it

How it solves it#

Adaptive Tier Routing

Trawl starts each request with plain HTTP and escalates only when needed: HTTP first, then cached clearance replay, then a fresh browser solve, then a residential proxy. Accepted Cloudflare and Anubis clearance is cached in Redis or memory and reused on subsequent requests to the same domain. On repeat fetches to a Cloudflare-protected site like 1337x, that reuse cuts response time from 11 seconds (FlareSolverr) to 85ms, measured on the same machine in published benchmarks.

Browser Challenge Handling

Built-in handling for Cloudflare, Anubis, Akamai, Imperva, DDoS-Guard, and supported AWS WAF and DataDome flows. CAPTCHA solvers cover Turnstile, reCAPTCHA v2 audio, hCaptcha auto-pass and audio, GeeTest Slide, ALTCHA, Friendly Captcha, and CAP widgets. Provider-specific challenge flows run in a Camoufox Firefox context with C++-level fingerprint patches. Persistent protection walls are reported as failures rather than silently retried.

MCP Tools for AI Agents

Six Streamable HTTP MCP tools (read, scrape, extract, screenshot, inspect, and scrape_url alias) connect any MCP-compatible AI agent to Trawl's scraping and challenge-bypass engine. Agents can retrieve Markdown or plain text, scrape raw HTML, extract structured JSON records with CSS selectors, capture viewport or full-page screenshots, and inspect browser activity. Enable with one environment variable: MCP_ENABLED=true.

Isolated Browser Sessions

Named sessions retain cookies, localStorage, and sessionStorage between requests and preserve login state out of the shared clearance cache. A session can keep a page open across requests with keepPage: true for JavaScript eval. Sessions expire when idle, obey capacity limits, and are invalidated under memory pressure. The /scrape endpoint and /v1 FlareSolverr-compatible endpoint both accept a sessionId parameter.

FlareSolverr-Compatible /v1 Endpoint

The /v1 endpoint implements the FlareSolverr request and session API, so Prowlarr, Jackett, and other *arr tools connect by changing one URL in their configuration. Trawl prioritizes page delivery over optional embedded CAPTCHA solving on this path. Named sessions work on /v1 as well, so multi-step indexer flows that require session state also work without additional configuration.

Local Metrics Dashboard

A persistent request history dashboard at /dashboard shows the winning tier, failure causes, and timings for every handled request. Metrics survive container recreation through a Docker volume mount. Live updates arrive without a page refresh, and raw data is exportable as JSON. Stored URLs are domain-scoped for privacy, not full paths.

strengths · trade-offs

Strengths and trade-offs#

Strengths

  • Session Reuse Cuts Repeat Request Time by Orders of MagnitudeWhen Trawl has accepted clearance cached for a domain, repeat fetches skip the browser entirely. Benchmarks from the README (measured 2026-10-17 after v1.8.0) show an 85ms repeat median on 1337x versus 11 seconds for FlareSolverr on the same machine, with 19.2s total CPU on matched requests for Trawl versus 145s for FlareSolverr across the full benchmark workload.
  • Local CAPTCHA Solving Without a Paid ProviderBuilt-in solvers handle Turnstile, reCAPTCHA v2 audio, hCaptcha auto-pass and audio, GeeTest Slide, ALTCHA, Friendly Captcha, and CAP without 2Captcha or any other paid service. The optional 2Captcha integration adds coverage for declarative reCAPTCHA v2 Enterprise and supported Turnstile variants; it is disabled unless you provide a provider key. The default path costs nothing beyond the server.
  • Drop-in FlareSolverr Replacement for *arr StacksThe /v1 endpoint is compatible with the FlareSolverr request API. Any *arr client (Prowlarr, Jackett, Sonarr, Radarr, Lidarr, Readarr, Whisparr) connects with a single URL change, keeping existing indexer configuration intact. Response times on the shared benchmark workload are significantly faster than FlareSolverr and Byparr due to clearance reuse.
  • AGPL-3.0 License Permits Self-Hosted Commercial and Team UseAGPL-3.0 is an OSI-approved open source license. Teams can run Trawl internally for any purpose, including commercial applications, without restriction. The license's network-service clause applies when distributing a modified version: source changes must be published under the same license. For unmodified internal self-hosting, there are no additional constraints beyond the license terms.

Trade-offs

  • -Browser Pool Requires at Least 1 GB RAMThe default configuration starts one warm Camoufox Firefox browser in the pool. The README's benchmark data shows 991 MiB peak working RAM and 1291 MiB peak total memory for a standard Trawl workload including Redis. Very small VPS deployments under 1 GB or low-spec NAS hardware may need the :baseline image (available for older x86 CPUs and NAS kernels) and careful pool sizing to avoid out-of-memory conditions.
  • -AGPL-3.0 Restricts Resale as a Managed Scraping ServiceRunning an unmodified Trawl instance for internal use is fully permitted under AGPL-3.0. The restriction applies specifically to distributing a modified version or running a modified version as a network service for others: source changes must be published under the same license. This is a constraint only for SaaS or service businesses that want to build a commercial managed scraping service on top of Trawl.
  • -Very New Project with Limited Production Track RecordThe repository was created in June 2026. It reached 1,152 stars and version 1.11.1 quickly, with only 1 open issue as of this writing, but has limited long-term production exposure relative to established tools like FlareSolverr. Teams running critical scraping infrastructure may want to monitor the project's maturity before full commitment.
versus alternatives

Trawl vs alternatives#

TRAWL vs Firecrawl

Firecrawl is an API-first scraping service that converts websites to LLM-ready markdown or JSON, designed for RAG pipelines and AI applications. Both tools retrieve web content, but serve different deployment models and prioritize different problems.

FeatureTRAWLFirecrawl
Self-hostingYes (Docker)Yes (limited vs cloud API)
Scraping focusChallenge bypass and content retrievalLLM-ready structured extraction
MCP toolsYes, 6 built-inNo
FlareSolverr compatYes (/v1)No
LicenseAGPL-3.0Proprietary cloud API

TRAWL is the stronger fit when you need Cloudflare bypass with session reuse, MCP integration for AI agents, or a FlareSolverr-compatible endpoint for *arr stacks. Firecrawl is worth considering when you need a managed crawl pipeline with built-in job queuing, automatic sitemap discovery, and batch extraction through a hosted API, without operating server infrastructure.

TRAWL vs Browserless

Browserless is headless Chrome-as-a-service with Playwright and Puppeteer support. Its focus is remote browser control for automation; Trawl's focus is content retrieval from challenge-protected pages.

FeatureTRAWLBrowserless
Self-hostingYes (Docker)Yes (hosted or self-hosted)
Primary use caseChallenge bypass and content retrievalRemote browser control
Challenge handlingNative multi-provider bypassManual browser access
MCP toolsYes, 6 toolsNo documented MCP
Playwright/Puppeteer APINoYes

TRAWL fits when challenge bypass and fast clearance reuse are the goal. Browserless fits when you need full remote browser control through the Playwright or Puppeteer API: UI testing, form automation, complex multi-step site navigation, or any workflow that requires browser-level scripting beyond content retrieval.

Apify, Zyte, and ScrapingBee

Apify, Zyte, and ScrapingBee are managed cloud platforms for web scraping and data extraction. They offer hosted browser pools, geographically distributed proxies, and no server to operate. TRAWL does not replace them for teams that need managed scale, a global proxy network, or a no-ops pipeline. The tradeoff is data control and cost: TRAWL runs on your own infrastructure with no per-request billing and no data routed through external services.

install · quick start

Quick start#

bash
Self-hosting runs on Docker using the official image from GitHub Container Registry.

```bash
docker run -d --name trawl \
  -p 127.0.0.1:8191:8191 \
  --shm-size=1gb \
  -e SESSION_CACHE_DRIVER=memory \
  -e BROWSER_POOL_SIZE=1 \
  -e MCP_ENABLED=true \
  -e METRICS_DASHBOARD_ENABLED=true \
  -v trawl_metrics:/data/metrics \
  ghcr.io/germondai/trawl:1.11.1
```
tech stack · detected from GitHub

What it's built on#

Languages
PythonRustTypeScript
Frameworks
Nuxt
Runtimes
Bun
frequently asked

FAQ#

Can TRAWL replace FlareSolverr in Prowlarr or Jackett without reconfiguring my indexers?

Yes. The /v1 endpoint implements the FlareSolverr request and session API. Set your Prowlarr or Jackett FlareSolverr URL to http://trawl:8191 (or the Trawl host address on your network) and existing indexer configurations continue to work without further changes. Trawl's /v1 path prioritizes page delivery and skips optional embedded widget solving by default.

Does TRAWL need a paid CAPTCHA service to solve Cloudflare challenges?

No. Built-in solvers handle Cloudflare interstitials, Turnstile, reCAPTCHA v2 audio, hCaptcha auto-pass and audio, GeeTest Slide, ALTCHA, Friendly Captcha, and CAP without an external paid provider. An optional 2Captcha integration adds coverage for declarative reCAPTCHA v2 Enterprise and supported Turnstile variants; it is disabled unless you provide a provider key.

What hardware does TRAWL need to run?

The default configuration starts one warm browser. The README benchmarks show 991 MiB peak working RAM and 1291 MiB peak total memory, including Redis, on a standard workload. A 2 GB VPS or server is a reasonable minimum. A :baseline Docker image is available for older x86 CPUs and NAS hardware. For higher throughput, increase BROWSER_POOL_SIZE and add Redis for persistent clearance caching across restarts.

What does the AGPL-3.0 license mean for self-hosting TRAWL?

AGPL-3.0 is an OSI-approved open source license. You can self-host Trawl for internal use, including commercial and team applications, without restriction. The license requires publishing source changes if you distribute a modified version or run a modified version as a network service for others. For teams running Trawl for their own applications without modification, there are no additional constraints beyond the license terms.

Does TRAWL work for ordinary sites without bot protection?

Yes. When a site returns ordinary HTTP responses, Trawl fetches them directly at Tier 1 without opening a browser, making it fast for ordinary pages. The /scrape endpoint, the /v1 FlareSolverr-compatible path, the MCP tools, the HTTP/HTTPS forward proxy, and isolated browser sessions all work across both challenge-protected and ordinary pages.

also worth a look

Similar open-source tools#

crawl4ai

Alternative toFirecrawl

LLM-ready web crawling without API keys or rate limits

  • 87,238 GitHub stars
  • Apache-2.0Licence Apache-2.0

Firecrawl

Alternative toApify

Turn any website into clean markdown or structured JSON for LLMs

  • 200,452 GitHub stars
  • AGPL-3.0Licence AGPL-3.0

Agent Reach

Featured

Alternative toFirecrawl

Give any AI agent internet access, free and local

  • 110,916 GitHub stars
  • MITLicence MIT

agent-browser

Alternative toBrowserbase

Browser automation CLI with ref-based snapshots for AI agents

  • 49,139 GitHub stars
  • Apache-2.0Licence Apache-2.0

browser

Alternative toBrowserbase

Headless browser for AI agents: 9x faster than Chrome, built in Zig

  • 41,842 GitHub stars
  • AGPL-3.0Licence AGPL-3.0

PyScrappy

Alternative toFirecrawl

AI-native web scraping toolkit + MCP server

  • 265 GitHub stars
  • MITLicence MIT
by category

Open source tools in these categories#

633

Developer Tools

REA (Reverse Engineer Anything), Skills for Real Engineers, superpowers
92

APIs & Integration

n8n, Firecrawl, iptv
528

AI & Machine Learning

freeCodeCamp, REA (Reverse Engineer Anything), OpenClaw
Hostinger

Self-host Trawl on a Hostinger VPS

Keep it running 24/7, even when your laptop is off. A Hostinger VPS gives it a server of its own.

  1. 01

    Choose a plan

    Starts from $6.49/mo

  2. 02

    Apply

    Extra 10% off yearly plans

  3. 03

    Install Trawl

    On a server that stays on

  4. 04

    Start building

    Focus on the app, not the server

Deploy on Hostinger

Sponsors

Inbox Zero

Alternative toSuperhuman

AI email assistant that drafts replies and clears your inbox

  • 12,987 GitHub stars
  • AGPL-3.0Licence AGPL-3.0
  • #Email

rakazo

Alternative toGrok Bot

AI teammates you own: your keys, your model, your machine.

  • 7,869 GitHub stars
  • Apache-2.0Licence Apache-2.0
  • #AI Agents

SnitchFeed

Live monitoring on LinkedIn, X, Reddit & more. Agentic social listening for startups.

Marketing & Growth

Advertise your product

New open source projects by email

The projects we add and every new guide. Free, unsubscribe any time.

Find open source alternatives to paid software

/
  • Claude Code to OpenCode
  • Jira to Windshift
  • Notion to AppFlowy
  • Slack to Mattermost
  • Linear to GitLab
  • Wispr Flow to Handy
  • Arc to Zen Browser
  • CapCut to Concat
  • Grok Bot to rakazo
  • Superhuman to Inbox Zero
  • Discord to Stoat
  • Airtable to AITable
  • Muse to OpenClaw
  • Railway to Coolify
  • GitHub Copilot to Cline
  • Datadog to Netdata
  • Confluence to Wiki.js
  • Microsoft Teams to Rocket.Chat
  • 1Password to KeePassXC
  • Firebase to Supabase
  • Pinecone to Qdrant
  • Zapier to n8n
  • Devin AI to OpenHands
  • Asana to Leantime
  • Claude Code to OpenCode
  • Jira to Windshift
  • Notion to AppFlowy
  • Slack to Mattermost
  • Linear to GitLab
  • Wispr Flow to Handy
  • Arc to Zen Browser
  • CapCut to Concat
  • Grok Bot to rakazo
  • Superhuman to Inbox Zero
  • Discord to Stoat
  • Airtable to AITable
  • Muse to OpenClaw
  • Railway to Coolify
  • GitHub Copilot to Cline
  • Datadog to Netdata
  • Confluence to Wiki.js
  • Microsoft Teams to Rocket.Chat
  • 1Password to KeePassXC
  • Firebase to Supabase
  • Pinecone to Qdrant
  • Zapier to n8n
  • Devin AI to OpenHands
  • Asana to Leantime