Best Open Source Web Scraping Tools in 2026

I looked at 35 open source scraping tools, crawlers and browser libraries and ranked the ones I'd use to collect web data for a business or an AI pipeline. I've also installed Crawl4AI, Firecrawl, Scrapy, Crawlee and Maxun and ran the scraping jobs on each.

Data refreshedMethodologyHow we evaluate
Founder of Geekflare

Chandan Kumar is a founder of Geekflare. He is a technology enthusiast and entrepreneur who loves to help businesses and people around the world. Chandan has worked at BNP Paribas, Citibank, Deutsche Bank, Motorola, and HP. He’s got an in-depth understanding of business software and IT infrastructure.

What I found

  • Firecrawl's default setup ran my 4 GB test server out of memory. Trimmed to one queue worker it worked, and still used 2.4 GB at idle, four times as much as Crawl4AI.
  • Crawl4AI crawled 50 pages in 13 seconds and Scrapy in 8, while Maxun and Firecrawl, with its concurrency lowered to fit the server, each took more than a minute and a half.
  • Three of the five needed fixes to their own instructions: Maxun's storage image is gone from Docker Hub, Crawlee's template didn't build, and Firecrawl asked for 4 CPUs.
  • Only the tools that drive a real browser read the JavaScript test page. Scrapy got none of its quotes without a plugin.

Tested on DigitalOcean Droplet with Ubuntu 24.04 server with 2 vCPU and 4 GB of RAM, using Docker. “Ready in” runs from an empty server to the first working screen or result, image downloads included. “Memory at idle” is what the software and its database use together with no traffic. The 50-page crawl is the same job on each tool against books.toscrape.com, a site built for scraping practice.

SoftwareVersionReady inMemory at idle50-page crawlWhat happened
Crawl4AI0.9.51 min 14 s538 MB of 4 GB13 s, 644 MB peakThe fastest and one of the lightest services here. Deep crawls over the API stay off until you set CRAWL4AI_ALLOW_DEEP_CRAWL=true.
Firecrawlv2.11.53811 min 46 s2411 MB of 4 GB1 min 27 s, 2627 MB peakThe default setup wouldn't start on 2 CPUs and then ran the server out of memory. It worked with one queue worker, still using 2.4 GB at idle.
Scrapy2.19.020 s63 MB of 4 GB8 s, 127 MB peakBy far the lightest. It scraped 49 products in under 2 seconds of crawling, but got none of the quotes from the JavaScript test page.
Crawlee3.18.24 min 10 sRuns as a job16 s, 499 MB peakThe Playwright template didn't build as generated. It needed a TypeScript setting and a Playwright version that matches its Docker image.
Maxun0.0.4847 s582 MB of 4 GB1 min 38 sTwo fixes before it worked: the MinIO image it uses is gone from Docker Hub, and the generated settings leave out the browser host.

10 Open Source Web Scraping Tools compared

Licence, Docker support and hosted pricing side by side. Sort by latest release to see which projects are moving fastest.

LicenceTypeDockerSSOManaged cloud
1
Crawl4AI
Python 3.10+ / Playwright
Apache-2.0
Permissive
AI crawler86kOct 2026(Actively maintained)YesNo$10/month
2
Firecrawl
TypeScript / Node.js / Playwright
AGPL-3.0
Open core
Scraping API server193kOct 2026(Actively maintained)YesNo$16/month billed yearly
3
Scrapy
Python 3.10+ / Twisted
BSD-3-Clause
Permissive
Crawling framework65kSep 2026(Actively maintained)NoNo$9 per unit/month
4
Crawlee
TypeScript / Node.js
Apache-2.0
Permissive
Crawling framework26kSep 2026(Actively maintained)YesNo$19/month
5
Maxun
TypeScript / Node.js / React / Playwright
AGPL-3.0
Open core
No-code scraper18kOct 2026(Actively maintained)YesPaid only$19/month
6
Scrapling
Python 3.10+ / Playwright
BSD-3-Clause
Permissive
Crawling framework88kOct 2026(Actively maintained)YesNoNone
7
Playwright
TypeScript / Node.js, with Python, Java and .NET versions
Apache-2.0
Permissive
Browser automation98kOct 2026(Actively maintained)YesNoNone
8
ScrapeGraphAI
Python 3.12+ / Playwright
MIT
Permissive
LLM extraction library32kOct 2026(Actively maintained)NoNo$20/month
9
Jina Reader
TypeScript / Node.js / headless Chrome
Apache-2.0
Permissive
URL-to-Markdown server12kNot published(Actively maintained)YesNoFree basic use, then paid tokens
10
Lightpanda
Zig / V8
AGPL-3.0
Copyleft
Headless browser37kOct 2026(Actively maintained)YesNo$19/month
  • Actively maintained
  • Slowing: last release 1 to 2 years ago
  • Stale: no release in over 2 years

