← 开源
any4ai

AnyCrawl

AnyCrawl 🚀: A Node.js/TypeScript crawler that turns websites into LLM-ready data and extracts structured SERP results from Google/Bing/Baidu/etc. Native multi-threading for bulk processing.

AI EngineeringGive agent knowledgeTypeScript
在 GitHub 打开
增长势头
+224 小时新增 Star+0.1%
3.48k
Star
370
Fork
+2
本周
3
贡献者
创建于 2025-03-31 · 更新于 2026-10-16 · 今日第 3538 名
主要开发者
QThansany4ai

any4ai/AnyCrawl 排名第 3,538,有 3,481 个星标。

同类别比较

any4ai/AnyCrawl 排名第 3,538,此处有 8 个同类条目;batrachianai/toad 排名第 3,539。

同类别比较
名称排名指标
code-yeongyu/lazycodex3,518
语言:
TypeScript
星标数:
3,782
分叉数:
246
简介:
The one and only agent harness for complex codebases. Project memory, planning, execution, and verified completion inside Codex.
memodb-io/Acontext3,523
语言:
JavaScript
星标数:
3,694
分叉数:
332
简介:
Agent Skills as a Memory Layer
laravel/boost3,526
语言:
PHP
星标数:
3,653
分叉数:
384
简介:
Laravel-focused MCP server for augmenting your AI powered local development experience.
ericosiu/ai-marketing-skills3,527
语言:
Python
星标数:
3,637
分叉数:
687
batrachianai/toad3,539
语言:
Python
星标数:
3,478
分叉数:
158
简介:
A unified interface for AI in your terminal.
fantastic-admin/basic3,544
语言:
Vue
星标数:
3,418
分叉数:
399
简介:
⭐⭐⭐⭐⭐ 面向 AI 编程的管理系统框架,兼容PC、移动端。AI-oriented management system framework, compatible with PC and mobile device.
openai/human-eval3,545
语言:
Python
星标数:
3,406
分叉数:
475
简介:
Code for the paper "Evaluating Large Language Models Trained on Code"
ANative-Lab/EvoAgentX3,549
语言:
Python
星标数:
3,384
分叉数:
317
简介:
🚀 EvoAgentX: Building a Self-Evolving Ecosystem of AI Agents
关键参数与规格
关键参数与规格
参数值
语言TypeScript
类别AI Engineering
子类别Give agent knowledge
关键词Data processing, Data scraping
星标数3,481
分叉数370
贡献者3
创建日期2025-03-31
更新日期2026-10-16
1 天星标数2
7 天星标数2
排名3,538
上次排名4,993
排名变化1,455
7 天星标排名7,666
上次 7 天星标排名9,240
7 天星标排名变化1,574
总星标排名3,930
上次总星标排名3,924
总星标排名变化-6
README 摘录

Access 80M+ rotating residential IPs across 195+ countries with stable connections, high anonymity, and developer-friendly integration. Ideal for AI agents, crawlers, browser automation, and anti-bot bypass workflows. Use code **PROXY90** for an exclusive 10% discount. With 90M+ residential IPs, smart rotation, stable sessions, high concurrency, AI-powered CAPTCHA bypass, and non-expiring traffic, RapidProxy helps developers run reliable automation tasks at scale. 📖 Overview AnyCrawl is a high‑performance crawling and scraping toolkit: **SERP crawling**: multiple search engines, batch

‑friendly **Web scraping**: single‑page content extraction **Site crawling**: full‑site traversal and collection **High performance**: multi‑threading / multi‑process **Batch tasks**: reliable and efficient **AI extraction**: LLM‑powered structured data (JSON) extraction from pages LLM‑friendly. 🚀 Quick Start 📖 See full docs: Docs Generate an API Key (self-host) If you enable authentication ( ), generate an API key: The command prints uuid, key and credits. Run Inside Docker If running AnyCrawl via Docker: Docker Compose: Single container (replace ): 📚 Usage Examples 💡 Use

