Ferret is a powerful and flexible web scraping system designed to streamline data extraction for use cases like UI testing, machine learning, analytics, and more.
With its own declarative language, Ferret allows you to focus on what data you need — not how to get it — by abstracting away the underlying complexity of browsers, networks, and protocols.
Built to be easy to learn and use, Ferret lets you go from prototype to production with minimal effort, making it ideal for developers, testers, and data scientists alike.
You can start by reading the introduction post on our website and get your hands dirty with the getting started guide.
Ferret system contains multiple tools and components.
- Ferret runtime is the core of the system, containing the language parser and execution engine. It’s designed to be portable and embeddable, making it easy to integrate into any application.
- CLI is a command-line tool for running Ferret scripts directly from the terminal—ideal for quick testing, debugging, and automation workflows.
- Worker is an HTTP server that exposes Ferret as a service. Perfect for building scalable, distributed scraping and automation systems.
- Lab is test runner designed for writing and executing UI tests with Ferret scripts. Useful for building robust test suites and integrating them into CI/CD pipelines.
- Chromium is a Dockerized, headless Chromium browser used by Ferret to execute scripts. It’s based on the latest Chromium build and optimized for headless environments.
- VS Code Syntax Highlighting provides syntax highlighting for the Ferret Query Language in Visual Studio Code, improving developer experience and productivity.
- Ferret Playground is an interactive online environment where you can write, run, and share Ferret scripts—great for prototyping, learning, and collaboration.
Thanks to everyone who contributed.
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.