butterfly

Bot User-Agent: butterfly

🤖 Overview

The Butterfly web crawler is an open‑source, Python‑based crawling framework developed and maintained by the community on GitHub (repository butterfly‑crawler), designed for high‑throughput, configurable data extraction from public websites. It is used primarily by researchers, data scientists, and hobbyists to build custom datasets for natural language processing, machine learning, and information retrieval projects. Unlike proprietary AI crawlers, Butterfly is not tied to a single commercial product; instead, it serves as a flexible tool for users who need fine‑grained control over crawl depth, parallelism, and storage backends.

🌐 Technical Behavior

Butterfly employs an asynchronous architecture built on top of aiohttp and asyncio, enabling concurrent requests and efficient resource usage. By default, the crawler respects a configurable delay between requests (commonly 1–5 seconds) and can be tuned to throttle at a given requests‑per‑second rate. It supports both breadth‑first and depth‑first traversal strategies, and can handle JavaScript‑rendered content if a headless browser like Selenium is attached. The crawler does not have a fixed IP range; instead, it uses the IP address of the machine it runs on, which can be a residential or cloud IP. Its HTTP requests include standard headers like User‑Agent, Accept, and Accept‑Language, and it automatically follows redirects up to a configurable limit.

📋 robots.txt Compliance

The Butterfly crawler is designed to adhere strictly to the robots.txt exclusion protocol. By default, the framework parses the robots.txt file of each target domain and will not crawl any paths listed under Disallow. Users can optionally override this behavior through code changes, but the official documentation strongly recommends honoring robots.txt for ethical crawling. No known CVE violations have been reported against Butterfly regarding robots.txt disregard.

🔍 Detection Indicators

The default User‑Agent string for Butterfly is "Butterfly/1.0 (+https://github.com/butterfly‑crawler)", though users are free to customize it. Behavioral fingerprints include a high rate of sequential page requests from the same IP with consistent inter‑request timing, and the presence of the Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 header. The crawler sends a Connection: keep‑alive header and a typical Accept‑Encoding header (gzip, deflate). Logs may show repeated GET requests to the same domain with no referrer.

📊 Data Usage

The data collected by Butterfly is used exclusively for the purposes defined by the operator of the crawler, which can range from academic research (e.g., building language models) to personal analytics or archiving. Because Butterfly is a tool rather than a service, there is no central aggregation of data; each instance stores results locally or in a user‑configured database. The project’s license (MIT) permits unrestricted use, but users are advised to comply with website terms of service and copyright laws.

⚙️ Rate Limiting Policy

Rate limiting of Butterfly is recommended because individual instances can generate a high volume of requests in a short time, potentially degrading server performance for other users. A typical policy applies a threshold of 50 requests per minute per IP before a temporary block (e.g., 429 Too Many Requests) is triggered, balancing legitimate data collection with resource fairness.

53% of Web Traffic Is Bots in 2026

— Imperva Bad Bot Report 2026

How much of your traffic is automated? Get your personal bot traffic report and see exactly what's hitting your server — completely free.

📊 Get My Bot Report

Sign up in seconds  ·  No card required

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the bots listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.