# AX Check: cloudflare.com
Checked 2026-10-06.

Cloudflare's docs and pricing are clear and instantly usable by agents.
All 23 checklist items passed: quickstart steps, install commands, and pricing tables are all stated plainly with no login or gating required.

## Onboarding needs a login

## Coding sessions
All three independent sessions (DeepSeek V4.1 Flash, Kimi K3, Qwen 3.8 Max) completed the task and produced concrete pricing breakdowns straight from Cloudflare's docs, citing free-tier limits, paid-plan rates, and usage-based overage costs with clear assumptions, no login walls or ambiguity encountered.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/17f43029-34d7-456e-ac53-86ed0a8d6658) · [Read transcript](https://www.ax-check.com/cloudflare.com/sessions/deepseek.json)
Final output gives a pricing table sourced from docs (seq 28 fetch of pricing/index.md) with explicit assumptions (plan tier, request volume, CPU-ms, example scenarios of 15M/100M requests at 7ms).
#### End-to-end onboarding
- **Onboarding needs a login**: The agent correctly identified it had no Cloudflare credentials from the start (empty env var search, no ~/.wrangler or ~/.cloudflare config), confirmed the hosted API rejects unauthenticated calls with error 9106, built and locally tested a deploy script, then attempted the real deploy which exited immediately with a credential-missing error. No token or account ID was ever obtained during the session, so no authenticated product operation against the real Cloudflare API occurred.
  Event 13:

  ```text
  no wrangler/cloudflare config dirs
  ```
  Event 109:

  ```text
  Blocked: missing CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID.
  Create a token with 'Workers Scripts: Edit' at:
    https://dash.cloudflare.com/profile/api-tokens
  Then export both variables and re-run.
  
  exit=2
  ```
  Event 36:

  ```text
  {"success":false,"errors":[{"code":9106,"message":"Missing X-Auth-Key, X-Auth-Email or Authorization headers"}],"messages":[],"result":null}
  ```

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

