# AX Check: elastic.co
Checked 2026-09-19.

Elastic's quickstart and pricing are clear, but llms.txt is missing
Quickstart docs give concrete install steps and commands; pricing is stated in plain dollar figures. The llms.txt documentation index returns a 404.

## Onboarding needs a login

## Coding sessions
All three independent agent sessions completed and priced the hosted product, landing on estimates between roughly $75 and $114 per month based on stated assumptions like deployment size and support tier, without hitting any login wall.

### DeepSeek V4 Pro
[View public run](https://agents.withgauge.com/p/runs/e7805b7a-4335-427f-92c2-b6b524b6c9d4) · [Read transcript](https://www.ax-check.com/elastic.co/sessions/deepseek.json)
Final output gives ~$95/month figure for hosted ESS with explicit assumptions (resource/size-based, support tier, minimal deployment) and notes serverless is usage-metered (ingest/storage/compute), plus flags that live rates come from the pricing calculator rather than static HTML (seq 46, seq 130).
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained real Elastic Cloud credentials. It only had access to a sandbox with no Elastic account, and it explicitly stated there is no anonymous access to the hosted API. It fabricated dummy Cloud ID and API key values locally (e.g. 'Zm9vOmJhcg==', a base64 string built from 'us-east-1.aws.found.io$es123$kibana123') purely to test that the SDK's Client constructor parses the Cloud ID format -- this is a local unit-level check of the SDK, not an authenticated call to the real product. No index, search, or bulk operation was ever executed against a live Elasticsearch deployment.
  Event 104:

  ```text
  Missing credentials. Set ELASTIC_CLOUD_ID and ELASTIC_API_KEY.
  Get them from your Elastic Cloud deployment page (Cloud ID) and Security > API keys (API key).
  ```
  Event 128:

  ```text
  client constructed: Client
  ```
  Event 130:

  ```text
  This environment has no Elastic Cloud account/credentials, and there's no anonymous access to the hosted API.
  ```

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

#### Blockers
- **No Elastic Cloud account available to run the example live**: The sandbox had no Elastic Cloud credentials and no way to self-register for an account within the session (email verification and interactive deployment provisioning are required). This is a normal login/account-creation requirement, not a product defect -- the agent correctly identified it and stopped rather than faking success.
  Event 130:

  ```text
  This environment has no Elastic Cloud account/credentials, and there's no anonymous access to the hosted API.
  ```
  Event 130:

  ```text
  Sign up at `cloud.elastic.co` (email verification), and
  2. Create/provision a deployment (interactive, takes minutes), then generate an API key.
  ```
- **Pricing figures not present in static HTML**: The agent fetched elastic.co/pricing and the serverless pricing page but found no literal dollar amounts in the static HTML (client-side rendered), so it could not extract exact rates and instead described the pricing model qualitatively. This is a limitation of using curl instead of a JS-rendering browser, not a credentials or product-auth issue.
  Event 28:

  ```text
  https://cloud.elastic.co/pricing/serverless?s=vectordb
  https://www.elastic.co/pricing
  ---JSON blobs with price---
  ---dollar amounts---
  
  ```
  Event 130:

  ```text
  the actual dollar figures are rendered client-side on `elastic.co/pricing`, so they aren't in the static HTML I fetched
  ```

#### Suggested Changes
- **Expose pricing figures in server-rendered HTML on the pricing page**: On elastic.co/pricing and cloud.elastic.co/pricing/serverless, the dollar-per-unit figures (per GB ingest, per ECU, per storage tier) render only via client-side JavaScript, so a plain curl/static fetch returns no dollar amounts. Adding these figures to server-rendered HTML (or a simple JSON pricing endpoint) would let a lightweight SDK-only agent quote exact rates instead of a qualitative model. Verify by curling the page and confirming dollar amounts appear in the raw HTML.
  Event 28:

  ```text
  https://cloud.elastic.co/pricing/serverless?s=vectordb
  https://www.elastic.co/pricing
  ---JSON blobs with price---
  ---dollar amounts---
  
  ```

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/3f50ec2c-40bd-4388-902e-806a75e009dd) · [Read transcript](https://www.ax-check.com/elastic.co/sessions/kimi.json)
Pricing section names two models with concrete assumptions (14-day trial, RAM-based hourly pricing ~$0.10-0.20/hr for small deployments vs serverless usage-based ingest/storage/VCU pricing) and flags it may be stale.
#### End-to-end onboarding
- **Onboarding needs a login**: Agent never obtained real Elastic Cloud credentials. It checked the sandbox environment for ELASTIC_* variables, found none, and determined that creating a deployment requires human account signup. It then wrote a local Python script and only verified its syntax and that the elasticsearch SDK installed locally — no authenticated call to a live Elastic Cloud deployment was ever made.
  Event 10:

  ```text
  total 16
  drwxr-xr-x 3 root root 4096 Sep 18 08:00 .
  drwxr-xr-x 7 root root 4096 Sep 18 08:00 .git
  -rw-r--r-- 1 root root  408 Sep 18 08:00 .gitignore
  done
  
  ```
  Event 18:

  ```text
  creating a deployment requires **an account signup** (email + login), which I can't do on your behalf. I also checked this sandbox: there are no `ELASTIC_*` credentials in the environment or repo.
  ```
  Event 29:

  ```text
  syntax OK
  elasticsearch (8, 19, 3) installed
  
  ```

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

#### Blockers
- **Elastic Cloud requires human account signup to get credentials**: Product behavior, not agent error: provisioning any Elastic Cloud deployment (or Serverless) requires an email/login-based signup that the agent cannot complete on its own. No ELASTIC_* credentials were pre-provisioned in the sandbox, so the agent could not reach the authenticated API stage of the workflow. This is a normal login/credential requirement rather than a product defect.
  Event 18:

  ```text
  creating a deployment requires **an account signup** (email + login), which I can't do on your behalf.
  ```
  Event 18:

  ```text
  there are no `ELASTIC_*` credentials in the environment or repo.
  ```

#### Suggested Changes
- **Offer a no-signup sandbox/demo endpoint for quickstart testing**: The agent could reach cloud.elastic.co and pypi.org fine (confirmed via curl 200 responses at seq 16) but stopped at the account-creation wall since Elastic Cloud has no ungated trial endpoint. Adding a temporary, credential-free sandbox cluster to the quickstart docs would let automated agents validate the SDK workflow end-to-end without waiting on human signup. Verify by having an agent run the same quickstart script against the sandbox endpoint and confirm index/search/delete operations succeed without human-provided secrets.
  Event 18:

  ```text
  creating a deployment requires **an account signup** (email + login), which I can't do on your behalf.
  ```

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/f93aba2a-db60-456b-ac59-617f43846f7c) · [Read transcript](https://www.ax-check.com/elastic.co/sessions/qwen.json)
Final output gives hourly consumption pricing (~$0.10-0.15/hr, $75-110/mo) tied to explicit assumptions: General Purpose template, ~1GB RAM shard, hot/warm/cold tiers, region-dependent transfer costs, and 14-day free trial.
#### End-to-end onboarding
- **Onboarding needs a login**: Agent found no Elastic Cloud credentials in the sandbox environment and correctly identified that provisioning a deployment requires interactive signup with email verification, which it cannot do headlessly. It wrote a complete, syntactically valid example script using the elasticsearch-py SDK but never executed it against a real hosted cluster, since it never obtained ELASTIC_CLOUD_ID or ELASTIC_API_KEY. No authenticated operation against the actual product occurred.
  Event 14:

  ```text
  there are **no Elastic Cloud credentials** in this environment (`ELASTIC_CLOUD_ID`, `ELASTIC_API_KEY`, etc. are all unset). Creating an Elastic Cloud deployment requires an account signup with email verification — I can't complete that non-interactively.
  ```
  Event 27:

  ```text
  No Elastic Cloud credentials exist in this environment, and provisioning a deployment requires interactive account signup + email verification — I can't do that headlessly.
  ```
  Event 27:

  ```text
  Syntax verified; it can't be executed end-to-end here (see blocker).
  ```

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

#### Blockers
- **No Elastic Cloud credentials available for headless signup**: Elastic Cloud requires interactive account creation with email verification to obtain a Cloud ID and API key. This is a normal login/signup requirement of the product, not a product defect, and the agent correctly stopped short of claiming false success. This is a session/environment limitation rather than an agent error.
  Event 14:

  ```text
  Elastic *does* have a real developer workflow (hosted Elasticsearch + Python/JS SDKs), so rather than stopping cold, I'll prep everything up to the credential step so it runs the moment you supply a Cloud ID + API key.
  ```
  Event 27:

  ```text
  give me two values** (from cloud.elastic.co, free 14-day trial, no credit card):
  - `ELASTIC_CLOUD_ID` (from your deployment's overview page)
  - `ELASTIC_API_KEY` (Stack Management → API Keys in Kibana)
  ```

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

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

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

  ```text
  https://www.elastic.co/llms.txt returns HTTP 404, so no documentation index exists.
  ```

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

  ```text
  llms.txt is 404, so no navigation guidance could be evaluated.
  ```

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

  ```text
  llms.txt is 404, so no API/MCP/skills mentions could be evaluated.
  ```

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

  ```text
  Standalone .md quickstart pages are published and fetched successfully, e.g. quickstart-monitor-hosts-with-opentelemetry.md.
  ```

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

  ```text
  Focused quickstart pages fetched directly with concrete steps, prerequisites, and commands.
  ```

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

  ```text
  Markdown quickstarts measure ~1800 tokens, well under the 8000-token budget.
  ```

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

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

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

  ```text
  Quickstart gives concrete steps: create project, Add Data, install EDOT SDK, configure endpoint.
  ```

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

  ```text
  Fetched quickstart and .md variants returned 200; install/next-step links resolve.
  ```


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

  ```text
  Docs quickstarts give concrete steps: create project, Add Data, install EDOT SDK, configure endpoint.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Quickstarts describe copying and running install commands for Elastic Agent and EDOT SDKs.
  ```

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

  ```text
  Markdown quickstarts show inline code, config file names, and commands without interaction.
  ```

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

  ```text
  Prerequisites list Admin role, project, and APM agent key for authenticating EDOT SDKs.
  ```


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

  ```text
  Pricing pages render full plan and usage details as static HTML without interaction.
  ```

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

  ```text
  Hosted tiers show $99/$114/$131/$184 per month; serverless lists per-VCU rates.
  ```

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

  ```text
  Units explicit: per VCU/hour, per GB/month, per million tokens, per execution.
  ```

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

  ```text
  3 of 3 sessions were judged on pricing; 0 fell short. DeepSeek V4 Pro: Final output gives ~$95/month figure for hosted ESS with explicit assumptions (resource/size-based, support tier, minimal deployment) and notes serverless is usage-metered (ingest/storage/compute), plus flags that live rates come from the pricing calculator rather than static HTML (seq 46, seq 130). Kimi K3: Pricing section names two models with concrete assumptions (14-day trial, RAM-based hourly pricing ~$0.10-0.20/hr for small deployments vs serverless usage-based ingest/storage/VCU pricing) and flags it may be stale. Qwen 3.8 Max: Final output gives hourly consumption pricing (~$0.10-0.15/hr, $75-110/mo) tied to explicit assumptions: General Purpose template, ~1GB RAM shard, hot/warm/cold tiers, region-dependent transfer costs, and 14-day free trial. This behavioural item does not affect the fast grade.
  ```


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

  ```text
  APM Server API reference page lists intake, agent config, and OpenTelemetry endpoints.
  ```

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

  ```text
  Elastic Security MCP App documented with tools, install steps, and API-key auth.
  ```

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

  ```text
  Fetched pages describe Elastic Agent and MCP installs, not a product CLI install path.
  ```

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

  ```text
  No registry lookup result for an Elastic SDK or packaged CLI was supplied.
  ```

- **Skipped** — Agent skills are published

  ```text
  Only optional Claude Skills for the MCP app are mentioned; no published skills catalog fetched.
  ```



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