Skip to content
Back to skills

Fetch Crawl4ai

ASecurity

Deep URL fetch using crawl4ai (Playwright-powered) for JS-rendered pages, anti-bot sites, and dynamic content. Slower than fetch-jina but handles sites that block simple fetchers. Requires user-installed crawl4ai package.

  • 44 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 28, 2026
ai-agentsjavascriptpythonjavaapibackend

Works with

  • api

Security analysis

A92/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 3 files and shows the line behind each finding

Scanned May 28, 2026

npx -y skills add 0xmariowu/Autosearch --skill fetch-crawl4ai --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Fetch Crawl4ai?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Fetch Crawl4ai
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/0xmariowu-fetch-crawl4ai/badge)](https://www.skillsdirectory.com/skills/0xmariowu-fetch-crawl4ai)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: fetch-crawl4ai
description: Deep URL fetch using crawl4ai (Playwright-powered) for JS-rendered pages, anti-bot sites, and dynamic content. Slower than fetch-jina but handles sites that block simple fetchers. Requires user-installed crawl4ai package.
version: 0.1.0
layer: leaf
domains: [web-fetch]
scenarios: [url-reading, js-heavy, anti-bot-site, dynamic-content]
trigger_keywords: [fetch, 深抓, crawl, JS 渲染, playwright, 动态页, anti-bot]
model_tier: Standard
auth_required: false
cost: free
experience_digest: experience.md
---

Deep URL fetch through `crawl4ai`, backed by Playwright and Chromium. Use this as the fallback when `fetch-jina` fails, refuses a URL, returns an empty page, or cannot see JavaScript-rendered content.

## Input Fit

- JavaScript-heavy SPAs where server HTML is mostly empty.
- Anti-bot or dynamic sites that block simple HTTP fetchers.
- Pages that need a CSS selector wait before extraction.
- Public pages where a local Chromium browser can render the content.

## Invocation

Call `fetch.py`'s sync `fetch(url: str, wait_for: str | None = None, timeout_seconds: float = 30.0)` function:

```python
result = fetch("https://example.com/app", wait_for=".loaded")
```

Successful calls return:

```python
{
    "ok": True,
    "markdown": "...",
    "title": "Rendered page title",
    "url": "https://example.com/final-url",
    "meta": {
        "status_code": 200,
        "backend": "crawl4ai",
        "browser": "chromium",
        "elapsed_sec": 2.4,
    },
    "source": "https://example.com/app",
}
```

## Failure Modes

- Missing `crawl4ai` package returns `reason: crawl4ai_unavailable`. Install with `pip install crawl4ai` plus `playwright install chromium`, or fall back to `fetch-jina`.
- Browser or crawl4ai runtime failures return `reason: crawl4ai_runtime_error` with the error message or stderr tail.
- DNS, connection, and transport failures return `reason: network_error`.
- Slow pages that exceed `timeout_seconds` return `reason: timeout`.
- HTTP 403 or detectable challenge pages return `reason: anti_bot_blocked`; degrade to `fetch-playwright` or `fetch-firecrawl` paid fallback.
- Successful crawls with empty or too-short Markdown return `reason: empty_content`.

## Limits

- Requires user opt-in installation: `pip install crawl4ai`.
- Requires a Chromium browser installed for Playwright: `playwright install chromium`.
- This tool is slower and heavier than `fetch-jina`; use it only when a simple fetch cannot retrieve the useful content.
- It does not solve sites that require authentication, strong bot mitigation, paid proxies, or long interactive flows.

# Quality Bar

- Evidence items have non-empty title and url.
- No crash on empty or malformed API response.
- Source channel field matches the channel name.

Files in this skill

  • SKILL.md2.7 KB
  • __init__.py43 B
  • fetch.py8.1 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.