# AX Check: resend.com
Checked 2026-10-07.

Resend's docs, pricing, and setup all resolve cleanly for agents
All 23 checked items passed, with pricing stated as plain tables and quickstarts, CLI, SDKs, and MCP server all reachable without interaction.

## 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 pricing tables sourced from resend.com, citing Free, Pro, and Scale tiers with volume assumptions, some noting figures as approximate.

### DeepSeek V4.1 Flash
[View public run](https://agents.withgauge.com/p/runs/7b8783a6-8df3-4723-b508-fede15d8927f) · [Read transcript](https://www.ax-check.com/resend.com/sessions/deepseek.json)
Final output gives a full pricing table sourced from resend.com/pricing.md with explicit plan/volume assumptions (Free 3k emails/mo, Pro $20-$35, Scale tiers up to 2.5M, marketing contacts tiers, add-ons), not a bare number.
#### End-to-end onboarding
- **Onboarding needs a login**: No RESEND_API_KEY existed in the sandbox environment, and the agent never obtained one on its own — it correctly identified that account creation and API key generation require a human. It built the example, ran a dry-run locally, and did one live call against the real hosted API (api.resend.com) with a deliberately fake key, which returned a 401 validation error. That confirms SDK-to-API wiring but is not an authenticated operation — no resource was created and no real credential was used, so self-service onboarding was never completed.
  Event 8:

  ```text
  PI_GATEWAY_API_KEY=<redacted>
  ```
  Event 81:

  ```text
  Send failed: {
    message: 'API key is invalid',
    name: 'validation_error',
    statusCode: 401
  }
  ```
  Event 87:

  ```text
  There is **no `RESEND_API_KEY`** in this environment, and account creation/domain verification requires a human. I did not fake a send.
  ```

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

#### Blockers
- **No API key available to complete a real send**: The sandbox had no RESEND_API_KEY and creating a Resend account plus an API key requires a human in the loop per Resend's own docs. This is a test-environment/credential limitation, not a product defect — the agent correctly stopped short of faking success and instead validated the integration path with a dummy key (which correctly returned a 401).
  Event 87:

  ```text
  There is **no `RESEND_API_KEY`** in this environment, and account creation/domain verification requires a human. I did not fake a send.
  ```
  Event 42:

  ```text
  A human must create the Resend account. Once you have an account, you'll need to [create an API key](/docs/create-an-api-key).
  ```
- **One stray 404 on a guessed pricing sub-path**: The agent tried https://resend.com/pricing/ai and https://resend.com/pricing/ai.md as a guess (prompted by a 'See pricing' AI-agent link on the pricing page), both returned 404. This was a quick guess that was immediately abandoned in favor of the documented llms.txt and pricing.md paths, so it did not block progress and is not flagged as a hallucinated URL since the agent recovered instantly using verified paths.
  Event 28:

  ```text
  === pricing ai page ===
  http=404 bytes=83482
  ```
  Event 56:

  ```text
  -- https://resend.com/pricing/ai.md
  <!DOCTYPE html>
  ```

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

### Kimi K3
[View public run](https://agents.withgauge.com/p/runs/24b26138-6bcd-4810-8828-f2e087c818d3) · [Read transcript](https://www.ax-check.com/resend.com/sessions/kimi.json)
Final output gives Free ($0, 3,000/mo, 100/day cap, 1 domain) and Pro (~$20/mo, 50,000/mo) tiers with explicit assumptions about volume/plan, plus a caveat to check current pricing.
#### End-to-end onboarding
- **Onboarding needs a login**: The agent never obtained a Resend API key or any product credential on its own. It wrote a script that checks for RESEND_API_KEY and exits cleanly when absent, explicitly stating the human must sign up at resend.com and create a key. No authenticated call to the Resend API was ever made; the only network checks were unauthenticated HTTP status probes against the API root and npm registry.
  Event 32:

  ```text
  **API key** — you must sign up at resend.com and create a key, then put it in `.env` as `RESEND_API_KEY`. There's no way to bootstrap an account from here.
  ```
  Event 30:

  ```text
  Missing RESEND_API_KEY. Copy .env.example to .env and add your key.
  exit=1
  
  ```
  Event 9:

  ```text
  200
  200
  
  ```

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

#### Blockers
- **No self-service way to obtain a Resend API key**: Sending a real email requires a human to sign up on resend.com and generate an API key in the dashboard; this is normal product authentication (not a product defect) but it did stop the agent from completing an end-to-end authenticated send in this session.
  Event 32:

  ```text
  you must sign up at resend.com and create a key, then put it in `.env` as `RESEND_API_KEY`. There's no way to bootstrap an account from here.
  ```
- **Test-mode sending restricted to account owner's email**: Even with a key, Resend's test mode (no verified domain) only allows sending from onboarding@resend.dev to the address on the account, and reaching other recipients needs DNS verification in the dashboard. This is expected product behavior for unverified domains, surfaced as a limitation the agent flagged rather than worked around.
  Event 32:

  ```text
  in test mode you can only send *from* `onboarding@resend.dev` *to* your own account email. Sending to arbitrary recipients requires adding DNS records (DKIM/SPF) for your domain in the dashboard.
  ```

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

### Qwen 3.8 Max
[View public run](https://agents.withgauge.com/p/runs/c8f85a6d-ec01-4c58-8c28-eb33fe83ffe1) · [Read transcript](https://www.ax-check.com/resend.com/sessions/qwen.json)
README.md and final output give concrete tiers (Free ~3k emails/mo, Pro ~$20/mo for ~50k emails, Scale/Enterprise, $20/mo per domain) while flagging figures as approximate and pointing to resend.com/pricing as source of truth.
#### End-to-end onboarding
- **Onboarding needs a login**: No RESEND_API_KEY was present in the environment, and the agent could not self-serve one. It explicitly identified that creating an API key requires the Resend web dashboard, which needs a human. The agent only tested its code path with a dummy key, which correctly returned a 401 auth error — proving the SDK wiring works but never achieving an authenticated operation against the real Resend API.
  Event 13:

  ```text
  RESEND_API_KEY set: no
  ```
  Event 46:

  ```text
  Resend returned an error: {
    message: 'API key is invalid',
    name: 'validation_error',
    statusCode: 401
  }
  ```
  Event 73:

  ```text
  The only missing piece is a real key (account setup happens in the web dashboard, which needs you).
  ```

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

#### Blockers
- **No real Resend API key available to send a live email**: The sandbox had no RESEND_API_KEY set and no way to self-service one, since Resend requires creating the key through its web dashboard. This is a normal login/credential requirement of the product, not a product defect — the agent correctly identified it and stopped short of claiming a real send succeeded, instead validating the code path with a dummy key (401 response).
  Event 13:

  ```text
  RESEND_API_KEY set: no
  ```
  Event 46:

  ```text
  Resend returned an error: {
    message: 'API key is invalid',
    name: 'validation_error',
    statusCode: 401
  }
  ```
  Event 73:

  ```text
  The only missing piece is a real key (account setup happens in the web dashboard, which needs you).
  ```
- **Pricing page numbers render client-side, blocking scraped detail**: Attempts to scrape exact volume/tier numbers from the pricing page via curl + text processing mostly failed because the figures are rendered client-side (JS), so the agent only recovered a few fragments like the $20/mo domain add-on and tier names (Free/Pro/Scale/Enterprise). This is a test-environment limitation (no JS-capable browser/fetch tool), not a product defect; the agent compensated by giving approximate figures and pointing to the live page as source of truth.
  Event 52:

  ```text
  (no output)
  
  [Showing lines 17-16 of 16 (50.0KB limit). Full output: /tmp/pi-bash-d2c99773c1184aa8.log]
  ```
  Event 62:

  ```text
  19 Propert
       12 protect
       11 provide
       10 product
  ```

#### Suggested Changes
- **Add a static HTML pricing summary table**: Fetching https://resend.com/pricing via plain curl returned mostly obfuscated/minified text with figures embedded in client-rendered JS, so only fragments like '$20 / mo' and bare tier names (Free/Pro/Scale) were recoverable. Adding a static HTML table of tier name, monthly price, and included email volume to the pricing page would let simple fetch-based tooling read pricing without executing JavaScript. Verify by curling the page without a browser and confirming tier/price/volume text appears in the raw HTML.
  Event 57:

  ```text
  ricing Add-ons Domains - $20 / mo Your p
  ```
  Event 62:

  ```text
  6 Free\"}]
        5 Scale\"}]
        5 Pro\"}]
  ```

### Task given to each agent
Help me build a simple example using Resend. 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 Accept: text/markdown, confirming Markdown support.
  ```

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

  ```text
  llms.txt links docs, API, MCP, CLI, skills, SDKs with organized sections.
  ```

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

  ```text
  llms.txt groups resources under clear headings with usage guidance.
  ```

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

  ```text
  llms.txt lists OpenAPI spec, MCP server, and skills discovery links.
  ```

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

  ```text
  Homepage serves text/markdown; llms.txt and .md routes provide compact agent representations.
  ```

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

  ```text
  llms.txt and skill SKILL.md files are directly retrievable with actionable workflows.
  ```

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

  ```text
  llms.txt ~1900 tokens and CLI skill ~2840 tokens, both well under 8000.
  ```

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

  ```text
  Homepage Markdown preserves docs, pricing, SDK and API links.
  ```

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

  ```text
  CLI skill gives install, auth, non-interactive flags, commands and gotchas for a complete workflow.
  ```

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

  ```text
  Node.js and Next.js quickstarts fetched 200 with install and send steps; docs routes resolve.
  ```


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

  ```text
  Docs introduction links Node.js and Next.js quickstarts with prerequisites and step-by-step guides.
  ```

- **Pass** — Installation commands are extractable

  ```text
  Quickstarts show npm/yarn/pnpm/bun install commands; CLI skill shows npm/brew install.
  ```

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

  ```text
  Node.js and Next.js quickstarts include full inline code examples without interaction.
  ```

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

  ```text
  Quickstarts list API key and verified domain prerequisites; CLI skill documents RESEND_API_KEY auth.
  ```


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

  ```text
  Pricing page renders as static Markdown table with all plan prices, no interaction needed.
  ```

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

  ```text
  All plan prices stated in table: Free $0, Pro $20/$35, Scale $90-$1,150.
  ```

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

  ```text
  Units explicit: emails/mo, overage per 1,000, contacts, daily 100-email Free limit.
  ```

- **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 sourced from resend.com/pricing.md with explicit plan/volume assumptions (Free 3k emails/mo, Pro $20-$35, Scale tiers up to 2.5M, marketing contacts tiers, add-ons), not a bare number. Kimi K3: Final output gives Free ($0, 3,000/mo, 100/day cap, 1 domain) and Pro (~$20/mo, 50,000/mo) tiers with explicit assumptions about volume/plan, plus a caveat to check current pricing. Qwen 3.8 Max: README.md and final output give concrete tiers (Free ~3k emails/mo, Pro ~$20/mo for ~50k emails, Scale/Enterprise, $20/mo per domain) while flagging figures as approximate and pointing to resend.com/pricing as source of truth. This behavioural item does not affect the fast grade.
  ```


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

  ```text
  OpenAPI 3.0 spec served at /openapi.yaml and /openapi.json; API reference docs also fetched.
  ```

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

  ```text
  Remote MCP at mcp.resend.com/mcp plus self-hosted resend-mcp; client configs and auth documented.
  ```

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

  ```text
  CLI install documented: npm install -g resend-cli, Homebrew, and installer script.
  ```

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

  ```text
  Registry lookups returned HTTP 200 for npm resend, npm resend-cli, and PyPI resend.
  ```

- **Pass** — Agent skills are published

  ```text
  Agent skills published: resend, resend-cli, react-email, email-best-practices SKILL.md files fetched.
  ```



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