# Plans and pricing

URL: https://docs.healthcare.dev/plans

Every plan includes every core dataset, the MCP server, the SDK and the CLI. Every API and MCP
call needs a key, and an MCP tool call costs exactly the same as a REST call. Prices are public
and the same for everyone; there is no sales call and no contract. The
[pricing page](https://healthcare.dev/pricing) has the same numbers.

## Plans

| Plan    | Monthly | Annual    | Included calls / month | Per included call | After that      | Rate limit | Seats |
| ------- | ------- | --------- | ---------------------- | ----------------- | --------------- | ---------- | ----- |
| Free    | $0      | —         | 1,000                  | —                 | None (hard cap) | 5 req/s    | 1     |
| Builder | $49/mo  | $490/yr   | 25,000                 | $0.00196          | $0.002/call     | 10 req/s   | 1     |
| Pro     | $149/mo | $1,490/yr | 100,000                | $0.00149          | $0.0015/call    | 25 req/s   | 1     |
| Team    | $399/mo | $3,990/yr | 400,000                | $0.001            | $0.001/call     | 50 req/s   | 5     |

- **Per included call** is the plan price divided by its included calls.
- **Annual billing** is 10x the monthly price: two months free. Included calls and overage are
  still counted per calendar month (UTC).
- Every billable call counts the same, whatever the dataset. `/v1/status` and `/v1/datasets`
  never count, and neither does the change feed (`/v1/changes`) on the plans that include it.

## What each plan adds

| Feature                      | Free | Builder | Pro | Team |
| ---------------------------- | ---- | ------- | --- | ---- |
| Core datasets, MCP, SDK, CLI | ✓    | ✓       | ✓   | ✓    |
| Search by meaning            | —    | ✓       | ✓   | ✓    |
| Change feed                  | —    | ✓       | ✓   | ✓    |
| Joined answers               | —    | —       | ✓   | ✓    |
| Webhooks                     | —    | —       | ✓   | ✓    |
| Child keys                   | —    | —       | ✓   | ✓    |
| RAG snapshots                | —    | —       | —   | ✓    |
| Eval packs                   | —    | —       | —   | ✓    |

Some of these features are still rolling out; the [changelog](/changelog) announces each one. A
route that needs a feature your plan doesn't include answers `403` `plan-upgrade-required` with
the plan that does.

## Limits and the spend cap

- **Free** stops at its included calls. The first time an account reaches them, its keys keep
  working for 48 hours, once per account. After that, calls return `429` `quota-exceeded` until
  the 1st of the next month (UTC).
- **Paid plans** keep working past their included calls and bill each extra call at the plan's
  per-call rate on the next invoice. A spend cap, 2x the monthly plan price by default and
  adjustable in the dashboard, stops calls with `429` `spend-cap-reached` before you spend more
  than you chose. Emails go out as you approach it.

See [Rate limits and quotas](/rate-limits) for the headers and retry behavior.

## Changing plans

Upgrade, downgrade, cancel or switch between monthly and annual billing any time from the
[dashboard](https://app.healthcare.dev/billing).
