# AX Check: strapi.io
Checked 2026-10-02.

Strapi's quickstart and docs work, but agents guess at pricing
Docs deliver a 12-step quickstart with working install commands and open pricing, but no documentation index exists, so agents recall pricing from memory instead of the live page.

## End-to-end onboarding not demonstrated

## Coding sessions
All three independent sessions completed. Each produced a pricing table, but the figures diverged (from roughly $22-35 to $90-450 across tiers) and two sessions flagged their numbers as approximate or recalled from training rather than confirmed on the live pricing page.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/841ce33d-6fa8-41aa-b324-419164607306) · [Read transcript](https://www.ax-check.com/strapi.io/sessions/deepseek.json)
Final output gives a pricing table (Starter $35, Pro $90, Business $450, custom Business+) with stated assumptions: prices exclude tax, monthly vs ~17% yearly savings, overage rates, and sleep-when-idle vs always-on runtime behavior per plan.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent never obtained real Strapi credentials or called an authenticated Strapi API/SDK endpoint. It only fetched public marketing/docs pages (strapi.io, docs.strapi.io) via curl to read pricing and quickstart text, then concluded Strapi offers no hosted-only developer workflow it could act on without either running a local dev server or getting a human to deploy an instance and share a URL/token. It stopped without taking any product action.
  Event 29:

  ```text
  pricing-cloud -> 200
  Pricing Cloud ✨ Strapi MCP is now Generally Available
  ```
  Event 31:

  ```text
  So the quickstart requires either a local service stack or an account + deployed instance. Per your instruction, I'm not starting `create-strapi-app` or a Node server. **Plainly: there is no hosted-only SDK/API workflow I can execute here, so I'm stopping.**
  ```

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

#### Blockers
- **No hosted-only path to create a Strapi project without local server or account deploy**: Product behavior, not agent error: Strapi's quick-start requires scaffolding a project locally (create-strapi@latest) and running a dev server, or pushing to GitHub and deploying via Strapi Cloud dashboard (needs account/human setup). The only always-hosted option, the public demo, has the Content-Type Builder disabled, blocking schema/content creation. Given the session rule against local service stacks, the agent stopped rather than violate the constraint.
  Event 28:

  ```text
  12 steps: create a local project with create-strapi@latest , define collection types using the Content-Type Builder, push your project to GitHub and deploy to Strapi Cloud from the Cloud dashboard
  ```
  Event 28:

  ```text
  Strapi offers a hosted demo so you can quickly try its Content Manager and learn how to edit content. In this hosted demo, Strapi runs in production mode, so the Content-Type Builder is disabled by design
  ```
  Event 31:

  ```text
  The only fully hosted option is a **read-only demo** where the **Content-Type Builder is disabled** — so I can't define schemas there.
  ```

#### Suggested Changes
- **Add a hosted, API-driven project creation path bypassing local CLI/GitHub deploy**: Quick Start Guide at docs.strapi.io/dev-docs/quick-start only documents local scaffolding with create-strapi@latest or GitHub-to-Strapi-Cloud deploy, both needing a long-running local dev server or manual dashboard setup. Supporting a scriptable 'create project via API and get instance URL + token' flow would let automated agents validate a working example end to end. Verify by having an agent request a hosted instance purely through API calls and receive a usable base URL and token with no human step.
  Event 28:

  ```text
  12 steps: create a local project with create-strapi@latest , define collection types using the Content-Type Builder, push your project to GitHub and deploy to Strapi Cloud from the Cloud dashboard
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/2841fc80-c605-47e3-9729-622157779435) · [Read transcript](https://www.ax-check.com/strapi.io/sessions/kimi.json)
Final output's Pricing section states Community Edition is free/self-hosted, Cloud Essential tier ~$99/month with higher tiers ~$249+, mentions a free trial, and flags the figures as approximate/needing verification — naming plan tier and trial as the basis.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent never attempted to obtain or use real Strapi credentials. It reasoned from prior knowledge that Strapi's quickstart requires a local long-running server and that Strapi Cloud requires a browser-based signup and Git-connected deployment, then stopped per the user's explicit instruction to not start local stacks or wait on long-running commands. No credential acquisition or authenticated API call occurred.
  Event 2:

  ```text
  So: no developer workflow I can act on within your guardrails, and I'm saying so plainly rather than spinning anything up.
  ```

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

#### Blockers
- **Strapi quickstart requires a local long-running server**: The agent identified that Strapi's standard onboarding path (npx create-strapi-app) scaffolds a Node app and starts a local server, which violates the session's explicit constraint against local service stacks and long-running commands. This is a test-environment/instruction constraint interacting with normal product behavior, not a product defect.
  Event 2:

  ```text
  The official quickstart is `npx create-strapi-app`, which scaffolds a Node.js app, installs a few hundred npm packages, and starts a **local long-running server** (with SQLite by default). That's exactly the "local service stack + long-running command" you told me to avoid, so I won't run it.
  ```
- **No headless, API-key-only path to provision hosted Strapi**: Strapi Cloud, the hosted offering, requires a browser-based signup, connecting a Git repository containing an already-authored Strapi app, and a multi-minute deploy step. There is no self-service API-key issuance the agent could use without human/browser involvement, so it could not obtain credentials autonomously.
  Event 2:

  ```text
  Provisioning requires signing up through a browser-based flow, connecting a **Git repository containing a Strapi application**, and deploying it (build takes minutes). There's no "create an API key and start calling endpoints" workflow I can act on headlessly from here.
  ```

#### Suggested Changes
- **Add an instant hosted trial with API-key-only onboarding**: On the Strapi Cloud signup/pricing page, offer a path to get a working hosted instance and API token without requiring the user to first author a Strapi app and connect a Git repo. Verify by checking whether a new user can obtain a callable API endpoint and token within a single session, with no local scaffolding or Git setup required.
  Event 2:

  ```text
  There's no "create an API key and start calling endpoints" workflow I can act on headlessly from here. You still have to author the Strapi app itself first.
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/e4305188-059e-4c14-b746-27f6b5ab51ed) · [Read transcript](https://www.ax-check.com/strapi.io/sessions/qwen.json)
Final output gives Strapi Cloud pricing (~$22/mo Developer, $99/mo Pro, custom Enterprise, 14-day trial) while explicitly flagging the assumption that it's 'from knowledge' since the pricing page is JS-rendered and unverifiable live, advising to verify at strapi.io/pricing.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent never attempted self-service signup or credential acquisition for Strapi Cloud. It checked the sandbox environment for existing API keys/tokens, found none, and concluded that Strapi Cloud requires an interactive web signup with email verification, which it treated as out of scope rather than attempting. No credentials were obtained and no authenticated operation against the hosted product occurred.
  Event 6:

  ```text
  PI_GATEWAY_API_KEY=unused
  ```
  Event 19:

  ```text
  Sign-up requires an interactive web flow with email verification, and its management API requires an account token. I verified this sandbox has no Strapi credentials (`env` shows nothing, repo is empty), so I cannot create a hosted project or get an API token to demonstrate against.
  ```

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

#### Blockers
- **No self-service way to provision a hosted Strapi Cloud project**: Strapi Cloud requires an interactive web signup with email verification to get a project and API token; the self-hosted quickstart instead requires a long-running local dev server. Since the session instructions explicitly forbade local service stacks/long-running commands and no credentials were pre-supplied, the agent had no path to a hosted, authenticated demonstration. This is a product/account-model limitation combined with the test environment's restrictions, not an agent error.
  Event 19:

  ```text
  Self-hosted quickstart (the official path): `npx create-strapi-app@latest` boots a long-running local Node.js dev server. That's a local service stack + long-running command — both explicitly off-limits per your instructions.
  ```
  Event 19:

  ```text
  there is no anonymous or credential-free way to provision a project. Sign-up requires an interactive web flow with email verification, and its management API requires an account token.
  ```
- **Pricing page content not retrievable via curl**: Attempts to scrape strapi.io/pricing with curl (plain and with a spoofed User-Agent) returned no usable pricing data, apparently because the page is JS-rendered. The agent fell back to reciting pricing figures from its own prior knowledge rather than a verified source, flagging this explicitly to the user.
  Event 12:

  ```text
  pro
  ```
  Event 17:

  ```text
  (no output)
  ```
  Event 19:

  ```text
  Pricing (from knowledge — the pricing page is JS-rendered, so I couldn't verify live)
  ```

#### Suggested Changes
- **Publish a static/non-JS-rendered pricing page or API**: curl requests to https://strapi.io/pricing (both plain and with a Mozilla User-Agent) returned no parseable pricing text, forcing the agent to rely on unverified prior knowledge for Developer/Pro/Enterprise tier prices. Adding a server-rendered pricing summary or a lightweight JSON endpoint would let automated tooling and simple HTTP clients verify current pricing without executing JavaScript.
  Event 16:

  ```text
  curl -s -m 15 "https://strapi.io/pricing" -H "User-Agent: Mozilla/5.0"
  ```
  Event 17:

  ```text
  (no output)
  ```
- **Offer a credential-free or CLI-based way to provision a trial Strapi Cloud project**: The only hosted onboarding path identified required an interactive web signup with email verification, blocking any non-interactive agent or script from trying the hosted product end-to-end. A CLI or API-based trial project creation flow (e.g., `strapi cloud login --token` against a pre-issued API key, or a sandbox/demo project endpoint) would let developers and automated tooling validate the hosted REST/GraphQL API without a browser session. Verify by scripting project creation and an authenticated POST to /api/:collection without manual browser steps.
  Event 19:

  ```text
  there is no anonymous or credential-free way to provision a project. Sign-up requires an interactive web flow with email verification, and its management API requires an account token.
  ```

### Task given to each agent
Help me build a simple example using Strapi. 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: B · 65/100 (provisional)
Grades come from completed site checks. Coding sessions and skipped checks do not affect the score.

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

  ```text
  Homepage returned text/html for a text/markdown request; no Markdown representation offered.
  ```

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

  ```text
  https://strapi.io/llms.txt returns HTTP 404, so no documentation index exists.
  ```

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

  ```text
  llms.txt is 404, so its navigation guidance cannot be evaluated.
  ```

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

  ```text
  llms.txt is 404, so its mentions of API, MCP, and skills cannot be evaluated.
  ```

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

  ```text
  docs.strapi.io/cms/quick-start.md serves a standalone Markdown quick start guide.
  ```

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

  ```text
  Quick Start Guide fetched directly at docs.strapi.io/cms/quick-start with 12 concrete steps.
  ```

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

  ```text
  Markdown quick start is 4850 tokens, well under the 8000-token budget.
  ```

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

  ```text
  Homepage Markdown unsupported, so link preservation across formats cannot be measured.
  ```

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

  ```text
  Quick-start .md gives 12 concrete steps: npx create-strapi, content types, deploy, API call.
  ```

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

  ```text
  Fetched quick-start and its .md both return 200; install and next-step routes resolve.
  ```


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

  ```text
  Docs quick-start page is a full 12-step tutorial building and deploying a Strapi project.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Install command `npx create-strapi@latest my-strapi-project` and `npm run develop` shown in code blocks.
  ```

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

  ```text
  Quick-start shows inline bash, sh and json code blocks without requiring interaction.
  ```

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

  ```text
  Prerequisites list Node LTS, npm/pnpm, Python, git, GitHub; admin signup creates first user.
  ```


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

  ```text
  CMS pricing page shows Community, Growth, Enterprise plans with prices in a static table.
  ```

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

  ```text
  Growth $45/month, SSO add-on $150/month, seats $15/month stated openly.
  ```

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

  ```text
  Plan limits explicit: 3 seats, 1,000 AI credits, 14-day history retention.
  ```

- **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 (Starter $35, Pro $90, Business $450, custom Business+) with stated assumptions: prices exclude tax, monthly vs ~17% yearly savings, overage rates, and sleep-when-idle vs always-on runtime behavior per plan. Kimi K3: Final output's Pricing section states Community Edition is free/self-hosted, Cloud Essential tier ~$99/month with higher tiers ~$249+, mentions a free trial, and flags the figures as approximate/needing verification — naming plan tier and trial as the basis. Qwen 3.8 Max: Final output gives Strapi Cloud pricing (~$22/mo Developer, $99/mo Pro, custom Enterprise, 14-day trial) while explicitly flagging the assumption that it's 'from knowledge' since the pricing page is JS-rendered and unverifiable live, advising to verify at strapi.io/pricing. This behavioural item does not affect the fast grade.
  ```


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

  ```text
  REST API reference and OpenAPI specification pages are linked in Strapi docs navigation.
  ```

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

  ```text
  Built-in MCP server documented with config, auth tokens, and client setup.
  ```

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

  ```text
  Quick start documents npx create-strapi@latest and npm run develop CLI usage.
  ```

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

  ```text
  No registry lookup for a Strapi-owned package was supplied.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills surface is offered or documented in fetched pages.
  ```



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