What each one can do

The features that decide most scraping projects, checked against each project's docs and, for the ones marked Tested by Geekflare, on my server.

SoftwareJavaScript renderingLLM-ready MarkdownStructured extractionSite crawlingProxy supportREST APIMCP server
Crawl4AIYesYesYesCSS or XPath schemas, or any LLM including local modelsYesYesWith authentication and rotationYesDocker server, token required since 0.9.0YesServed by the Docker server
FirecrawlYesPlaywright service in the default stackYesYesNeeds your own OpenAI-compatible model or OllamaYesPartlyOne proxy via environment variables; rotation is Cloud onlyYesAuthentication is off in the quickstartYesSeparate MCP server that points at your API
ScrapyPartlyVia the scrapy-playwright pluginNoYesCSS and XPath selectorsYesYesBuilt-in proxy middleware; rotation needs a pluginPartlyScrapyd starts and checks spider jobs over HTTPNo
CrawleeYesPlaywright or Puppeteer crawlersNoYesCheerio, JSDOM or browser selectors in your codeYesYesBuilt-in rotation and sessionsNoNo
MaxunYesYesYesRecorded robots or AI mode; Deep Extraction is Cloud onlyYesYesBring your own proxy, set per userYesYesSelf-hosted MCP needs a build step
ScraplingYesBrowser fetchers based on Playwright Chromium or ChromeYesYesCSS, XPath, text and regex selectors; no LLM extractionYesYesBuilt-in proxy rotationNoYes
PlaywrightYesNoPartlyYou write the selector code yourselfNoYesPer browser or context; no rotationNoYesOfficial Playwright MCP server
ScrapeGraphAIYesPlaywrightPartlyA Markdown pipeline exists in the code but is not documentedYesLLM extraction from a promptPartlyDepth search follows links; full crawl jobs are in the paid APIYesPaid onlyOnly the hosted ScrapeGraphAI APIPaid onlyMCP server calls the hosted API
Jina ReaderYesHeadless Chrome, or a lighter fetch when that is enoughYesNoNoOne URL per requestYesPer request through the x-proxy-url headerYesNo
LightpandaYesOwn engine with V8; no graphical renderingYesfetch --dump markdownPartlyDumps JSON-LD and meta tags; other fields need a scriptNoFetches single pages; crawling needs a separate toolYesNoChrome DevTools Protocol server, not a REST APIYes
Ask Sparkian

Which scraping tool fits your project?

Describe the sites, how often you scrape them and where the data goes, and AI will shortlist the best fits from these picks.

Or try:

Scraping tools I'd recommend, ranked