the Playground to test APIs and generate code in your preferred language. If self‑hosting, replace with your own server URL. Must be a valid URL starting with http:// or https:// | - | | engine | string | Scraping engine to use. Options: (static HTML parsing, fastest), (JavaScript rendering with modern engine), (JavaScript rendering with Chrome) | cheerio | | proxy | string | Proxy URL for the request. Format: | _(none)_ | | max_age | number | Cache control (ms). = force refresh (skip cache read); = accept cached content within this age; omit to

use default. | _(none)_ | | store_in_cache | boolean | Cache control. | true | More parameters: see Request Parameters. Cache details (self-host / S3 / map index): see Cache. Browser Runtime The public scrape and crawl engine values remain , , and . For self-hosted browser engines, and are launched through CloakBrowser by default; callers should not send a engine value. Docker images pre-install its browser binary during image build. For local or custom deployments, set to a stable writable path and to avoid browser downloads

during worker startup. If you manage the binary yourself, set . Browser engines use CloakBrowser's native fingerprint and context/viewport defaults. Crawlee fingerprint injection and its automatic headless UA override are disabled for this runtime; explicit user-agent and viewport overrides remain supported. Browser processes are reused only for the same configured proxy URL, while page contexts remain isolated by default. (default) resolves timezone and locale through the selected proxy when a browser starts. The optional GeoIP dependencies are installed; its

database (~70 MB) is downloaded and cached on first use. For a known region, set both and to avoid lookup, or explicitly disable automatic lookup with . Use sticky or region-stable proxies: a fixed proxy URL does not guarantee a fixed exit, and GeoIP databases may disagree. Changing the exit behind the same URL cannot change an already running browser's process-wide timezone. API and worker deployments should use the same browser region settings. Browser cache identity includes the native

fingerprint policy and these settings, preventing reuse of entries from the old injected-fingerprint policy. LLM Extraction Atlas Cloud Provider

常见问题

记录了多少星标和分叉?

any4ai/AnyCrawl 有 3,481 个星标和 370 个分叉。

仓库排名是多少?

any4ai/AnyCrawl 排名第 3,538。

记录的语言和类别是什么?

any4ai/AnyCrawl 有 3,481 个星标,语言为 TypeScript,类别为 AI Engineering。

哪个仓库排名最接近?

any4ai/AnyCrawl 与 batrachianai/toad 比较,后者排名第 3,539,有 3,478 个星标。

README

