# AX Check: zenrows.com
Checked 2026-10-09.

ZenRows setup and pricing are clear and fully agent-ready.
All 23 checklist items pass: docs, SDKs, CLI, MCP server, and OpenAPI spec resolve cleanly, and pricing is stated openly with credit costs and limits.

## Onboarding needs a login

## Coding sessions
All three independent sessions completed the task and produced full pricing tables with plan names, credit costs per request type, and free-trial limits, each citing the pricing page as the source.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/4a514b48-2cec-453d-a2a9-36ac4ca1b102) · [Read transcript](https://www.ax-check.com/zenrows.com/sessions/deepseek.json)
Final output gives a full pricing table (Free/Build/Launch/Growth/Scale/Enterprise) with explicit credit-cost assumptions (1/5/10/25 credits per request type) and notes source (zenrows.com/pricing) and PAYG terms ($0.50/1000 credits, $5 min).
#### End-to-end onboarding
- **Onboarding needs a login**: Agent never obtained real product credentials. It tested an invalid/dummy API key against the live endpoint, which correctly returned a 401 AUTH002 error. It explicitly declined to self-serve register an account or acquire a free key, and asked the human to supply a key instead. No authenticated operation (e.g. a real fetch with a valid key) was ever demonstrated.
  Event 70:

  ```text
  === dummy key (live API) ===
  GET https://example.com
  HTTP 401  (178 bytes)
  {"code":"AUTH002","detail":"Invalid API key.","instance":"/v1","status":401,"title":"Invalid apikey provided (AUTH002)","type":"https://docs.zenrows.com/api-error-codes#AUTH002"}
  ```
  Event 72:

  ```text
  I'm blocked on credentials. I don't have a `ZENROWS_API_KEY`, and I won't autonomously create an account or make a purchase on your behalf.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No self-service API key obtained**: The agent found a free, no-card signup page (https://www.zenrows.com/register?p=free) but chose not to use it, treating account creation as something requiring human action rather than attempting self-serve registration or the agent-facing purchase flow it had already discovered. This is an agent-policy choice rather than a product defect, since a free-tier signup path was visibly available.
  Event 51:

  ```text
  register:200 size:47711
  ```
  Event 72:

  ```text
  I'm blocked on credentials. I don't have a `ZENROWS_API_KEY`, and I won't autonomously create an account or make a purchase on your behalf.
  ```

#### Suggested Changes
- **Surface a working quickstart snippet without JS rendering**: The human-facing quickstart at docs.zenrows.com/general/quickstart returned an empty Next.js shell when fetched via curl (no server-rendered content), forcing the agent to fall back to the GitHub README for a usable code sample. Check by curling the quickstart URL directly and confirming the page body contains the code sample without executing client-side JavaScript.
  Event 36:

  ```text
  <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/>
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/360d32a7-14d5-412c-90e6-ef6694a24338) · [Read transcript](https://www.ax-check.com/zenrows.com/sessions/kimi.json)
Final output gives concrete credit costs per feature (1/5/10/25 credits), a $69/month starting tier, and free-trial limit (~1,000 credits), while flagging it is from training knowledge and should be verified on the live pricing page — assumptions are named, not a bare number.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained a ZenRows API key. It checked the environment for existing keys (found none), wrote an example script that reads ZENROWS_API_KEY from the environment, and ran it without a key — the script exited with a setup prompt rather than making any authenticated call. No self-service signup or credential acquisition occurred during the session.
  Event 5:

  ```text
  env | grep -i -E "zenrows|api_key" | sed 's/=.*/=***/' ; ls /sandbox/repo
  ```
  Event 20:

  ```text
  Set ZENROWS_API_KEY first (sign up at https://app.zenrows.com).
  exit: 1
  ```
  Event 22:

  ```text
  there's no ZenRows API key in this environment, so the script can't make a live call yet
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No API key available, so the live scrape was never executed**: The product requires a ZenRows API key for any real request. None was present in the sandbox and the agent has no way to self-serve one (e.g. no email/browser signup flow was attempted), so the example script only reached the 'missing key' exit path. This is a test-environment/credential limitation, not a product defect — ZenRows reasonably requires an account and key for billed API usage.
  Event 7:

  ```text
  400
  pip 26.2.1 from /opt/freestyle/python/lib/python3.12/site-packages/pip (python 3.12)
  Python 3.12.3
  
  ```
  Event 20:

  ```text
  Set ZENROWS_API_KEY first (sign up at https://app.zenrows.com).
  exit: 1
  
  ```

#### Suggested Changes
None identified in this transcript.

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/94afa576-d1f7-48a4-a59d-adb1d5cebb92) · [Read transcript](https://www.ax-check.com/zenrows.com/sessions/qwen.json)
Final output gives tiered pricing (Starter $49/mo 250K credits, etc.) with assumptions: credit cost per request type, add-on costs, and free-trial credit limit.
#### End-to-end onboarding
- **Onboarding needs a login**: No ZenRows API key was available in the sandbox environment, and the agent did not obtain one through any self-service signup flow. It only tested the API with a placeholder key, which correctly returned an authentication error. No authenticated product operation was ever completed.
  Event 4:

  ```text
  PI_GATEWAY_API_KEY=unused
  
  ```
  Event 17:

  ```text
  {"code":"AUTH002","detail":"Invalid API key.","instance":"/v1","status":401,"title":"Invalid apikey provided (AUTH002)","type":"https://docs.zenrows.com/api-error-codes#AUTH002"}
  ---exit: 0
  
  ```
  Event 19:

  ```text
  Yes, at authentication. The API endpoint is reachable and I verified the request path works — it returns a clean 401 AUTH002: Invalid apikey provided since there's no real key in this environment.
  ```

#### Hallucinated URLs
None identified in this transcript.

#### Blockers
- **No API key available to complete a live ZenRows call**: The sandbox had no ZenRows credentials, and there is no self-service way for the agent to generate one without human signup. This is a missing-credentials limitation of the test environment, not a product defect — ZenRows requires account signup like most paid APIs. The agent correctly identified the 401 and stopped rather than guessing further.
  Event 4:

  ```text
  PI_GATEWAY_API_KEY=unused
  
  ```
  Event 17:

  ```text
  {"code":"AUTH002","detail":"Invalid API key.","instance":"/v1","status":401,"title":"Invalid apikey provided (AUTH002)","type":"https://docs.zenrows.com/api-error-codes#AUTH002"}
  ---exit: 0
  
  ```

#### Suggested Changes
None identified in this transcript.

### Task given to each agent
Help me build a simple example using ZenRows. Tell me how pricing works, and briefly tell me whether this product will be easy for you to manage. Let me know if you get blocked. If this product has no developer workflow you can act on, say so plainly and stop. Stay light: use the hosted product through its SDK or API. Do not start local service stacks or wait for long-running commands; if the quickstart requires either, say so plainly and stop.

No product credentials were supplied and no purchases were authorized.

## Score: A · 100/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

### Clarity
- **Pass** — Homepage answers Markdown requests

  ```text
  Homepage returned text/markdown with 200 when requested with Accept: text/markdown.
  ```

- **Pass** — llms.txt provides an actionable documentation index

  ```text
  llms.txt links docs, API reference, OpenAPI spec, SDK, CLI, MCP and skills with guidance.
  ```

- **Pass** — llms.txt provides navigation guidance

  ```text
  llms.txt gives navigation guidance: .md twins, llms-full.txt, docs index, and when to use Zenrows.
  ```

- **Pass** — llms.txt mentions offered API, MCP, and skills

  ```text
  llms.txt mentions API, MCP server, docs MCP, and skills catalog with links.
  ```

- **Pass** — A compact guide representation exists

  ```text
  SKILL.md and agent-onboarding SKILL.md are standalone Markdown guides served at their own URLs.
  ```

- **Pass** — A focused guide is directly retrievable

  ```text
  SKILL.md returns 200 text/markdown with setup steps for MCP, CLI, SDKs and REST.
  ```

- **Pass** — Equivalent instructions fit a token budget

  ```text
  SKILL.md is 1848 tokens, well under the 8000-token budget, and keeps the full setup workflow.
  ```

- **Pass** — Product-docs links survive format changes

  ```text
  Homepage Markdown twin preserves docs, CLI, SDK, MCP and pricing links.
  ```

- **Pass** — The compact guide is independently actionable

  ```text
  SKILL.md gives concrete setup for MCP, CLI, Python/Node/Go SDKs and REST with auth and parameters.
  ```

- **Pass** — Install and next-step links resolve

  ```text
  Fetched install/next-step pages (docs welcome, API, MCP, SDK quickstarts) all returned 200.
  ```


### Onboarding
- **Pass** — Docs lead to a relevant quickstart

  ```text
  Python and Node.js SDK quickstarts give concrete first steps: create client, send GET, read response.
  ```

- **Pass** — Installation commands are extractable

  ```text
  CLI install commands extractable: npx -y @zenrows/cli init, npm install -g @zenrows/cli, zenrows init.
  ```

- **Pass** — Code examples are available without interaction

  ```text
  Quickstarts show full Python and JavaScript code examples inline, no interaction required.
  ```

- **Pass** — Prerequisites and auth boundaries are explicit

  ```text
  Auth explicit: API key from app.zenrows.com, or CLI auto-provisions a free account on first call.
  ```


### Pricing
- **Pass** — Pricing is readable without interaction

  ```text
  Pricing page renders full plan tables and credit costs as static text, no interaction needed.
  ```

- **Pass** — Prices are stated, not gated

  ```text
  All plan prices, credit rungs, and top-up pack prices are stated openly.
  ```

- **Pass** — Pricing units and limits are explicit

  ```text
  Credits, concurrency, response-size caps, and per-request credit multipliers are explicit.
  ```

- **Pass** — Agents identify pricing and its assumptions

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4.1 Flash: Final output gives a full pricing table (Free/Build/Launch/Growth/Scale/Enterprise) with explicit credit-cost assumptions (1/5/10/25 credits per request type) and notes source (zenrows.com/pricing) and PAYG terms ($0.50/1000 credits, $5 min). Kimi K3: Final output gives concrete credit costs per feature (1/5/10/25 credits), a $69/month starting tier, and free-trial limit (~1,000 credits), while flagging it is from training knowledge and should be verified on the live pricing page — assumptions are named, not a bare number. Qwen 3.8 Max: Final output gives tiered pricing (Starter $49/mo 250K credits, etc.) with assumptions: credit cost per request type, add-on costs, and free-trial credit limit. This behavioural item does not affect the fast grade.
  ```


### Activation
- **Pass** — An API reference or OpenAPI spec is reachable

  ```text
  OpenAPI 3.1 spec at /openapi.json (26 paths) and human API reference both fetched successfully.
  ```

- **Pass** — An MCP server is documented and well-formed

  ```text
  MCP server documented with remote URL, stdio npx config, auth, and full tool list.
  ```

- **Pass** — A CLI install path is documented

  ```text
  CLI install documented: npx -y @zenrows/cli init and npm install -g @zenrows/cli.
  ```

- **Pass** — SDK packages resolve on their registries

  ```text
  Registry lookups returned HTTP 200 for pypi zenrows, npm zenrows, and @zenrows/cli.
  ```

- **Pass** — Agent skills are published

  ```text
  Agent skills published: SKILL.md playbook plus skills catalog and zenrows skill install commands.
  ```



[Full report data](https://www.ax-check.com/zenrows.com/report.json)