Ranked on what a team needs to get usable data out of websites: JavaScript rendering, clean output for AI, crawling, and how much work it takes to run.

  1. #1Best for LLM and RAG pipelinesTested by Geekflare

    Crawl4AI

    Open source crawler that turns web pages into Markdown and structured data for LLMs

    The most complete free option for turning websites into Markdown or JSON for a model, and its Docker server comes with a playground, a REST API and an MCP endpoint.

    The Crawl4AI monitor after our 50-page crawl

    The Crawl4AI monitor after our 50-page crawl

    Tested Oct 18, 2026, version 0.9.5
    Ready in
    1 min 14 s
    Memory in use at idle
    538 MB of 4 GB
    50-page crawl
    13 s, 644 MB peak

    The fastest and one of the lightest services here. Deep crawls over the API stay off until you set CRAWL4AI_ALLOW_DEEP_CRAWL=true.

    Commands, notes and screenshots

    Best for

    Teams feeding web pages into RAG or LLM pipelines from their own servers

    Not for

    Teams that want proxies and bot handling managed for them

    • Clean Markdown, with filters that drop menus, footers and boilerplate
    • Extracts JSON with CSS or XPath schemas, or with any LLM including local models
    • Docker server with a REST API, playground, dashboard and MCP endpoint
    • Deep crawls that can resume after a crash
    • Deep crawls and proxies over the API need settings on the server first
    • The LICENSE file adds an attribution requirement to Apache 2.0
    • Web search and SERP endpoints are only in the paid cloud
    Licence
    Apache-2.0 (permissive)
    Stack
    Python 3.10+ / Playwright
    GitHub
    86k stars · 103 contributors
    Latest release
    0.9.5 · Oct 14, 2026
    SSO
    No
    Audit logs
    No
    What people say
  2. #2Best self-hosted scraping APITested by Geekflare

    Firecrawl

    Web scraping API that returns Markdown and structured data for AI apps, with a self-hosted edition

    The same scrape, crawl and map endpoints as Firecrawl's cloud, on your own server. The self-hosted version leaves out screenshots and page actions, and it needs a bigger server than the others.

    Tested Oct 18, 2026, version v2.11.538
    Ready in
    11 min 46 s
    Memory in use at idle
    2411 MB of 4 GB
    50-page crawl
    1 min 27 s, 2627 MB peak

    The default setup wouldn't start on 2 CPUs and then ran the server out of memory. It worked with one queue worker, still using 2.4 GB at idle.

    Commands, notes and screenshots

    Best for

    Teams that use Firecrawl's API or SDKs and need to run it on their own servers

    Not for

    Teams that need screenshots, page actions or bot handling without paying for the cloud

    • Same scrape, crawl, map and search endpoints as the cloud API
    • Markdown output, plus LLM extraction with your own OpenAI-compatible model or Ollama
    • SDKs for many languages, and a CLI and MCP server that can point at your own API
    • Very active, with new releases most days
    • No screenshots or page actions in the self-hosted stack
    • The quickstart turns authentication off, so you must add it before exposing the API
    • The default setup needs more than a 4 GB server, and it builds from source
    Licence
    AGPL-3.0 (open core)
    Stack
    TypeScript / Node.js / Playwright
    Databases
    PostgreSQL, Redis
    GitHub
    193k stars · 175 contributors
    Latest release
    v2.11.538 · Oct 18, 2026
    SSO
    No
    Audit logs
    No
    What people say
  3. #3Best for Python crawling at scaleTested by Geekflare

    Scrapy

    Python framework for writing fast, large-scale web crawlers and scrapers

    The mature standard for crawling large sites in Python, with pipelines, throttling and a big plugin ecosystem. JavaScript pages need the scrapy-playwright plugin.

    Our finished Scrapy job on the Scrapyd jobs page

    Our finished Scrapy job on the Scrapyd jobs page

    Tested Oct 18, 2026, version 2.19.0
    Ready in
    20 s
    Memory in use at idle
    63 MB of 4 GB
    50-page crawl
    8 s, 127 MB peak

    By far the lightest. It scraped 49 products in under 2 seconds of crawling, but got none of the quotes from the JavaScript test page.

    Commands, notes and screenshots

    Best for

    Python teams running large or recurring crawls

    Not for

    Teams that want Markdown for LLMs or a point-and-click interface

    • Mature and widely used, maintained by Zyte with over 500 contributors
    • Built-in throttling, retries, caching, proxy support and exports to JSON, CSV and XML
    • Large plugin ecosystem, including Playwright rendering
    • Scrapyd runs spiders on a server through an HTTP API
    • No JavaScript rendering without a plugin such as scrapy-playwright
    • No built-in Markdown or LLM output
    • Scrapyd starts runs on request, so recurring schedules need cron or another tool
    Licence
    BSD-3-Clause (permissive)
    Stack
    Python 3.10+ / Twisted
    GitHub
    65k stars · 752 contributors
    Latest release
    2.19.0 · Sep 10, 2026
    SSO
    No
    Audit logs
    No
  4. #4Best for JavaScript and TypeScript teamsTested by Geekflare

    Crawlee

    Node.js library for building crawlers that use plain HTTP or a headless browser

    HTTP and browser crawling behind one API, with a request queue, storage and proxy rotation built in.

    Tested Oct 18, 2026, version 3.18.2
    Ready in
    4 min 10 s
    50-page crawl
    16 s, 499 MB peak

    The Playwright template didn't build as generated. It needed a TypeScript setting and a Playwright version that matches its Docker image.

    Commands, notes and screenshots

    Best for

    JavaScript and TypeScript teams building production crawlers

    Not for

    Teams that want a ready-made service with an API and dashboard

    • Switch between HTTP, Playwright and Puppeteer crawlers with the same code
    • Persistent request queue and storage for results
    • Proxy rotation, sessions and automatic scaling to the server's resources
    • A Python version with a similar API
    • No built-in scheduler or web interface
    • No built-in Markdown or LLM extraction
    • Version 4 is in release candidates, so expect breaking changes
    Licence
    Apache-2.0 (permissive)
    Stack
    TypeScript / Node.js
    GitHub
    26k stars · 154 contributors
    Latest release
    3.18.2 · Sep 29, 2026
    Managed cloud
    Apify, $19/month
    SSO
    No
    Audit logs
    No
  5. #5Best no-code option for business teamsTested by Geekflare

    Maxun

    No-code web scraping platform that turns websites into APIs and spreadsheets

    Record a robot by clicking through a page, then run it on a schedule and send the results to Google Sheets or an API. Teams and SSO are in the paid cloud only.

    Results of a 50-page Maxun crawl robot, page by page

    Results of a 50-page Maxun crawl robot, page by page

    Tested Oct 18, 2026, version 0.0.48
    Ready in
    47 s
    Memory in use at idle
    582 MB of 4 GB
    50-page crawl
    1 min 38 s

    Two fixes before it worked: the MinIO image it uses is gone from Docker Hub, and the generated settings leave out the browser host.

    Commands, notes and screenshots

    Best for

    Business teams that want to build scrapers without writing code

    Not for

    Teams that need several users with roles on a self-hosted install

    • Record clicks in a browser to build a reusable robot
    • Schedules, webhooks and exports to Google Sheets and Airtable
    • AI mode works with Ollama, OpenAI or Anthropic models
    • REST API, SDKs, CLI and MCP server
    • Teams, SAML SSO and Deep Extraction are only in the cloud
    • One workspace in the self-hosted edition
    • Version numbers are still 0.0.x
    • The current Compose file needs two fixes before it runs
    Licence
    AGPL-3.0 (open core)
    Stack
    TypeScript / Node.js / React / Playwright
    Databases
    PostgreSQL
    GitHub
    18k stars · 57 contributors
    Latest release
    v0.0.48 · Oct 1, 2026
    SSO
    Paid only
    Audit logs
    Not documented
  6. #6Best all-in-one Python scraping library

    Scrapling

    Python scraping library with fast HTTP requests, browser fetching, Scrapy-style spiders and Markdown output

    Spiders, plain HTTP and browser fetching in one crawl, selectors that survive layout changes, and Markdown without an LLM. It markets stealth browsers and getting past Cloudflare Turnstile, which some teams will want to avoid.

    Best for

    Python developers who want crawling, browser fetching and parsing in one library

    Not for

    Teams that want a self-hosted service with a REST API, or that avoid tools marketed for getting past bot protection

    • Scrapy-style spiders with throttling, pause and resume, and exports to JSON, CSV and XML
    • Plain HTTP and a full browser in the same spider
    • Clean Markdown from a page or a whole site, without an LLM
    • Selectors that can find elements again after a site changes its layout
    • MCP server and a Docker image with browsers included
    • Markets stealth browsers and Cloudflare Turnstile handling, which can conflict with site terms
    • No REST API or web interface
    • The basic pip install leaves out the fetchers, which need extra packages and browser downloads
    • Still below version 1.0
    Licence
    BSD-3-Clause (permissive)
    Stack
    Python 3.10+ / Playwright
    GitHub
    88k stars · 42 contributors
    Latest release
    0.5 · Oct 17, 2026
    SSO
    No
    Audit logs
    No
    What people say
  7. #7Best for scripting dynamic pages

    Playwright

    Browser automation library from Microsoft for Chromium, Firefox and WebKit

    The browser layer most tools here build on. Use it directly when you need full control over logins, clicks and waits, and add your own queue and storage.

    Best for

    Developers scripting scrapes of JavaScript-heavy or logged-in pages

    Not for

    Teams that want crawling, queues and storage handled for them

    • One API for Chromium, Firefox and WebKit
    • Waits for elements automatically, so scripts break less often
    • Libraries for JavaScript, Python, Java and .NET
    • MCP server and CLI for AI agents
    • No crawler, queue or result storage, so you build those yourself
    • Proxy rotation is not built in
    • A full browser uses far more memory than a plain HTTP request
    Licence
    Apache-2.0 (permissive)
    Stack
    TypeScript / Node.js, with Python, Java and .NET versions
    GitHub
    98k stars · 822 contributors
    Latest release
    v1.64.1 · Oct 14, 2026
    SSO
    No
    Audit logs
    No
  8. #8Best for prompt-based extraction

    ScrapeGraphAI

    Python library that uses LLMs to extract data from a page based on a plain-language prompt

    Describe the data you want in plain words and get JSON back. Every page costs an LLM call, so it suits small, high-value jobs.

    Best for

    Teams that want to describe the data they need instead of writing selectors

    Not for

    Large crawls where per-page LLM costs add up

    • Extracts data from a prompt with no selectors to write
    • Works with OpenAI, Gemini, Groq, Azure and local Ollama models
    • Pipelines for single pages, lists of pages and search results
    • Can write a Python scraping script for you from a prompt
    • Every page needs LLM calls, which adds cost and time
    • Crawl and Monitor jobs are only in the paid API
    • Proxies and blocking are your responsibility
    Licence
    MIT (permissive)
    Stack
    Python 3.12+ / Playwright
    GitHub
    32k stars · 135 contributors
    Latest release
    v2.3.1 · Oct 6, 2026
    SSO
    No
    Audit logs
    No
  9. #9Simplest URL-to-Markdown server

    Jina Reader

    Service that converts any URL into Markdown for LLMs, the code behind r.jina.ai

    One container with no database that turns a URL, a PDF or an Office file into Markdown. It doesn't crawl, and the repo has no tagged releases.

    Best for

    Teams that want a simple internal endpoint that returns any page as Markdown

    Not for

    Teams that need to crawl whole sites or run scheduled jobs

    • One Docker container with Chrome and LibreOffice included
    • Reads web pages, PDFs and Office documents
    • Uses the same request style as the hosted r.jina.ai API
    • Needs no database
    • No versioned releases, only an oss image tag
    • Reads one URL at a time and has no crawler
    • No cache or rate limiting unless you add them
    Licence
    Apache-2.0 (permissive)
    Stack
    TypeScript / Node.js / headless Chrome
    GitHub
    12k stars · 7 contributors
    SSO
    No
    Audit logs
    No
  10. #10New and worth watching

    Lightpanda

    Headless browser written from scratch in Zig for automation and AI agents

    A headless browser written from scratch for running many sessions at once on little memory. It reached 1.0 in October 2026 and sends usage telemetry by default.

    Best for

    Teams running many headless sessions for crawling or AI agents on limited hardware

    Not for

    Sites that need full Chrome compatibility or real screenshots

    • In the project's benchmark it used 123 MB at peak for 100 pages, against 2 GB for headless Chrome
    • Works with Puppeteer and Playwright through the Chrome DevTools Protocol
    • Can save a page straight to Markdown
    • Proxy support and an option to obey robots.txt
    • No graphical rendering, so screenshots are text-only
    • Sends usage telemetry unless you turn it off
    • A young engine that reached 1.0 in October 2026
    Licence
    AGPL-3.0 (copyleft)
    Stack
    Zig / V8
    GitHub
    37k stars · 76 contributors
    Latest release
    1.0.1 · Oct 15, 2026
    SSO
    No
    Audit logs
    No

