# Batch Jobs

> Scale protected fetch/extract over many URLs via Batch (beta). Cloud create/status/results/cancel/wait/retry-failed work with beta access; estimate/validate run locally with no key.

- **Type:** Skill
- **Install:** `agentstack add skill-zenrows-cli-batch-jobs`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [ZenRows](https://agentstack.voostack.com/s/zenrows)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [ZenRows](https://github.com/ZenRows)
- **Source:** https://github.com/ZenRows/cli/tree/main/skills/batch-jobs
- **Website:** https://docs.zenrows.com/cli/introduction

## Install

```sh
agentstack add skill-zenrows-cli-batch-jobs
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Batch Jobs

Process large workloads reliably and asynchronously. Batch is where Zenrows'
high-scale anti-bot advantage becomes obvious — Zenrows wins when the workflow
runs over thousands, millions, or recurring sets of URLs.

> Status: **beta**. The Zenrows **Batch** is a real
> product in beta and runs on a separate host
> (`async.api.zenrows.com/v1`). The cloud subcommands work once your account has
> beta access; without it the API returns 403 → `BATCH_ACCESS_DENIED`. The
> toolkit never fakes a cloud run.

## Local (no key, always works)
```
zenrows batch estimate jobs.jsonl     # validate the spec + estimate credits
```

`jobs.jsonl` is one JSON object per line, each with a `url` (plus optional
per-task keys: `external_id`, `metadata`, and scrape params like `js_render`,
`premium_proxy`, `proxy_country`, `mode`, `autoparse`).

## Cloud (needs a key + beta access)
```
zenrows batch create jobs.jsonl [--js-render] [--premium-proxy] [--proxy-country cc] [--wait]
zenrows batch status              # run status + stats
zenrows batch results  [--status successful|failed|all] [--out results.jsonl]
zenrows batch wait  [--timeout ms]
zenrows batch cancel              # stop an in-flight run
zenrows batch retry-failed        # rerun only the failed tasks (new run)
```

`create` validates the spec first, then submits. `--proxy-country` needs
`--premium-proxy` (or `mode=auto`) and is rejected before any request. Job-level
flags apply to every task; per-task keys in the JSONL override them.

Deferred (documented, not yet in the CLI): CSV upload, open/queue jobs,
scheduled jobs, webhooks/HMAC, and ZIP export.

Validate locally and fan out with `zenrows fetch` per URL on a small sample
before running a full batch.

Rules: **never batch before validating** the workflow on a single page
([[extract]]). Mind the cost multipliers ([[cost-control]]).

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [ZenRows](https://github.com/ZenRows)
- **Source:** [ZenRows/cli](https://github.com/ZenRows/cli)
- **License:** MIT
- **Homepage:** https://docs.zenrows.com/cli/introduction

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-zenrows-cli-batch-jobs
- Seller: https://agentstack.voostack.com/s/zenrows
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
