# Cloudflare Browser Rendering Crawl

> Cloudflare Browser Rendering Crawl is a paid API for AI agents from stableenrich.dev, paid per call via x402, $0.1/call, status unknown (last checked 2026-09-13).

Starts an asynchronous multi-page crawl job using Cloudflare Browser Rendering, returning a JWT token to poll for results

## Facts

- Endpoint: POST https://stableenrich.dev/api/cloudflare/crawl
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/cloudflare-browser-rendering-crawl-f097af79
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Rv0Z2O0mjTwVxqnfUFB18

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability cloudflare-browser-rendering-crawl-f097af79 -d '<json body>'
```

Example prompt: Can you crawl https://docs.example.com up to 2 levels deep, grab up to 20 pages by following links, render JavaScript, and return everything as markdown?

## When to prefer this

Choose this endpoint when you need to crawl multiple pages across a website rather than scraping a single URL. It is ideal for documentation sites, content extraction pipelines, or any workflow requiring recursive link traversal with optional JavaScript rendering. Prefer it over single-URL scrape endpoints when the scope spans several pages or an entire site section, and when an async job model (start + poll) is acceptable.

## Known failure modes

- Invalid or unreachable starting URL returns an error
- Depth or limit values outside allowed range (1–3 depth, 1–25 limit) are rejected
- JavaScript rendering (render: true) may time out on very slow or complex pages
- Crawl may return fewer pages than limit if site has fewer discoverable URLs
- JWT token expiry if polling is delayed too long after job creation
- Sites with aggressive bot protection may block or return incomplete results

## How this service works

Pay-per-request access to FullEnrich, CompanyEnrich, LeadMagic, Clado, Exa, Firecrawl, Google Maps, Serper, and Whitepages APIs. No auth, no subscriptions.

## Output

A signed JWT token string that the agent must use to poll the /api/cloudflare/jobs endpoint to retrieve the crawl job status and results once the crawl completes asynchronously

## Example request

```json
{
 "url": "https://example.com",
 "depth": 1,
 "limit": 5,
 "render": false,
 "source": "links",
 "formats": [
  "markdown"
 ]
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "description": "The starting URL to crawl"
  },
  "depth": {
   "type": "number",
   "default": 1,
   "maximum": 3,
   "minimum": 1,
   "description": "Maximum link depth from the starting URL (max 3)"
  },
  "limit": {
   "type": "number",
   "default": 10,
   "maximum": 25,
   "minimum": 1,
   "description": "Maximum number of pages to crawl (max 25)"
  },
  "render": {
   "type": "boolean",
   "default": false,
   "description": "Execute JavaScript when crawling (true = handles JS-rendered content, slower and costs more)"
  },
  "source": {
   "enum": [
    "all",
    "sitemaps",
    "links"
   ],
   "type": "string",
   "description": "URL discovery source: all, sitemaps only, or links only"
  },
  "formats": {
   "type": "array",
   "items": {
    "enum": [
     "html",
     "markdown",
     "json"
    ],
    "type": "string"
   },
   "default": [
    "markdown"
   ],
   "description": "Response formats for crawled pages"
  },
  "options": {
   "type": "object",
   "properties": {
    "excludePatterns": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "description": "Wildcard patterns for URLs to exclude (higher priority than include patterns)"
    },
    "includePatterns": {
     "type": "array",
     "items": {
      "type": "string"
     },
     "description": "Wildcard patterns for URLs to include"
    },
    "includeSubdomains": {
     "type": "boolean",
     "description": "Follow links to subdomains"
    },
    "includeExternalLinks": {
     "type": "boolean",
     "description": "Follow links to external domains"
    }
   },
   "description": "Crawl scope options",
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/cloudflare-browser-rendering-crawl-f097af79/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stableenrich.dev](https://www.zero.xyz/host/stableenrich.dev/llms.txt)