AnyCrawl

 ![AnyCrawl](https://img.shields.io/badge/any4ai-AnyCrawl-6d47b8) 

Sponsors

[![SwiftProxy](https://ac-public.anycrawl.dev/sponsors/SWIFTPROXY-1200_628-1.png)](https://www.swiftproxy.net/?ref=AnyCrawl)

Swiftproxy(https://www.swiftproxy.net/?ref=AnyCrawl) — High-performance residential proxies built for scraping, automation, and large-scale data collection. Access 80M+ rotating residential IPs across 195+ countries with stable connections, high anonymity, and developer-friendly integration. Ideal for AI agents, crawlers, browser automation, and anti-bot bypass workflows. Free trial available. Use code PROXY90 for an exclusive 10% discount.

[![Rapidproxy](assets/sponsors/rapidproxy.png)](https://www.rapidproxy.io/?ref=AnyCrawl)

Rapidproxy — RapidProxy is a high-performance proxy provider offering clean residential proxies and native static ISP IPs for web scraping, browser automation, social media automation, e-commerce, multi-account management, and large-scale data operations. With 90M+ residential IPs, smart rotation, stable sessions, high concurrency, AI-powered CAPTCHA bypass, and non-expiring traffic, RapidProxy helps developers run reliable automation tasks at scale. Residential proxies start from $0.65/GB. Use code RAPID10 for 10% off — try it now.

📖 Overview

AnyCrawl is a high‑performance crawling and scraping toolkit:

  • SERP crawling: multiple search engines, batch‑friendly
  • Web scraping: single‑page content extraction
  • Site crawling: full‑site traversal and collection
  • High performance: multi‑threading / multi‑process
  • Batch tasks: reliable and efficient
  • AI extraction: LLM‑powered structured data (JSON) extraction from pages

LLM‑friendly. Easy to integrate and use.

🚀 Quick Start

📖 See full docs: Docs

Generate an API Key (self-host)

If you enable authentication (ANYCRAWL_API_AUTH_ENABLED=true), generate an API key:

pnpm --filter api key:generate
# optionally name the key
pnpm --filter api key:generate -- default

The command prints uuid, key and credits. Use the printed key as a Bearer token.

Run Inside Docker

If running AnyCrawl via Docker:

  • Docker Compose:
docker compose exec api pnpm --filter api key:generate
docker compose exec api pnpm --filter api key:generate -- default
  • Single container (replace ):
docker exec -it  pnpm --filter api key:generate
docker exec -it  pnpm --filter api key:generate -- default

📚 Usage Examples

💡 Use the Playground to test APIs and generate code in your preferred language.

If self‑hosting, replace https://api.anycrawl.dev with your own server URL.

Web Scraping (Scrape)

Example


curl -X POST https://api.anycrawl.dev/v1/scrape \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
  -d '{
  "url": "https://example.com",
  "engine": "cheerio"
}'

Parameters

Parameter Type Description Default
url string (required) The URL to be scraped. Must be a valid URL starting with http:// or https:// -
engine string Scraping engine to use. Options: cheerio (static HTML parsing, fastest), playwright (JavaScript rendering with modern engine), puppeteer (JavaScript rendering with Chrome) cheerio
proxy string Proxy URL for the request. Supports HTTP and SOCKS proxies. Format: http://[username]:[password]@proxy:port (none)
max_age number Cache control (ms). 0 = force refresh (skip cache read); > 0 = accept cached content within this age; omit to use default. (none)
store_in_cache boolean Cache control. Whether to store the result in cache. To bypass cache reads, use max_age=0. true

More parameters: see Request Parameters.

Cache details (self-host / S3 / map index): see Cache.

Browser Runtime

The public scrape and crawl engine values remain cheerio, playwright, and puppeteer. For self-hosted browser engines, playwright and puppeteer are launched through CloakBrowser by default; callers should not send a cloakbrowser engine value.

CloakBrowser requires Node.js 20 or newer. Docker images pre-install its browser binary during image build. For local or custom deployments, set CLOAKBROWSER_CACHE_DIR to a stable writable path and CLOAKBROWSER_AUTO_UPDATE=false to avoid browser downloads during worker startup. If you manage the binary yourself, set CLOAKBROWSER_BINARY_PATH.

Browser engines use CloakBrowser's native fingerprint and context/viewport defaults. Crawlee fingerprint injection and its automatic headless UA override are disabled for this runtime; explicit user-agent and viewport overrides remain supported. Browser processes are reused only for the same configured proxy URL, while page contexts remain isolated by default.

ANYCRAWL_BROWSER_GEOIP=true (default) resolves timezone and locale through the selected proxy when a browser starts. The optional GeoIP dependencies are installed; its database (~70 MB) is downloaded and cached on first use. Failed resolution fails the launch instead of continuing with an unknown region. For a known region, set both ANYCRAWL_BROWSER_TIMEZONE and ANYCRAWL_BROWSER_LOCALE to avoid lookup, or explicitly disable automatic lookup with ANYCRAWL_BROWSER_GEOIP=false. Use sticky or region-stable proxies: a fixed proxy URL does not guarantee a fixed exit, and GeoIP databases may disagree. Changing the exit behind the same URL cannot change an already running browser's process-wide timezone.

API and worker deployments should use the same browser region settings. Browser cache identity includes the native fingerprint policy and these settings, preventing reuse of entries from the old injected-fingerprint policy. Existing cached data is retained.

LLM Extraction

curl -X POST "https://api.anycrawl.dev/v1/scrape" \
  -H "Authorization: Bearer YOUR_ANYCRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "json_options": {
      "schema": {
        "type": "object",
        "properties": {
          "company_mission": { "type": "string" },
          "is_open_source": { "type": "boolean" },
          "employee_count": { "type": "number" }
        },
        "required": ["company_mission"]
      }
    }
  }'

Atlas Cloud Provider

AnyCrawl supports Atlas Cloud as an OpenAI-compatible LLM provider for extraction and summarization workloads.

  • Official site: Atlas Cloud
  • LLM base URL: https://api.atlascloud.ai/v1
  • Recommended env model format: atlascloud/deepseek-v3
ATLASCLOUD_BASE_URL=https://api.atlascloud.ai/v1
ATLASCLOUD_API_KEY=your-atlascloud-api-key
DEFAULT_LLM_MODEL=atlascloud/deepseek-v3
DEFAULT_EXTRACT_MODEL=atlascloud/deepseek-v3

If you prefer file-based AI config, add an atlascloud provider entry in ai.config.json and map it to any Atlas Cloud model exposed through the OpenAI-compatible chat API.

Site Crawling (Crawl)

Example


curl -X POST https://api.anycrawl.dev/v1/crawl \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
  -d '{
  "url": "https://example.com",
  "engine": "playwright",
  "max_depth": 2,
  "limit": 10,
  "strategy": "same-domain"
}'

Parameters

Parameter Type Description Default
url string (required) Starting URL to crawl -
engine string Crawling engine. Options: cheerio, playwright, puppeteer cheerio
max_depth number Max depth from the start URL 10
limit number Max number of pages to crawl 100
strategy enum Scope: all, same-domain, same-hostname, same-origin same-domain
include_paths array Only crawl paths matching these patterns (none)
exclude_paths array Skip paths matching these patterns (none)
scrape_options object Per-page scrape options (formats, timeout, json extraction, etc.), same as Scrape options (none)

More parameters and endpoints: see Request Parameters.

Batch Scrape

Scrape many known URLs in a single asynchronous job, all sharing the same scrape options. Create a job, then poll status and pull paginated results (like Crawl, but with a fixed URL set and no link discovery).

Example


curl -X POST https://api.anycrawl.dev/v1/batch/scrape \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
  -d '{
  "urls": ["https://example.com/a", "https://example.com/b"],
  "engine": "cheerio",
  "formats": ["markdown"]
}'
# -> { "success": true, "data": { "job_id": "...", "status": "created", "total": 2 } }