#### Blockers
- **No Cloudflare credentials available in the sandbox**: The environment has no CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, or any wrangler/cloudflare config. This is a test-environment limitation, not a product defect: Cloudflare correctly requires authentication to create or manage Workers, and there was no self-service way to mint a token without human login to the dashboard. The agent handled it well, stopping cleanly rather than faking success.
  Event 13:

  ```text
  no wrangler/cloudflare config dirs
  ```
  Event 109:

  ```text
  Blocked: missing CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID.
  ```

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

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/1e599a55-0d34-4a52-aa27-aa5adaa71250) · [Read transcript](https://www.ax-check.com/cloudflare.com/sessions/kimi.json)
Final output gives concrete pricing ($0 free tier limits, $5/mo paid plan with 10M requests/30M ms CPU, overage rates) with named assumptions (workers.dev subdomain, free vs paid plan, usage-based overage) and a caveat to confirm current numbers.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent found no Cloudflare API token or account configuration in the environment, could not self-provision credentials (account signup and API token creation require a browser), and stopped after writing an undeployed script. It validated the Worker code locally in Node (not a deployed/hosted check) but never executed an authenticated call against the real Cloudflare API.
  Event 3:

  ```text
  env | grep -iE 'cloudflare|cf_|wrangler' ; echo "---" ; which wrangler node npm 2>/dev/null; echo "---"; ls ~/.wrangler 2>/dev/null; echo done
  ```
  Event 6:

  ```text
  there's no API token or account in this environment (`env` shows no `CLOUDFLARE_API_TOKEN`, no `~/.wrangler` config). Account creation and token generation are interactive (browser signup → dashboard → API Tokens), so I can't do that step for you.
  ```
  Event 16:

  ```text
  200 {"message":"Hello, pi!","colo":"unknown","ts":"2026-10-06T19:54:19.290Z"}
  ```

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

#### Blockers
- **No Cloudflare API token or account ID available in sandbox**: Environment scan found no CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_ID, or wrangler config present. This is a missing-credentials limitation of the test environment, not a product defect: Cloudflare account signup and API token generation are inherently interactive/browser-based steps, so the agent correctly identified it could not self-serve this and stopped rather than faking success.
  Event 3:

  ```text
  env | grep -iE 'cloudflare|cf_|wrangler' ; echo "---" ; which wrangler node npm 2>/dev/null; echo "---"; ls ~/.wrangler 2>/dev/null; echo done
  ```
  Event 6:

  ```text
  I'm blocked on one thing: **there's no API token or account in this environment**
  ```

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

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/e3bcb5d2-86af-4409-9b89-3c172bbc7561) · [Read transcript](https://www.ax-check.com/cloudflare.com/sessions/qwen.json)
Final output states free tier (100k req/day, 10ms CPU) vs paid ($5/mo incl. 10M requests/30M CPU-seconds, then per-million overage rates) and notes billing is execution-based not uptime-based — concrete figures with stated assumptions.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent scaffolded a Cloudflare Worker and ran a local dry-run build only. It never obtained Cloudflare API credentials and explicitly stated the environment had none, so no authenticated operation against the hosted product (actual wrangler deploy) occurred.
  Event 35:

  ```text
  I can't do the **actual deploy**. There are no Cloudflare credentials in this environment (`CLOUDFLARE_API_TOKEN` / `CLOUDFLARE_ACCOUNT_ID` are unset), so `wrangler deploy` can't authenticate to your account.
  ```
  Event 29:

  ```text
  ⛅️ wrangler 4.148.0
  ────────────────────
  Total Upload: 0.92 KiB / gzip: 0.53 KiB
  No bindings found.
  --dry-run: exiting now.
  ```

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

#### Blockers
- **No Cloudflare API credentials available for live deploy**: The sandbox environment had no CLOUDFLARE_API_TOKEN or CLOUDFLARE_ACCOUNT_ID set, so the agent could only validate the Worker locally via wrangler's dry-run mode and could not perform an actual authenticated deploy to Cloudflare. This is a missing-credentials limitation of the test environment, not a product defect.
  Event 32:

  ```text
  env | grep -i -E "CLOUDFLARE|CF_ACCOUNT|CF_API" | sed 's/=.*/=<set>/' ; echo "exit-scan-done"
  ```
  Event 35:

  ```text
  There are no Cloudflare credentials in this environment (`CLOUDFLARE_API_TOKEN` / `CLOUDFLARE_ACCOUNT_ID` are unset), so `wrangler deploy` can't authenticate to your account.
  ```

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

### Task given to each agent
Help me build a simple example using Cloudflare. 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 product links when requested with Accept: text/markdown.
  ```

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

  ```text
  llms.txt is a structured index linking product docs, pricing, and developer documentation.
  ```

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

  ```text
  llms.txt groups products by category and points to developers.cloudflare.com for technical docs.
  ```

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

  ```text
  llms.txt mentions MCP servers, Agents SDK, and links the API reference and SDKs.
  ```

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

  ```text
  Homepage serves text/markdown; llms.txt states all pages available in markdown by appending .md.
  ```

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

  ```text
  Workers CLI guide gives concrete steps: create project, wrangler dev, write code, wrangler deploy.
  ```

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

  ```text
  Workers CLI guide markdown is 2931 tokens, well under the 8000-token budget.
  ```

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

  ```text
  Homepage markdown retains docs, pricing, and product links; docs route to developers.cloudflare.com.
  ```

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

  ```text
  Workers CLI guide gives concrete steps: create project, wrangler dev, edit code, wrangler deploy.
  ```

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

  ```text
  Fetched install/next-step targets (API, SDKs, get-started, CLI guide) all returned HTTP 200.
  ```


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

  ```text
  Workers CLI guide gives concrete first steps: create project, wrangler dev, deploy.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Install commands extractable: npm create cloudflare@latest, npx wrangler dev/deploy, npm install -g cf.
  ```

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

  ```text
  Full code examples shown inline, including index.js Worker source and CLI commands.
  ```

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

  ```text
  Prerequisites list Cloudflare account signup and Node.js; wrangler login handles auth.
  ```


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

  ```text
  Pricing pages render as static Markdown tables with no interaction required.
  ```

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

  ```text
  Concrete prices stated: Pro $20/mo, Business $200/mo, Workers $0.30/million requests.
  ```

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

  ```text
  Units and limits explicit: per million requests, per GB-month, free-tier daily caps.
  ```

- **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 pricing table sourced from docs (seq 28 fetch of pricing/index.md) with explicit assumptions (plan tier, request volume, CPU-ms, example scenarios of 15M/100M requests at 7ms). Kimi K3: Final output gives concrete pricing ($0 free tier limits, $5/mo paid plan with 10M requests/30M ms CPU, overage rates) with named assumptions (workers.dev subdomain, free vs paid plan, usage-based overage) and a caveat to confirm current numbers. Qwen 3.8 Max: Final output states free tier (100k req/day, 10ms CPU) vs paid ($5/mo incl. 10M requests/30M CPU-seconds, then per-million overage rates) and notes billing is execution-based not uptime-based — concrete figures with stated assumptions. This behavioural item does not affect the fast grade.
  ```


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

  ```text
  Cloudflare API Reference lists REST endpoints plus TypeScript, Python, Go, Terraform libraries.
  ```

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

  ```text
  Docs link Code Mode MCP Server and domain-specific MCP servers; API documents MCP portals.
  ```

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

  ```text
  Wrangler CLI install and usage documented; cf CLI global install shown.
  ```

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

  ```text
  Registry lookups for npm wrangler and cf both returned HTTP 200.
  ```

- **Pass** — Agent skills are published

  ```text
  Docs agent resources link Cloudflare Skills repository on GitHub.
  ```



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