Skip to content

Welcome to Ferret!

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.

Where to start

You can start by reading the introduction post on our website and get your hands dirty with the getting started guide.

Ecosystem

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.

Contributors

Thanks to everyone who contributed.

Financial support

Support this project by becoming a sponsor. Your logo will show up here with a link to your website.

Pinned Loading

  1. ferret ferret Public

    Declarative web scraping

    Go 5.8k 304

  2. cli cli Public

    Ferret CLI

    Go 19 5

  3. worker worker Public

    Containerized Ferret worker

    Go 14 7

  4. lab lab Public

    Test runner for Ferret

    Go 12 3

  5. chromium chromium Public

    Dockerized headless Chromium

    Shell 16 8

  6. vscode-fql-syntax vscode-fql-syntax Public

    FQL syntax highlight for VSCode

    TypeScript 5 1

Repositories

Showing 10 of 21 repositories

Top languages

Loading…

Most used topics

Loading…