More open source scraping tools and crawlers

Browser libraries, web-archive crawlers and other tools that fit a different need.

SoftwareLicenceTypeGitHub starsLatest release
Crawlee for Python
Python version of Crawlee for crawling with plain HTTP or a headless browser
Apache-2.0
Permissive
Crawling framework9.6k(Actively maintained)Oct 2026
Trafilatura
Python library and command-line tool that extracts the main text and metadata from web pages
Apache-2.0
Permissive
Text extraction library7k(Actively maintained)Oct 2026
Puppeteer
JavaScript library for controlling Chrome and Firefox over the DevTools Protocol or WebDriver BiDi
Apache-2.0
Permissive
Browser automation96k(Actively maintained)Oct 2026
Selenium
Long-running browser automation project with WebDriver libraries for many languages
Apache-2.0
Permissive
Browser automation35k(Actively maintained)Oct 2026
Browser Use
Open source AI agent that operates a browser to complete tasks and extract data
MIT
Permissive
AI browser agent118k(Actively maintained)Oct 2026
Stagehand
Browser automation framework that mixes code with AI steps such as act and extract
MIT
Permissive
AI browser automation26k(Actively maintained)Oct 2026
Colly
Fast scraping framework for Go with rate limits, caching and parallel requests
Apache-2.0
Permissive
Crawling framework26k(Slowing: last release 1 to 2 years ago)Mar 2025
Spider
Crawler written in Rust that streams pages and renders JavaScript only when a page needs it
MIT
Permissive
Crawling framework2.8k(Actively maintained)Sep 2026
Apache Nutch
Web-scale crawler from the Apache Software Foundation, built on Hadoop
Apache-2.0
Permissive
Web crawler3.3k(Actively maintained)Aug 2026
Apache StormCrawler
Toolkit for building continuous, low-latency crawlers on Apache Storm
Apache-2.0
Permissive
Web crawler1k(Actively maintained)Aug 2026
Heritrix
The Internet Archive's archival web crawler, which saves sites as WARC files
Apache-2.0
Permissive
Archiving crawler3.3k(Actively maintained)Oct 2026
Browsertrix Crawler
Browser-based crawler from Webrecorder that archives sites in a single Docker container
AGPL-3.0-or-later
Copyleft
Archiving crawler1.2k(Actively maintained)Oct 2026
Beautiful Soup
Python library for parsing HTML and XML and pulling data out of it
MIT
Permissive
HTML parserNot on GitHub(Actively maintained)Jun 2026
Ferret
Declarative query language and runtime for scraping static and dynamic web pages
Apache-2.0
Permissive
Scraping query language6k(Actively maintained)May 2026
LLM Scraper
TypeScript library that extracts structured data from a page with an LLM and a Zod schema
MIT
Permissive
LLM extraction library6.9k(Actively maintained)Feb 2026
Browserless
Headless browser service that runs Chrome in Docker for Puppeteer and Playwright clients
SSPL-1.0
Source-available
Headless browser service14k(Actively maintained)Oct 2026
  • Actively maintained
  • Slowing: last release 1 to 2 years ago
  • Stale: no release in over 2 years

