# Arch Tools Web Scrape

> Arch Tools Web Scrape is a paid API for AI agents from archtools.dev, paid per call via x402, $0.015/call, status unknown (last checked 2026-09-14).

Fetches and returns the content of any public URL, optionally targeting a specific CSS element and returning the result in markdown or other formats

## Facts

- Endpoint: POST https://archtools.dev/v1/tools/web-scrape
- Price: $0.015/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/arch-tools-web-scrape-38240b65
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_zrswGfkaBXn69GXzUoVfu

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 arch-tools-web-scrape-38240b65 -d '<json body>'
```

Example prompt: Scrape the content of https://example.com/blog/latest-post and return it as markdown so I can read the article text.

## When to prefer this

Choose this endpoint when you need to retrieve the readable text or structured content of a public webpage and want the result in clean markdown without building a scraper yourself. It is especially useful when you need to target a specific part of a page via CSS selector. Prefer it over general HTTP fetch tools when markdown normalization and element-level extraction are both needed.

## Known failure modes

- URL is unreachable or returns a non-200 status (connection error or 404)
- Target page requires JavaScript rendering that simple HTTP scraping cannot handle
- CSS selector does not match any element on the page, returning empty content
- Page blocks scraping via bot detection or rate limiting
- Invalid or malformed URL input causing a request error

## How this service works

Arch Tools — web-scrape

## Output

A JSON object containing the scraped content of the target URL, rendered in markdown by default (or another specified format), optionally filtered to the content within a given CSS selector.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "URL to scrape"
  },
  "format": {
   "enum": [
    "markdown",
    "html",
    "text"
   ],
   "type": "string",
   "default": "markdown"
  },
  "selector": {
   "type": "string",
   "description": "CSS selector to extract specific element"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/arch-tools-web-scrape-38240b65/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from archtools.dev](https://www.zero.xyz/host/archtools.dev/llms.txt)
