Automation and scraping · Edition No. 25 · 19 Sep 2026

unclecode/crawl4ai

A crawler that drives a real browser and returns web pages as clean Markdown, ready for a language model.

← Automation and scrapingRead the whole edition →

81.9k stars · Apache-2.0 · v0.9.3 (2026-08-31) · Track this in Scout

LLM-friendly crawler — renders JS pages and returns clean markdown. Competitor research plus a 'paste a URL' front door for Grasppy.

Repo detailsthe review · specs · pros & cons · install

What it is

A Python library and a command-line tool. It drives a real browser, strips a page down to its content, and returns Markdown — the plain text format this report itself is written in. It can also take a description of the fields you want and return structured data instead, and it caches what it has fetched so a second run is fast.What it is good for. Anyone building something that reads the web and then asks a model about it. The problem it removes is the cost and the noise of sending a whole raw page to a model. A short line about Grasppy: it maps long text into subtopics, and this is a clean way to get long text out of a set of pages in the first place.

Stars81.9k
LicenceApache-2.0
Latestv0.9.3 (2026-08-31)checked 7 Sep 2026
Written inPython
Setup effort
3 / 5
Payoff
4 / 5
Good
  • The output is already clean, so the next step costs less and gives better answers.
  • It runs a real browser, so pages that build themselves with JavaScript still work.
  • Apache-2.0 licence, a very large and active project at 80,900 stars, and there is a Docker image so you do not have to install a browser by hand.
Watch for
  • It is still before version 1.0, at v0.9.3, and things move. Pin the version.
  • Asking it to extract fields with a model costs money on every page. The plain text path costs nothing.
  • Browsers are heavy. Give it a gigabyte or more, and do not run twenty at once on a small server.
Similar repositories
Install
python3 -m venv venv
source venv/bin/activate
pip install -U crawl4ai
crawl4ai-setup          # installs the browser it needs
# Check it works:
crwl https://grasppy.com/radar/ -o markdown
# Or from Python:
#   import asyncio
#   from crawl4ai import AsyncWebCrawler
#   async def main():
#       async with AsyncWebCrawler() as c:
#           r = await c.arun("https://example.com")
#           print(r.markdown)
#   asyncio.run(main())
Screenshots
unclecode/crawl4ai: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.