# AX Check: rankor.ai
Checked 2026-09-30.

Rankor.ai offers agents no docs, no llms.txt, no visible pricing page
Only the homepage loads; there's no documentation index, quickstart, or pricing page for an agent to find on its own.

## Onboarding needs a login

## Coding sessions
Three independent sessions each tried to price the product without a pricing page in evidence, and landed on conflicting answers: one found a paid Pro plan via a live API call, another found a multi-tier pricing table from embedded page data, and a third concluded it's a free open-source library with no billing at all.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/af757804-c74c-499b-9f89-f01ebeecba73) · [Read transcript](https://www.ax-check.com/rankor.ai/sessions/deepseek.json)
README.md and final summary state Pro plan $49.00/month USD with 14-day trial pulled live from GET /v1/billing/plans, explicitly noting it's the only plan the API currently exposes vs. the marketing FAQ's prompt/brand-based tiering assumption.
#### End-to-end onboarding
- **Onboarding needs a login**: Agent found Rankor's real hosted REST API (OpenAPI spec at dev.rankor.ai/api/openapi.json) and called public endpoints (health, billing plans) successfully. It never obtained real credentials: it only tried a deliberately bogus login to confirm the auth gate returns 401, and explicitly stated it had no account or token. Authenticated endpoints (bootstrap, brand creation, KPIs) were never exercised, since signup requires email verification the agent could not complete.
  Event 167:

  ```text
  ### plans
  200
    Pro (pro): $49.00/month USD, 14-day trial
  ```
  Event 167:

  ```text
  ### bogus login (auth gate)
  401
  {
    "code": "invalid_credentials",
    "message": "Email or password is incorrect."
  ```
  Event 181:

  ```text
  I can't run the authenticated half (`bootstrap`, `kpis`, brand creation) because I have no Rankor account or token, and I can't complete the email-verification step.
  ```

#### Hallucinated URLs
- **Guessed API host that does not resolve**: The agent tried a guessed subdomain api.rankor.ai before finding the real API lives at dev.rankor.ai/api. The guess failed with DNS resolution failure and was immediately abandoned once the working host was found, so this is a minor self-corrected guess rather than a used broken link.
  Event 20:

  ```text
  == https://api.rankor.ai ==
  curl: (6) Could not resolve host: api.rankor.ai
  000 
  
  
  Command exited with code 6
  ```

#### Blockers
- **No self-service path to a usable account/token**: Product behavior: signup requires email verification before login can issue a bearer token, and there is no API-key or headless auth alternative. Since the sandbox has no real inbox to receive a verification link, the agent could not move past account creation to any authenticated endpoint.
  Event 181:

  ```text
  Onboarding requires **email verification**: `signup` → verification link → `login`. There's no headless/dev bypass in the spec.
  ```
  Event 143:

  ```text
  "title": "VerifyEmailRequest"
  ```
- **Cloudflare blocked default Python User-Agent (self-resolved)**: Test-environment quirk, not a hard product defect: Cloudflare in front of dev.rankor.ai returned 403 browser_signature_banned for requests using Python's default urllib User-Agent. This blocked every API call from the first script version, but the agent diagnosed it, set an explicit User-Agent header, and confirmed all public calls then returned 200 - a recovered obstacle, not an unresolved one.
  Event 153:

  ```text
  "title": "Error 1010: Access denied",
    "status": 403,
    "detail": "The site owner has blocked access based on your browser's signature."
  ```
  Event 167:

  ```text
  ### health
  200 {
    "status": "ok",
  ```

#### Suggested Changes
- **Publish a direct link to API docs from the marketing site**: rankor.ai 404s on /docs, /pricing, and /features, and robots.txt disallows /api, so a developer must guess the dev.rankor.ai host to find the Swagger UI. Add a visible 'API docs' link on rankor.ai pointing to https://dev.rankor.ai/api/docs so newcomers don't need to brute-force subdomains.
  Event 30:

  ```text
  == docs ==
  404 https://rankor.ai/docs
  ```
  Event 104:

  ```text
  == https://dev.rankor.ai/api/docs ==
  HTTP 200 len=1021 ctype=text/html; charset=utf-8 loc=
  ```
