Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,13 @@ that endpoint with extraction parameters, not a separate product.

| Command | What it does | Status (this build) |
| --- | --- | --- |
| `zenrows fetch` | Fetch — retrieve a protected page | **available** — `GET https://api.zenrows.com/v1/` |
| `zenrows extract` | Extract: `extract=auto` (any prepared domain; falls back to Autoparse on one not prepared yet), CSS, or Markdown | **available**: same `/v1/` |
| `zenrows batch` | Batch: fan out over many URLs | **available**: `https://async.api.zenrows.com/v1`; local validate/estimate need no key |
| `zenrows crawl` | Crawl (new) — collect the URLs behind one start page, optionally with each page's HTML | **available** — `https://api.zenrows.com/v1/crawls` |
| `zenrows browser` | Browser Sessions REST API (same backend as MCP `browser_*`) | **available** — escalation-only; bills by bandwidth + time |
| `zenrows mcp` | MCP server config (remote + local) | **available** |
| Zenrows CLI | this repo | **available** |
| `zenrows fetch` | Fetch: retrieve a protected page | **available**: `GET https://api.zenrows.com/v1/` |
| `zenrows extract` | Extract: turn a page into structured data with `extract=auto` on any prepared domain (falls back to Autoparse on one not prepared yet), CSS selectors, or Markdown | **available**: `GET https://api.zenrows.com/v1/?extract=auto` |
| `zenrows batch` | Batch: run Fetch and Extract over many URLs in one job; specs validate and estimate locally with no key | **available**: `POST https://async.api.zenrows.com/v1/jobs` |
| `zenrows crawl` | Crawl (new): collect the URLs behind one start page, optionally with each page's HTML | **available**: `POST https://api.zenrows.com/v1/crawls` |
| `zenrows browser` | Browser Sessions: a real cloud browser over REST (same backend as MCP `browser_*`); escalation-only, billed by bandwidth + time | **available**: `POST https://mcp.zenrows.com/browser/sessions` |
| `zenrows mcp` | MCP: set up the Zenrows MCP server in your client, remote or local | **available**: `https://mcp.zenrows.com/mcp` |
| `zenrows` | CLI: this repo, the commands above, plus skills and templates | **available**: `npm install -g @zenrows/cli` |

The CLI maintains a **capability matrix** (`registry/capabilities.json`). Every
command checks status before any cloud call, so the toolkit never fakes behavior
Expand All @@ -55,7 +55,7 @@ matrix.
npm install -g @zenrows/cli # puts `zenrows` on PATH (466 ms, zero deps)
zenrows init
zenrows fetch https://httpbin.io/html # auto-provisions a Free plan account on first use
zenrows extract https://www.owler.com/company/meltwater # extract=auto on an enabled domain
zenrows extract https://www.owler.com/company/meltwater # extract=auto on a prepared domain
zenrows extract https://www.scrapingcourse.com/ecommerce/ --autoparse # Autoparse (any domain)
```

Expand Down Expand Up @@ -116,7 +116,7 @@ zenrows fetch <url> --proxy-country us --wait-for ".price"
## 8. Extract

```bash
zenrows extract https://www.owler.com/company/meltwater # extract=auto (enabled domain)
zenrows extract https://www.owler.com/company/meltwater # extract=auto (prepared domain)
zenrows extract https://www.scrapingcourse.com/ecommerce/ --autoparse # Autoparse (any domain)
zenrows extract <url> --css '{"title":"h1","price":".price"}' --validate
zenrows extract <url> --outputs emails,links # built-in output filters → JSON
Expand Down
17 changes: 11 additions & 6 deletions skills/zenrows/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,17 @@ Run `zenrows status` for the live capability matrix. As of this toolkit:

| Primitive | Command | Status |
| --- | --- | --- |
| Protected Fetch | `zenrows fetch` | available (`GET /v1/`) |
| Extract (extract=auto / Autoparse/CSS/Markdown) | `zenrows extract` | available (same `/v1/`; extract=auto falls back to autoparse) |
| Batch | `zenrows batch` | available: runs cloud jobs (create/status/results); cheapest path at scale. Estimate specs locally with no key |
| Crawl | `zenrows crawl` | new — collect the URLs behind one start page, optionally with each page's HTML |
| Browser | `zenrows browser` | available (Browser Sessions REST API / MCP) |
| MCP | `zenrows mcp` | available (remote + local server) |
| Protected Fetch | `zenrows fetch` | **available**: `GET https://api.zenrows.com/v1/` |
| Extract (`extract=auto`, Autoparse, CSS, Markdown) | `zenrows extract` | **available**: `GET https://api.zenrows.com/v1/?extract=auto` |
| Batch | `zenrows batch` | **available**: `POST https://async.api.zenrows.com/v1/jobs` |
| Crawl (new) | `zenrows crawl` | **available**: `POST https://api.zenrows.com/v1/crawls` |
| Browser | `zenrows browser` | **available**: `POST https://mcp.zenrows.com/browser/sessions` |
| MCP | `zenrows mcp` | **available**: `https://mcp.zenrows.com/mcp` |

- Extract: `extract=auto` falls back to Autoparse on a domain not prepared yet.
- Batch: the cheapest path at scale (create, status, results). Estimate specs locally with no key.
- Crawl: collects the URLs behind one start page, optionally with each page's HTML.
- Browser: escalation-only, for pages Fetch can't handle; same backend as the MCP `browser_*` tools.

Protected Fetch and Extract are the same API (`GET /v1/`) used two ways.
The command consults the capability matrix before any cloud call — it never
Expand Down
Loading