# Medplum vs Zus Health > Medplum scores 68.7 (B) to Zus Health's 56.6 (C) for fhir servers. Prices, MCP, x402, uptime and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/medplum-vs-zus-health - Markdown: https://www.anchorterminal.com/compare/medplum-vs-zus-health.md (~2,350 tokens) - Slim: https://www.anchorterminal.com/compare/medplum-vs-zus-health.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/medplum-vs-zus-health.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-14 Medplum scores 68.7 (B) on agent readiness against Zus Health's 56.6 (C), and leads in every scored category. Both do fhir servers. - Medplum: grade B, 68.7/100, rank #216 of 1076. Markdown https://www.anchorterminal.com/tools/medplum.md · JSON https://www.anchorterminal.com/api/v1/tools/medplum.json - Zus Health: grade C, 56.6/100, rank #669 of 1076. Markdown https://www.anchorterminal.com/tools/zus-health.md · JSON https://www.anchorterminal.com/api/v1/tools/zus-health.json - Best health record and wellness data APIs for AI agents: https://www.anchorterminal.com/best/health-data/index.md - All 63 health comparisons: https://www.anchorterminal.com/compare/health-data/index.md ## Which one, for what ### Medplum (B) Good for: An agent working inside a digital health company's own FHIR store, reading and writing patients, observations and appointments under a BAA. Ahead on: - Reliability, 75 against 66 - Schema & documentation, 82 against 77 - Agent ergonomics, 73 against 67 - Security & auth, 74 against 49 - Payments & pricing, 25 against 5 - Maintenance & community, 93 against 64 - Transparency & trust, 72 against 59 Also in its favour: - A hosted endpoint, with nothing to install - Open source Watch for: The MCP `fhir-request` tool can delete or overwrite any resource the token allows, with no readOnlyHint or destructiveHint ### Zus Health (C) Good for: US care organisations and digital health builders that want a shared, continuously refreshed patient profile in FHIR with EHR embedding. Watch for: No public prices, and the sandbox is requested through a Google Form ## Score by category | Category | Weight | Medplum | Zus Health | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 75 | 66 | Medplum +9 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 82 | 77 | Medplum +5 | | Agent ergonomics | 13% (16.2 this run) | 73 | 67 | Medplum +6 | | Security & auth | 14% (17.5 this run) | 74 | 49 | Medplum +25 | | Payments & pricing | 10% (12.5 this run) | 25 | 5 | Medplum +20 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 93 | 64 | Medplum +29 | | Transparency & trust | 7% (8.8 this run) | 72 | 59 | Medplum +13 | | Negative events | ≤15 | -2 | 0 | | | **Total** | | **68.7 · B** | **56.6 · C** | | ## Facts side by side | Fact | Medplum | Zus Health | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Orangebot, Inc. (dba Medplum) | Zus Health, Inc. | | Hosted endpoint | `https://api.medplum.com/mcp/stream` | no (local only) | | Transports | HTTP, Streamable HTTP, SSE (legacy) | HTTP | | Auth | OAuth | OAuth | | Pricing | Freemium | Paid | | x402 | no | no | | Licence | Apache 2.0 for the server, SDKs and apps in medplum/medplum. The hosted service at api.medplum.com runs under Medplum's terms of service | Proprietary service under the Zus Builder Terms of Service (last updated 11 March 2025), the Developer Sandbox Terms and the Zus Business Associate Addendum | | Tools exposed | 3 | none | | Read-only variant documented | yes | no | | llms.txt | yes | yes | | MCP registry | `com.medplum/mcp` | not listed | | Last release | 2026-10-08 | 2026-10-14 | | Terms last updated | 2023-04-11 | 2025-03-11 | | Privacy policy last updated | 2022-04-05 | 2026-06-24 | | Customer content may train models | not found in the text | not found in the text | | Terms restrict automated access | not found in the text | not found in the text | | Terms restrict benchmarking | not found in the text | not found in the text | | Terms or service can change without notice | yes | not found in the text | | Arbitration or class-action waiver | yes | not found in the text | | Popularity | 2.7k stars, 270k npm/wk | none | ## Verdicts **Medplum.** Graded on the hosted FHIR API at api.medplum.com. Rate limits, a `RateLimit` header and a 99.99 per cent SLA are published, AccessPolicy resources allow read-only clients, and an official MCP server sits in the registry. Its main tool can delete records with no annotation, the status page could not be read, and the privacy policy dates from 2022. **Zus Health.** FHIR R4 over an aggregated patient profile drawn from CommonWell, Carequality, Surescripts, Quest and ADT networks, with published rate limits, a 99.5 per cent SLA and a dated changelog. Accounts and sandboxes are provisioned by Zus on request, with no public prices, no named security certification and no SDK. ## Before you call either ### Medplum 1. Use a ClientApplication with an AccessPolicy limited to the resources the task needs, and set `readonly` where no writes are needed 2. Read the `RateLimit` header and wait for the reset time after a 429. Writes cost 100 quota points, searches 20 and reads 1 3. Create patients with conditional create (`If-None-Exist`) or upsert on an identifier so a retry doesn't make a duplicate 4. Pass paths to `fhir-request` relative to the FHIR R4 base, with no leading slash or `/fhir/R4` prefix 5. Use `Prefer: respond-async` for large bundles. Operations inside the background job don't count against the quota ### Zus Health 1. Cache the access token for its hour. More than 200 token requests an hour per App Client returns 429 2. Request Patient History at most once per patient per 24 hours, and poll the job status endpoint 3. Use conditional create by identifier so a retried write doesn't duplicate a resource 4. Send `Zus-If-Match` with the resource's ETag on PUT and PATCH 5. Set `_count` up to 500 on searches, since the default page is 10 ## Questions ### Which is better for AI agents, Medplum or Zus Health? Medplum scores 68.7 (B) on agent readiness against Zus Health's 56.6 (C), and leads in every scored category. ### Do Medplum and Zus Health need an API key? Both use an OAuth sign-in. ### Can an agent call Medplum and Zus Health without installing anything? Medplum has a hosted endpoint at https://api.medplum.com/mcp/stream. No hosted endpoint is listed for Zus Health. ### Are Medplum and Zus Health open source? Medplum is open source (Apache 2.0 for the server, SDKs and apps in medplum/medplum. The hosted service at api.medplum.com runs under Medplum's terms of service). No open-source release is listed for Zus Health. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/medplum-vs-zus-health.json, and with the fewest tokens: https://www.anchorterminal.com/compare/medplum-vs-zus-health.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "medplum", "b": "zus-health"}`. From a terminal: `anchor compare medplum zus-health` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/medplum.json and https://www.anchorterminal.com/api/v1/tools/zus-health.json ## Other comparisons with Medplum or Zus Health - [Aidbox vs Medplum](https://www.anchorterminal.com/compare/aidbox-vs-medplum.md) - [Aidbox vs Zus Health](https://www.anchorterminal.com/compare/aidbox-vs-zus-health.md) - [Medplum vs Metriport Medical API](https://www.anchorterminal.com/compare/medplum-vs-metriport.md) - [Medplum vs Particle Health](https://www.anchorterminal.com/compare/medplum-vs-particle-health.md) - [Medplum vs Redox](https://www.anchorterminal.com/compare/medplum-vs-redox.md) - [Medplum vs ROOK](https://www.anchorterminal.com/compare/medplum-vs-rook.md) - [Medplum vs Terra API](https://www.anchorterminal.com/compare/medplum-vs-terra.md) - [1upHealth vs Medplum](https://www.anchorterminal.com/compare/1uphealth-vs-medplum.md) - [1upHealth vs Zus Health](https://www.anchorterminal.com/compare/1uphealth-vs-zus-health.md) - [Health Gorilla vs Medplum](https://www.anchorterminal.com/compare/health-gorilla-vs-medplum.md) - [Health Gorilla vs Zus Health](https://www.anchorterminal.com/compare/health-gorilla-vs-zus-health.md) - [Medblocks vs Medplum](https://www.anchorterminal.com/compare/medblocks-vs-medplum.md) - [Medblocks vs Zus Health](https://www.anchorterminal.com/compare/medblocks-vs-zus-health.md) - [Metriport Medical API vs Zus Health](https://www.anchorterminal.com/compare/metriport-vs-zus-health.md) - [Particle Health vs Zus Health](https://www.anchorterminal.com/compare/particle-health-vs-zus-health.md) - [ROOK vs Zus Health](https://www.anchorterminal.com/compare/rook-vs-zus-health.md) - [Terra API vs Zus Health](https://www.anchorterminal.com/compare/terra-vs-zus-health.md) - [Validic Inform vs Zus Health](https://www.anchorterminal.com/compare/validic-vs-zus-health.md) - [Redox vs Zus Health](https://www.anchorterminal.com/compare/redox-vs-zus-health.md)