- **Offer a non-email-gated way to get a developer token**: The only auth path in the OpenAPI spec is signup with mandatory email verification, then login for a bearer JWT; there is no API-key issuance endpoint. Add a lightweight API-key or sandbox-token flow, checkable by confirming a new securityScheme appears at /api/openapi.json alongside HTTPBearer.
  Event 128:

  ```text
  === endpoints WITHOUT explicit bearer security (public or inherit) ===
    POST   /v1/auth/signup  security=None
  ```
  Event 110:

  ```text
  "HTTPBearer": {
    "type": "http",
    "scheme": "bearer"
   }
  ```
- **Publish an official SDK or quickstart code sample**: No npm or PyPI package named rankor exists for the product's client, forcing a hand-rolled stdlib HTTP client. Publish a minimal official SDK or copy-pasteable code sample in the docs at dev.rankor.ai/api/docs, verified by checking that `pip install rankor` or `npm view rankor` resolves to the product's package.
  Event 76:

  ```text
  == npm rankor ==
  404
  {"error":"Not found"}
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/0cece6d2-0c78-4b58-9d3d-f7b65dc05b67) · [Read transcript](https://www.ax-check.com/rankor.ai/sessions/kimi.json)
Final output (seq 80) gives a full pricing table (Free/Starter/Pro, $0/$10/$29 monthly) sourced from the site's embedded JSON and explicitly names assumptions: plan tier, player/tournament limits, and 14-day trial terms.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: The agent never obtained or used any product credentials. It determined via web probing that rankor.app (the product it identified as "Rankor") exposes no API, SDK, docs, or developer subdomain, and stopped per the seed prompt's instruction to say so plainly if no developer workflow exists. No signup, API key, or authenticated operation was attempted.
  Event 80:

  ```text
  No developer surface exists. I checked, and all came up empty:
  - `/api`, `/api/v1`, `/docs`, `/developers`, `/api-docs` → 404; `/openapi.json` → 500
  - No `api.rankor.app` or `docs.rankor.app` subdomains
  - No official SDK on npm or PyPI
  ```
  Event 80:

  ```text
  The only programmatic surface is its internal Inertia session endpoints, which require authenticated web sessions and aren't a supported API — using them would be scraping, not a developer workflow.
  ```

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

#### Blockers
- **No public API, SDK, or docs found for the product**: This is product behavior, not agent error or missing credentials: the agent systematically probed common developer paths and subdomains on rankor.app and found none of them exist, then correctly halted per the seed prompt's explicit instruction to stop if no developer workflow is available.
  Event 33:

  ```text
  == /docs
  404 text/html; charset=utf-8
  == /api
  404 text/html; charset=utf-8
  == /api-docs
  404 text/html; charset=utf-8
  == /developers
  404 text/html; charset=utf-8
  == /api/v1
  404 text/html; charset=utf-8
  == /openapi.json
  500 
  ```
  Event 78:

  ```text
  curl: (6) Could not resolve host: docs.rankor.app
  docs.rankor.app: 000
  curl: (6) Could not resolve host: api.rankor.app
  api.rankor.app: 000
  ```

#### Suggested Changes
- **Publish a developer API or SDK with a discoverable docs subdomain**: Currently rankor.app returns 404 on /api, /docs, /developers, /api-docs and 500 on /openapi.json, with no docs.rankor.app or api.rankor.app subdomain resolving. If a programmatic integration path is intended for organizers/developers, add a docs or api subdomain (or a documented path under the main domain) and verify it resolves with a 200 and lists authentication and endpoints.
  Event 33:

  ```text
  == /docs
  404 text/html; charset=utf-8
  == /api
  404 text/html; charset=utf-8
  ```
  Event 78:

  ```text
  curl: (6) Could not resolve host: docs.rankor.app
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/cdcbc317-fd3e-474b-b664-2b1d58229a74) · [Read transcript](https://www.ax-check.com/rankor.ai/sessions/qwen.json)
Final output states pricing plainly grounded in evidence: 'free, Apache-2.0-licensed open source... no billing model, no tiers, no usage metering' — an assumption (it's a plain OSS library, not a paid hosted product) is named rather than a number invented.
#### End-to-end onboarding
- **End-to-end onboarding not demonstrated**: No credential acquisition or authenticated product operation occurred. The agent determined Rankor is a plain open-source Python library (PyPI package) with no hosted service, API, SDK, accounts, or API keys at all, so there was nothing to onboard to or authenticate against.
  Event 28:

  ```text
  It is not a hosted product. There is no cloud service, no REST API, no SDK, no API keys, no accounts or sign-up. I checked PyPI, npm (404), GitHub, and candidate domains like rankor.dev (no meaningful content) — nothing hosted exists.
  ```

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

#### Blockers
- **Rankor has no hosted API/SDK to build against**: The task required using a hosted product's SDK or API. Investigation (PyPI metadata, npm registry, GitHub repo, and candidate domain rankor.dev) showed Rankor is only a small local Python library with no cloud service, accounts, or API keys. This is a product-scope mismatch rather than an agent error — the agent verified this thoroughly before stopping instead of fabricating a fake API workflow.
  Event 12:

  ```text
  npm error 404 Not Found - GET https://registry.npmjs.org/rankor - Not found
  ```
  Event 28:

  ```text
  It is not a hosted product. There is no cloud service, no REST API, no SDK, no API keys, no accounts or sign-up.
  ```

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

### Task given to each agent
Help me build a simple example using Rankor. 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: F · 0/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 Markdown Accept header; no Markdown representation offered.
  ```

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

  ```text
  https://rankor.ai/llms.txt returns 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 any API, MCP or skills mentions cannot be evaluated.
  ```

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

  ```text
  No compact guide or Markdown representation was fetched; only homepage and signup pages returned HTML.
  ```

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

  ```text
  No focused guide page was discovered or fetched; /llms.txt returned 404 and no docs were linked.
  ```

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

  ```text
  No guide content was retrieved, so token budget of equivalent instructions cannot be measured.
  ```

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

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

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

  ```text
  No compact guide or agent-specific Markdown page was fetched for Rankor.
  ```

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

  ```text
  No install or next-step links were offered in the fetched Rankor pages.
  ```


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

  ```text
  No docs or quickstart pages were fetched; only homepage, signup and a 404 llms.txt.
  ```

- **Skipped** — Installation commands are extractable

  ```text
  No installation or CLI guide was fetched, so no install commands are available to extract.
  ```

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

  ```text
  No documentation or code-example pages were fetched for Rankor.
  ```

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

  ```text
  Signup page only shows a session check; no prerequisites or auth boundary details fetched.
  ```


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

  ```text
  No pricing page was fetched; homepage only links to a FAQ question about pricing.
  ```

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

  ```text
  No pricing page was fetched; no prices are stated anywhere in the evidence.
  ```

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

  ```text
  No pricing page was fetched, so units and limits cannot be judged.
  ```

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

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4.1 Flash: README.md and final summary state Pro plan $49.00/month USD with 14-day trial pulled live from GET /v1/billing/plans, explicitly noting it's the only plan the API currently exposes vs. the marketing FAQ's prompt/brand-based tiering assumption. Kimi K3: Final output (seq 80) gives a full pricing table (Free/Starter/Pro, $0/$10/$29 monthly) sourced from the site's embedded JSON and explicitly names assumptions: plan tier, player/tournament limits, and 14-day trial terms. Qwen 3.8 Max: Final output states pricing plainly grounded in evidence: 'free, Apache-2.0-licensed open source... no billing model, no tiers, no usage metering' — an assumption (it's a plain OSS library, not a paid hosted product) is named rather than a number invented. This behavioural item does not affect the fast grade.
  ```


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

  ```text
  No API reference or OpenAPI spec was fetched for Rankor.
  ```

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

  ```text
  No MCP server documentation was fetched for Rankor.
  ```

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

  ```text
  No CLI install path was fetched for Rankor.
  ```

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

  ```text
  No SDK package registry lookup was fetched for Rankor.
  ```

- **Skipped** — Agent skills are published

  ```text
  No agent skills documentation was fetched for Rankor.
  ```



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