Not included, and why

Popular tools that do a different job, such as browser automation for AI agents or security testing, plus projects that stopped shipping and the big hosted scraping services.

  • Skyvern: An AI agent for browser workflows such as filling in forms, closer to automation than scraping.
  • Steel Browser: Browser session infrastructure for AI agents rather than a scraper.
  • Katana: A crawler built for security testing, to find URLs and endpoints rather than extract content.
  • Crawlab: No release since July 2023 and no commits on its main branch in the last 12 months.
  • Splash: Scrapy's old JavaScript renderer. The last release was in 2020.
  • Rod: No release since July 2024.
  • Apify, Zyte, ScrapingBee, Bright Data and Browserbase: Hosted services, not open source.

How to choose

Library or service

Scrapy, Crawlee, Scrapling and Playwright are libraries your developers write code with. Crawl4AI, Firecrawl, Jina Reader and Maxun run as services that other systems call over HTTP, which suits teams without a dedicated scraping developer. Only tools that drive a real browser can read pages built with JavaScript.

Size the server for the tool

On my 4 GB test server, Scrapy used 63 MB at idle, Crawl4AI 538 MB and Maxun 582 MB, while Firecrawl needed 2.4 GB even with its workers cut down. Browser-based crawling also needs more memory per page than plain HTTP fetching.