# Poll status / fetch results
curl -H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' https://api.anycrawl.dev/v1/batch/scrape/JOB_ID/status
curl -H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' https://api.anycrawl.dev/v1/batch/scrape/JOB_ID

Parameters

Parameter Type Description Default
urls array (req) URLs to scrape (de-duplicated; up to ANYCRAWL_BATCH_SCRAPE_MAX_URLS) -
engine string Scrape engine: auto, cheerio, playwright, puppeteer auto
ignore_invalid_urls boolean Skip malformed URLs (returned in invalid_urls) instead of erroring true
scrape options - All single-scrape options (formats, proxy, json_options, ...) shared across every URL -

Credits are charged per successfully scraped URL (failed URLs are not charged).

Search Engine Results (SERP)

Example

curl -X POST https://api.anycrawl.dev/v1/search \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_ANYCRAWL_API_KEY' \
  -d '{
  "query": "AnyCrawl",
  "limit": 10,
  "engine": "google",
  "lang": "all"
}'

Parameters

Parameter Type Description Default
query string (required) Search query to be executed -
engine string Search engine to use. Options: google google
pages integer Number of search result pages to retrieve 1
lang string Language code for search results (e.g., 'en', 'zh', 'all') en-US

Supported search engines

  • Google

❓ FAQ

  1. Can I use proxies? Yes. AnyCrawl ships with a high‑quality default proxy. You can also configure your own: set the proxy request parameter (per request) or ANYCRAWL_PROXY_URL (self‑hosting).
  2. How to handle JavaScript‑rendered pages? Use the Playwright or Puppeteer engines.

🤝 Contributing

We welcome contributions! See the Contributing Guide.

Browser fingerprint and scoring checks have a separate live test type: pnpm test:browser-score --help. It records BrowserScan, CreepJS, Sannysoft, and server-verified reCAPTCHA demo results without combining them into a human score. See the browser-score testing guide for proxy configuration, comparison variants, thresholds, and saved artifacts.

Backers

Support us with a monthly donation and help us continue our activities. [Become a backer]

📄 License

MIT License — see LICENSE.

🎯 Mission

We build simple, reliable, and scalable tools for the AI ecosystem.


Built with ❤️ by the Any4AI team

排名相邻
同类项目