# Scrapfly Documentation

## Table of Contents

### Dashboard

- [Intro](https://scrapfly.io/docs)
- [Project](https://scrapfly.io/docs/project)
- [Account](https://scrapfly.io/docs/account)
- [Workspace & Team](https://scrapfly.io/docs/workspace-and-team)
- [Billing](https://scrapfly.io/docs/billing)

### Products

#### MCP Server

- [Getting Started](https://scrapfly.io/docs/mcp/getting-started)
- [Tools & API Spec](https://scrapfly.io/docs/mcp/tools)
- [Authentication](https://scrapfly.io/docs/mcp/authentication)
- [Examples & Use Cases](https://scrapfly.io/docs/mcp/examples)
- [FAQ](https://scrapfly.io/docs/mcp/faq)
##### Integrations

- [Overview](https://scrapfly.io/docs/mcp/integrations)
- [Claude Desktop](https://scrapfly.io/docs/mcp/integrations/claude-desktop)
- [Claude Code](https://scrapfly.io/docs/mcp/integrations/claude-code)
- [ChatGPT](https://scrapfly.io/docs/mcp/integrations/chatgpt)
- [Cursor](https://scrapfly.io/docs/mcp/integrations/cursor)
- [Cline](https://scrapfly.io/docs/mcp/integrations/cline)
- [Windsurf](https://scrapfly.io/docs/mcp/integrations/windsurf)
- [Zed](https://scrapfly.io/docs/mcp/integrations/zed)
- [Roo Code](https://scrapfly.io/docs/mcp/integrations/roo-code)
- [VS Code](https://scrapfly.io/docs/mcp/integrations/vscode)
- [LangChain](https://scrapfly.io/docs/mcp/integrations/langchain)
- [LlamaIndex](https://scrapfly.io/docs/mcp/integrations/llamaindex)
- [CrewAI](https://scrapfly.io/docs/mcp/integrations/crewai)
- [OpenAI](https://scrapfly.io/docs/mcp/integrations/openai)
- [n8n](https://scrapfly.io/docs/mcp/integrations/n8n)
- [Make](https://scrapfly.io/docs/mcp/integrations/make)
- [Zapier](https://scrapfly.io/docs/mcp/integrations/zapier)
- [Vapi AI](https://scrapfly.io/docs/mcp/integrations/vapi)
- [Agent Builder](https://scrapfly.io/docs/mcp/integrations/agent-builder)
- [Custom Client](https://scrapfly.io/docs/mcp/integrations/custom-client)


#### Web Scraping API

- [Getting Started](https://scrapfly.io/docs/scrape-api/getting-started)
- [API Specification]()
- [Monitoring](https://scrapfly.io/docs/monitoring)
- [Customize Request](https://scrapfly.io/docs/scrape-api/custom)
- [Debug](https://scrapfly.io/docs/scrape-api/debug)
- [Anti Scraping Protection](https://scrapfly.io/docs/scrape-api/anti-scraping-protection)
- [Proxy](https://scrapfly.io/docs/scrape-api/proxy)
- [Proxy Mode](https://scrapfly.io/docs/scrape-api/proxy-mode)
- [Proxy Mode - Screaming Frog](https://scrapfly.io/docs/scrape-api/proxy-mode/screaming-frog)
- [Proxy Mode - Apify](https://scrapfly.io/docs/scrape-api/proxy-mode/apify)
- [(Auto) Data Extraction](https://scrapfly.io/docs/scrape-api/extraction)
- [Javascript Rendering](https://scrapfly.io/docs/scrape-api/javascript-rendering)
- [Javascript Scenario](https://scrapfly.io/docs/scrape-api/javascript-scenario)
- [SSL](https://scrapfly.io/docs/scrape-api/ssl)
- [DNS](https://scrapfly.io/docs/scrape-api/dns)
- [Cache](https://scrapfly.io/docs/scrape-api/cache)
- [Batch (Multi-URL Scraping)](https://scrapfly.io/docs/scrape-api/batch)
- [Session](https://scrapfly.io/docs/scrape-api/session)
- [Webhook](https://scrapfly.io/docs/scrape-api/webhook)
- [Screenshot](https://scrapfly.io/docs/scrape-api/screenshot)
- [Errors](https://scrapfly.io/docs/scrape-api/errors)
- [Timeout](https://scrapfly.io/docs/scrape-api/understand-timeout)
- [Throttling](https://scrapfly.io/docs/throttling)
- [Troubleshoot](https://scrapfly.io/docs/scrape-api/troubleshoot)
- [Billing](https://scrapfly.io/docs/scrape-api/billing)
- [FAQ](https://scrapfly.io/docs/scrape-api/faq)

#### Crawler API

- [Getting Started](https://scrapfly.io/docs/crawler-api/getting-started)
- [API Specification]()
- [Retrieving Results](https://scrapfly.io/docs/crawler-api/results)
- [WARC Format](https://scrapfly.io/docs/crawler-api/warc-format)
- [Data Extraction](https://scrapfly.io/docs/crawler-api/extraction-rules)
- [Webhook](https://scrapfly.io/docs/crawler-api/webhook)
- [Billing](https://scrapfly.io/docs/crawler-api/billing)
- [Errors](https://scrapfly.io/docs/crawler-api/errors)
- [Troubleshoot](https://scrapfly.io/docs/crawler-api/troubleshoot)
- [FAQ](https://scrapfly.io/docs/crawler-api/faq)

#### Screenshot API

- [Getting Started](https://scrapfly.io/docs/screenshot-api/getting-started)
- [API Specification]()
- [Accessibility Testing](https://scrapfly.io/docs/screenshot-api/accessibility)
- [Webhook](https://scrapfly.io/docs/screenshot-api/webhook)
- [Billing](https://scrapfly.io/docs/screenshot-api/billing)
- [Errors](https://scrapfly.io/docs/screenshot-api/errors)

#### Extraction API

- [Getting Started](https://scrapfly.io/docs/extraction-api/getting-started)
- [API Specification]()
- [Rules Template](https://scrapfly.io/docs/extraction-api/rules-and-template)
- [LLM Extraction](https://scrapfly.io/docs/extraction-api/llm-prompt)
- [AI Auto Extraction](https://scrapfly.io/docs/extraction-api/automatic-ai)
- [Webhook](https://scrapfly.io/docs/extraction-api/webhook)
- [Billing](https://scrapfly.io/docs/extraction-api/billing)
- [Errors](https://scrapfly.io/docs/extraction-api/errors)
- [FAQ](https://scrapfly.io/docs/extraction-api/faq)

#### Proxy Saver

- [Getting Started](https://scrapfly.io/docs/proxy-saver/getting-started)
- [Fingerprints](https://scrapfly.io/docs/proxy-saver/fingerprints)
- [Optimizations](https://scrapfly.io/docs/proxy-saver/optimizations)
- [SSL Certificates](https://scrapfly.io/docs/proxy-saver/certificates)
- [Protocols](https://scrapfly.io/docs/proxy-saver/protocols)
- [Pacfile](https://scrapfly.io/docs/proxy-saver/pacfile)
- [Secure Credentials](https://scrapfly.io/docs/proxy-saver/security)
- [Billing](https://scrapfly.io/docs/proxy-saver/billing)

#### Cloud Browser API

- [Getting Started](https://scrapfly.io/docs/cloud-browser-api/getting-started)
- [Proxy & Geo-Targeting](https://scrapfly.io/docs/cloud-browser-api/proxy)
- [Unblock API](https://scrapfly.io/docs/cloud-browser-api/unblock)
- [File Downloads](https://scrapfly.io/docs/cloud-browser-api/file-downloads)
- [Session Resume](https://scrapfly.io/docs/cloud-browser-api/session-resume)
- [Human-in-the-Loop](https://scrapfly.io/docs/cloud-browser-api/human-in-the-loop)
- [Debug Mode](https://scrapfly.io/docs/cloud-browser-api/debug-mode)
- [Bring Your Own Proxy](https://scrapfly.io/docs/cloud-browser-api/bring-your-own-proxy)
- [Browser Extensions](https://scrapfly.io/docs/cloud-browser-api/extensions)
- [Native Browser MCP](https://scrapfly.io/docs/cloud-browser-api/mcp)
- [DevTools Protocol](https://scrapfly.io/docs/cloud-browser-api/cdp-reference)
##### Integrations

- [Puppeteer](https://scrapfly.io/docs/cloud-browser-api/puppeteer)
- [Playwright](https://scrapfly.io/docs/cloud-browser-api/playwright)
- [Selenium](https://scrapfly.io/docs/cloud-browser-api/selenium)
- [Vercel Agent Browser](https://scrapfly.io/docs/cloud-browser-api/agent-browser)
- [Browser Use](https://scrapfly.io/docs/cloud-browser-api/browser-use)
- [Stagehand](https://scrapfly.io/docs/cloud-browser-api/stagehand)

- [Billing](https://scrapfly.io/docs/cloud-browser-api/billing)
- [Errors](https://scrapfly.io/docs/cloud-browser-api/errors)


### Tools

- [Antibot Detector](https://scrapfly.io/docs/tools/antibot-detector)

### SDK

- [Golang](https://scrapfly.io/docs/sdk/golang)
- [Python](https://scrapfly.io/docs/sdk/python)
- [Rust](https://scrapfly.io/docs/sdk/rust)
- [TypeScript](https://scrapfly.io/docs/sdk/typescript)
- [Scrapy](https://scrapfly.io/docs/sdk/scrapy)

### Integrations

- [Getting Started](https://scrapfly.io/docs/integration/getting-started)
- [LangChain](https://scrapfly.io/docs/integration/langchain)
- [LlamaIndex](https://scrapfly.io/docs/integration/llamaindex)
- [CrewAI](https://scrapfly.io/docs/integration/crewai)
- [Zapier](https://scrapfly.io/docs/integration/zapier)
- [Make](https://scrapfly.io/docs/integration/make)
- [n8n](https://scrapfly.io/docs/integration/n8n)

### Academy

- [Overview](https://scrapfly.io/academy)
- [Web Scraping Overview](https://scrapfly.io/academy/scraping-overview)
- [Tools](https://scrapfly.io/academy/tools-overview)
- [Reverse Engineering](https://scrapfly.io/academy/reverse-engineering)
- [Static Scraping](https://scrapfly.io/academy/static-scraping)
- [HTML Parsing](https://scrapfly.io/academy/html-parsing)
- [Dynamic Scraping](https://scrapfly.io/academy/dynamic-scraping)
- [Hidden API Scraping](https://scrapfly.io/academy/hidden-api-scraping)
- [Headless Browsers](https://scrapfly.io/academy/headless-browsers)
- [Hidden Web Data](https://scrapfly.io/academy/hidden-web-data)
- [JSON Parsing](https://scrapfly.io/academy/json-parsing)
- [Data Processing](https://scrapfly.io/academy/data-processing)
- [Scaling](https://scrapfly.io/academy/scaling)
- [Walkthrough Summary](https://scrapfly.io/academy/walkthrough-summary)
- [Scraper Blocking](https://scrapfly.io/academy/scraper-blocking)
- [Proxies](https://scrapfly.io/academy/proxies)

---

#  Installation

 [  View as markdown ](https://scrapfly.io/?view=markdown)   Copy for LLM    Copy for LLM  [     Open in ChatGPT ](https://chatgpt.com/?hints=search&prompt=Read%20from%20https%3A%2F%2Fscrapfly.io%2Fdocs%2Fcli%2Finstall%20so%20I%20can%20ask%20questions%20about%20it.) [     Open in Claude ](https://claude.ai/new?q=Read%20from%20https%3A%2F%2Fscrapfly.io%2Fdocs%2Fcli%2Finstall%20so%20I%20can%20ask%20questions%20about%20it.) [     Open in Perplexity ](https://www.perplexity.ai/search/new?q=Read%20from%20https%3A%2F%2Fscrapfly.io%2Fdocs%2Fcli%2Finstall%20so%20I%20can%20ask%20questions%20about%20it.) 

 

 

The Scrapfly CLI is a single self-contained Go binary. Pre-built archives are published for:

- **macOS** — `darwin-amd64`, `darwin-arm64`, and a `darwin-universal` fat binary
- **Linux** — `linux-amd64`, `linux-arm64`
- **Windows** — `windows-amd64` (zip archive)
 
Archive naming follows a deterministic `scrapfly-{os}-{arch}.{tar.gz|zip}` pattern so you can script downloads without scraping the releases page.

## curl | sh (macOS / Linux — Recommended)

Detects your OS and architecture, downloads the matching archive, verifies the SHA256 checksum, and installs to `/usr/local/bin` (falling back to `$HOME/.local/bin` if `/usr/local/bin` is not writable):

 ```
curl -fsSL https://scrapfly.io/scrapfly-cli/install | sh
```

 

  

 

To force install into a system-wide location when `/usr/local/bin` requires elevation:

 ```
curl -fsSL https://scrapfly.io/scrapfly-cli/install | sudo sh
```

 

  

 

### Installer Flags

The installer accepts flags after `sh -s --`, or equivalent environment variables:

 | Flag | Env var | Purpose |
|---|---|---|
| `--version <tag>` | `SCRAPFLY_VERSION` | Pin a release (e.g. `v0.1.0`). Default: `latest`. |
| `--prefix <dir>` | `PREFIX` | Install directory. Default: `/usr/local/bin`. |
| `--dest <path>` | — | Explicit binary path (overrides `--prefix`). |
| `--no-verify` | — | Skip the SHA256 check. Not recommended. |

Pin a specific version:

 ```
curl -fsSL https://scrapfly.io/scrapfly-cli/install | sh -s -- --version v0.1.0
```

 

  

 

Install into a user-local prefix without `sudo`:

 ```
curl -fsSL https://scrapfly.io/scrapfly-cli/install | sh -s -- --prefix "$HOME/.local/bin"
```

 

  

 

## Windows

The `curl | sh` path requires a POSIX shell. On Windows, either install inside **WSL** / **Git Bash** (use the shell command above), or grab the zip directly from GitHub Releases:

 ```
# PowerShell
Invoke-WebRequest `
  -Uri https://github.com/scrapfly/scrapfly-cli/releases/latest/download/scrapfly-windows-amd64.zip `
  -OutFile scrapfly.zip
Expand-Archive -Path scrapfly.zip -DestinationPath "$env:USERPROFILE\scrapfly"
# Add "$env:USERPROFILE\scrapfly" to PATH, then:
scrapfly version
```

 

  

 

> Only `windows-amd64` is published today. For Windows arm64 machines, run the amd64 binary under the x64 emulation layer or use WSL.

## npm

Install as a project dev dependency:

 ```
npm install -D scrapfly-cli
```

 

  

 

Run via `npx` or add to `package.json` scripts. The npm wrapper detects your OS/arch and pulls the matching binary at install time.

 ```
npx scrapfly scrape https://web-scraping.dev/products
```

 

  

 

## go install

Requires Go 1.22 or later. The binary is placed in `$GOPATH/bin` (or `$HOME/go/bin`):

 ```
go install github.com/scrapfly/scrapfly-cli/cmd/scrapfly@latest
```

 

  

 

> `go install` builds from source and skips the signed release archives. Prefer the installer script or a tagged archive if you need a reproducible, checksum-verified binary.

## Homebrew

macOS and Linux via Homebrew tap:

 ```
brew install scrapfly/tap/scrapfly-cli
```

 

  

 

> The Homebrew tap is in progress. Check the [GitHub releases page](https://github.com/scrapfly/scrapfly-cli/releases) for the current availability.

## GitHub Release Archive

Download an archive directly for a specific OS/arch. Replace `latest` with `v0.1.0` (or any tag) to pin a version:

 ```
# Linux amd64
curl -fsSL https://github.com/scrapfly/scrapfly-cli/releases/latest/download/scrapfly-linux-amd64.tar.gz \
  | tar -xz -C /usr/local/bin scrapfly

# Linux arm64
curl -fsSL https://github.com/scrapfly/scrapfly-cli/releases/latest/download/scrapfly-linux-arm64.tar.gz \
  | tar -xz -C /usr/local/bin scrapfly

# macOS universal (works on Intel + Apple Silicon)
curl -fsSL https://github.com/scrapfly/scrapfly-cli/releases/latest/download/scrapfly-darwin-universal.tar.gz \
  | tar -xz -C /usr/local/bin scrapfly

# macOS arm64 (leaner, Apple Silicon only)
curl -fsSL https://github.com/scrapfly/scrapfly-cli/releases/latest/download/scrapfly-darwin-arm64.tar.gz \
  | tar -xz -C /usr/local/bin scrapfly
```

 

  

 

## SHA256 Verification

Releases ship one checksums file per platform: `checksums-darwin.txt`, `checksums-linux.txt`, `checksums-windows.txt`. The `curl | sh` installer verifies automatically — this section is for manual downloads.

 ```
# Download the archive and matching checksums file
curl -LO https://github.com/scrapfly/scrapfly-cli/releases/latest/download/scrapfly-linux-amd64.tar.gz
curl -LO https://github.com/scrapfly/scrapfly-cli/releases/latest/download/checksums-linux.txt

# Verify (exits non-zero on mismatch)
sha256sum --check --ignore-missing checksums-linux.txt
```

 

  

 

On macOS without GNU coreutils, use `shasum -a 256` instead of `sha256sum`.

## Self-Update

Update to the latest release without re-running the install script:

 ```
scrapfly update
```

 

  

 

The CLI checks GitHub Releases for a newer version and replaces itself in place, reusing the same SHA256 verification as the installer.

## Verify Installation

 ```
scrapfly version
```

 

  

 

Next: [set up authentication](https://scrapfly.io/docs/cli/authentication).