Decide where the data goes

For AI and search, pick a tool that outputs clean Markdown, such as Crawl4AI, Firecrawl, Scrapling or Jina Reader. For spreadsheets and databases, structured extraction with selectors is cheaper and more predictable than an LLM.

Budget for proxies and blocks

None of the open source tools here include proxies. You bring your own, and you handle sites that block automated traffic, which is where most of the running cost of scraping sits.

How we evaluate

No vendor influences these pages. A vendor can pay for a Featured placement, labelled Sponsored, which never changes a rank or a review. Geekflare Web Scraping API is Geekflare's own product: it isn't open source, so it's shown as a managed option and never ranked.

What qualifies
Open source or clearly labelled source-available scraping tools, crawlers and browser automation libraries with a release or commit in the last 12 months, and either 1,000+ GitHub stars or a long-established user base. Hosted-only services, CAPTCHA solvers and tools built to evade bot detection are not considered.
Where we look
GitHub, the pages that rank for each category, so both established and newer projects are considered.
How we rank
Fit for business and technical teams: maintenance activity, self-hosting effort, licence terms, and which features the paid editions lock. Payment never changes a ranking.
Where the data comes from
Stars, releases, contributors and licences come from GitHub. Editions, pricing and requirements come from each software's own docs.
Hands-on testing
We install several of the picks in each category on a cloud Ubuntu 24.04 server (2 vCPU, 4 GB RAM) with Docker, and record install time and idle memory.
Questions

Frequently asked questions

For AI and RAG work, Crawl4AI, because Markdown output, LLM extraction, a REST API and an MCP endpoint are all free. For large crawls in Python, Scrapy, and for JavaScript teams, Crawlee.

Open source tools cost nothing to license, but you run the servers, browsers and proxies, and you deal with pages that block you. A commercial API charges per request and handles that part. Many teams use open source for sites that are easy to scrape and an API for the hard ones.

Yes. Firecrawl is AGPL-3.0 and ships a Docker Compose setup. The self-hosted version leaves out screenshots, page actions, the Fire-engine anti-bot service and the dashboard, and its quickstart turns API authentication off.

For extracting data, Scrapy or Crawlee. For crawling the web at search-engine scale, Apache Nutch or StormCrawler. For archiving sites as they looked, Heritrix or Browsertrix Crawler.

No. They let you plug in your own proxies, and Crawl4AI, Crawlee and Scrapling can rotate through a list, but you buy and manage the proxies yourself.