any4ai

AnyCrawl: Crawl Websites and Extract LLM-Ready Data

AnyCrawl is a TypeScript toolkit for scraping pages, crawling sites, processing URL batches, and extracting structured data for AI workflows. It suits teams that want an API or self-hosted service for turning web content into markdown or JSON.

Stars
3.5k
Forks
368
Stars, last 10 days
+4
Last commit
14 days ago
Contributors
3

Our take

Activeregular commits and releases

Health score

46/100

How it is scored
Activity
78
Community
14
Issues
21
Pull requests
71

+4 stars in the last 10 days

  • Fewer contributors than 82% of the projects we track

AnyCrawl is an actively maintained, MIT-licensed option for teams needing a flexible web-data API, but its development is highly concentrated in one contributor.

Good fit if

  • You need page scraping, site crawling, or batch URL processing in a Node.js/TypeScript stack.
  • You want browser rendering and schema-based extraction alongside static HTML parsing.
  • You can operate a self-hosted service or use the hosted API, and are comfortable with the project’s active but concentrated development.

Look elsewhere if

  • You need broad search-engine coverage: the README currently documents Google as the supported SERP engine.
  • Your adoption policy requires a project with a wider contributor base or demonstrated recent issue closure; no issues were closed in the measured recent period.
  • Your runtime cannot support Node.js 20 or newer, which the package requires.
All health signals
Last commit2026-09-29 (14 days ago)
Commits, last 90 days100+
Releases, last 12 months14 (latest v1.2.1, 2026-09-19)
Contributors3 (top contributor: 98% of commits)
Issues closed, last 90 days0
Pull requests merged, last 90 days33 (typically merged in 0 days)
Project age19 months

Checked on 2026-10-14 with the GitHub API.

Overview

AnyCrawl combines web scraping, site traversal, batch processing, and search-result collection in a Node.js service. It addresses the work of collecting website content and preparing it in formats that are easier to use in RAG systems and other LLM workflows.

Teams can use its hosted API or self-host it, with static parsing or browser-based engines for JavaScript-rendered pages. Structured extraction is available through configurable schemas and an LLM provider.

Key Features

  • Scrape individual pages and return content in formats such as markdown.
  • Crawl sites with depth, page limits, domain scope, and path filters.
  • Submit batches of known URLs as asynchronous jobs and retrieve results later.
  • Use Cheerio for static pages or Playwright and Puppeteer for browser-rendered content.
  • Extract structured JSON from pages using a supplied schema and LLM configuration.
  • Configure request-level or self-hosted proxies and caching.
  • Run multiple workers or processes for bulk workloads, according to the project description.

Use Cases

  • RAG developers can collect and convert documentation or other web pages into LLM-friendly content.
  • Data teams can crawl a site or submit a known URL list for recurring ingestion jobs.
  • AI application developers can extract fields such as company details from pages into schema-shaped JSON.
  • Search and market research workflows can use the search endpoint to collect SERP results where its supported engines meet their needs.

What you need

Detected in the repository

  • Node.js >=20 (from package.json)
  • A Dockerfile, so it can run in a container; a Compose file sets up the related services
  • Automated checks on GitHub Actions

License in plain words

MITpermissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the copyright and license notice
  • Share your changes: no

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

For the hosted API, send a request to the scrape endpoint with an API key:

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"}'

For self-hosting, deployment and authentication instructions are in the repository README and documentation.

Alternatives

  • firecrawl: Firecrawl focuses on AI-ready web search, crawling, and extraction through an API, while AnyCrawl also targets URL batches and SERP scraping.
  • deepscrape: DeepScrape is a self-hosted TypeScript service using HTTP fetching and Playwright, with optional LLM extraction; AnyCrawl also supports SERP scraping.
  • Scraperr: Scraperr offers a self-hosted, no-code interface with XPath extraction and queued domain spidering, rather than AnyCrawl’s TypeScript toolkit and API focus.
  • sitefetch: sitefetch crawls a site and saves readable content to a text file, rather than providing AnyCrawl’s broader API and structured extraction workflows.
ProjectLanguageLicenseStarsStatus
AnyCrawlTypeScriptMIT3.5kActive
firecrawlTypeScriptAGPL-3.0188kActive
deepscrapeTypeScriptMIT320Active
ScraperrTypeScriptMIT4.9kArchived
sitefetchTypeScriptMIT1.7kInactive

Considerations

The project is active, with regular recent commits and releases, and many pull requests merged recently. However, nearly all measured contributor activity comes from one person, and the recent issue-closure measure is zero, so teams should assess support and continuity expectations rather than infer them from release activity alone. The repository reports CI but no tests in its project requirements data.

Self-hosting requires Node.js 20 or newer; Docker and Docker Compose are supported. Browser engines add browser-runtime configuration, and automatic proxy-based GeoIP resolution may download a database on first use. The README also notes that Google is the only supported search engine in its current SERP endpoint documentation. The MIT license is permissive, but distributions should preserve its copyright and license notice.

Found this useful?

Share it with someone who would like AnyCrawl.

Comparisons