For a library for web scraping in Rust, the first results are lightpanda-io/browser (This project provides a high-performance headless browser engine specifically built for web automation and data extraction, offering the core capabilities required for complex scraping tasks despite being implemented in Zig rather than Rust), gocolly/colly (This is a high-performance web scraping framework that provides robust request handling, proxy support, and asynchronous execution, though it is written in Go rather than the requested Rust) and googlechrome/puppeteer (This is a powerful browser automation library for the JavaScript ecosystem, but it does not meet the requirement for a Rust-based framework). browserless/browserless and spatie/browsershot round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “best rust web scraping libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
This project is a high-performance headless browser engine designed for scalable web automation, data extraction, and AI agent integration. It provides a specialized environment that allows autonomous agents and testing frameworks to interact with web content through standardized remote control protocols. By executing pages in a lightweight, headless state, the engine minimizes resource consumption while maintaining the ability to perform complex navigation and dynamic content rendering. The platform distinguishes itself through deep integration with AI-centric communication layers and advanc
This project provides a high-performance headless browser engine specifically built for web automation and data extraction, offering the core capabilities required for complex scraping tasks despite being implemented in Zig rather than Rust.
Colly is a high-performance web scraping framework designed for the automated extraction of structured data from websites. It provides a programmable toolkit that manages the complexities of large-scale data collection, including concurrent request orchestration, automatic cookie handling, and robots.txt compliance. By utilizing an asynchronous execution model, the engine maintains high throughput while preventing resource exhaustion during recursive or distributed crawling tasks. The framework is distinguished by its modular, event-driven architecture, which allows developers to hook into sp
This is a high-performance web scraping framework that provides robust request handling, proxy support, and asynchronous execution, though it is written in Go rather than the requested Rust.
Puppeteer is a JavaScript library for programmatically controlling Chrome and Firefox through the Chrome DevTools Protocol or the WebDriver BiDi protocol. It launches and manages browser instances—typically without a visible user interface—to automate interactions with web pages, enabling navigation, clicking, typing, and data extraction entirely through code. The library distinguishes itself through deep integration with the Chromium embedding layer, allowing fine-grained process configuration with custom flags, permissions, and sandbox policies. It maintains multiple concurrent command stre
This is a powerful browser automation library for the JavaScript ecosystem, but it does not meet the requirement for a Rust-based framework.
Browserless is a service-oriented platform designed for remote browser automation and headless execution. It provides a distributed infrastructure that manages browser sessions through containerized isolation, allowing users to execute scripts and interact with web content without maintaining local browser state or infrastructure. The platform functions as a remote API and WebSocket-based control layer, enabling stateless HTTP requests for tasks like document generation and real-time browser interaction. It incorporates proxy-based routing to manage traffic signatures and supports the integra
This is a remote browser orchestration service and infrastructure platform rather than a Rust-based library or framework for web scraping.
Browsershot is a PHP library that serves as a Puppeteer browser wrapper to convert HTML and URLs into PDFs, images, or strings using a headless Chrome browser. It functions as a tool for transforming web content into visual media or extracting the final rendered DOM state of a page. The library enables the automation of browser rendering to generate PDFs and screenshots from web pages. It can retrieve the final rendered HTML markup after all client-side JavaScript execution is complete and can capture a full audit of network requests triggered during the page load process. The system include
This is a PHP library that acts as a wrapper for Puppeteer, meaning it does not meet the requirement for a high-performance Rust-based framework for web scraping.
Crawl4AI is an AI-powered web crawling and data extraction engine designed to transform complex web content into structured formats. It functions as a headless browser orchestrator, enabling the navigation of dynamic websites, the execution of custom scripts, and the capture of visual assets like screenshots and PDFs. By integrating language models directly into the extraction workflow, the system converts raw HTML into clean, structured data or Markdown files optimized for downstream ingestion. The platform distinguishes itself through a distributed, self-hosted infrastructure that manages l
This is a Python-based web crawling and data extraction engine, which does not meet the requirement for a library or framework written in Rust.
Cheerio is an HTML and XML parsing library and server-side DOM implementation. It functions as a markup manipulation tool and CSS selector engine, allowing users to parse, query, and modify HTML or XML documents in non-browser environments. The project provides a DOM-like tree representation of markup strings, enabling programmatic addition, removal, and modification of elements and attributes. It features a prototype-based plugin system that allows the extension of core functionality by adding custom methods to the document prototype. The library covers a broad range of capabilities includi
This is a TypeScript-based HTML parsing and DOM manipulation library for Node.js, which lacks the Rust implementation and the browser automation capabilities required for your high-performance scraping workflow.
MediaCrawler is an automated web scraping framework designed to extract public posts, comments, and creator metadata from various social media platforms. It functions as a headless browser automator, utilizing real browser instances to render dynamic content and execute the client-side scripts necessary for interacting with modern web interfaces. The system distinguishes itself through a focus on session persistence and network flexibility. It supports remote debugging to reuse active browser sessions and cookies, which helps minimize the risk of triggering platform security challenges. To ma
This is a specialized social media extraction tool written in Python rather than a general-purpose Rust web scraping library, making it a specific application instance rather than the framework you requested.
Curl is a command-line tool and portable library for transferring data across a wide range of network protocols. It functions as a unified engine that abstracts diverse communication standards, allowing users and developers to move files and information between servers using a consistent interface. The project provides both a versatile command-line client for terminal-based automation and a stable programmatic interface for integrating complex network operations into applications. The system is distinguished by its protocol-agnostic core and its ability to manage both synchronous and asynchro
This is a low-level network transfer library used for HTTP request handling, but it lacks the HTML parsing and headless browser automation capabilities required for a complete web scraping framework.
requests-html is a Python HTML parsing library and web scraping framework. It functions as an asynchronous HTTP client and a JavaScript rendering engine designed to fetch and parse web pages for structured data extraction. The project integrates a headless browser to execute JavaScript, allowing it to retrieve dynamically generated content that standard HTML parsers cannot see. It provides tools for automated data extraction using CSS selectors and XPath expressions to isolate specific text or attributes from HTML structures. The framework covers network operations including asynchronous pag
This is a Python-based web scraping framework, which does not meet the requirement for a library or framework written in Rust.
jsdom is a Node.js DOM implementation that functions as a headless browser emulator and virtual browser environment. It provides a pure JavaScript implementation of web standards, acting as a web standards polyfill that simulates the window and document objects within a non-browser runtime. The project implements W3C and WHATWG specifications to provide a programmatic environment for parsing HTML and manipulating content. It serves as an HTML parser and serializer, allowing for the transformation of HTML strings into document structures and the export of those structures back into text. The
This is a JavaScript-based DOM implementation and browser emulator, which does not meet the requirement for a high-performance library written in Rust.
Chromeless is a serverless deployment of Chrome and a programmable interface for automating headless browser interactions. It functions as a web page rendering engine and browser orchestrator, enabling the execution of automation tasks within an AWS Lambda environment. The project specializes in managing browser state, cookies, and viewport settings across remote Chrome instances. It provides tools for generating screenshots, PDFs, and raw text exports from rendered web pages. The system supports dynamic web interaction, including form filling, element clicking, and the execution of custom J
This is a TypeScript-based browser automation and orchestration tool for serverless environments, which serves as a building block for web scraping rather than a Rust-native library for the task.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| lightpanda-io/browser | 31.2K | Zig | AGPL-3.0 | |
| gocolly/colly | 25.1K | Go | apache-2.0 | |
| googlechrome/puppeteer |
| 95K |
| TypeScript |
| Apache-2.0 |
| browserless/browserless | 13.4K | TypeScript | NOASSERTION |
| spatie/browsershot | 5.2K | PHP | MIT |
| unclecode/crawl4ai | 68.6K | Python | Apache-2.0 |
| cheeriojs/cheerio | 30.4K | TypeScript | MIT |
| nanmicoder/mediacrawler | 51.3K | Python | NOASSERTION |
| curl/curl | 42.2K | C | NOASSERTION |
| psf/requests-html | 13.8K | Python | MIT |