# Medplum vs Terra API > Medplum scores 68.7 (B) to Terra's 65.9 (B) for fhir servers. Prices, MCP, x402, uptime and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/medplum-vs-terra - Markdown: https://www.anchorterminal.com/compare/medplum-vs-terra.md (~2,450 tokens) - Slim: https://www.anchorterminal.com/compare/medplum-vs-terra.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/medplum-vs-terra.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 Terra API's 65.9 (B), and leads in 5 of 7 scored categories. Terra API leads on schema & documentation and agent ergonomics. 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 - Terra API: grade B, 65.9/100, rank #327 of 1076. Markdown https://www.anchorterminal.com/tools/terra.md · JSON https://www.anchorterminal.com/api/v1/tools/terra.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 67 - Security & auth, 74 against 65 - Payments & pricing, 25 against 20 - Maintenance & community, 93 against 75 - Transparency & trust, 72 against 56 Also in its favour: - Open source Watch for: The MCP `fhir-request` tool can delete or overwrite any resource the token allows, with no readOnlyHint or destructiveHint ### Terra API (B) Good for: A fitness, wellness, insurance or research product whose users connect consumer wearables and apps, and an agent that needs to read one user's sleep, activity or body data through MCP. Ahead on: - Schema & documentation, 89 against 82 - Agent ergonomics, 78 against 73 Watch for: No free tier. Sign-up asks for a plan and billing details, and Quick Start starts at $499 a month with a 30-day money-back guarantee ## Score by category | Category | Weight | Medplum | Terra API | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 75 | 67 | Medplum +8 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 82 | 89 | Terra API +7 | | Agent ergonomics | 13% (16.2 this run) | 73 | 78 | Terra API +5 | | Security & auth | 14% (17.5 this run) | 74 | 65 | Medplum +9 | | Payments & pricing | 10% (12.5 this run) | 25 | 20 | Medplum +5 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 93 | 75 | Medplum +18 | | Transparency & trust | 7% (8.8 this run) | 72 | 56 | Medplum +16 | | Negative events | ≤15 | -2 | 0 | | | **Total** | | **68.7 · B** | **65.9 · B** | | ## Facts side by side | Fact | Medplum | Terra API | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Orangebot, Inc. (dba Medplum) | Terra Enabling Developers Inc. | | Hosted endpoint | `https://api.medplum.com/mcp/stream` | `https://access.tryterra.co/api/v2/mcp/` | | Transports | HTTP, Streamable HTTP, SSE (legacy) | HTTP, Streamable HTTP | | Auth | OAuth | OAuth or key | | Pricing | Freemium | Pay per use | | 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 Terra's terms of service. The OpenAPI specs repository is Apache 2.0 | | Tools exposed | 3 | 6 | | Read-only variant documented | yes | no | | llms.txt | yes | yes | | MCP registry | `com.medplum/mcp` | not listed | | Last release | 2026-10-08 | 2026-10-13 | | Terms last updated | 2023-04-11 | 2026-05-01 | | Privacy policy last updated | 2022-04-05 | 2023-04-20 | | 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 | yes | | Terms or service can change without notice | yes | yes | | Arbitration or class-action waiver | yes | yes | | Popularity | 2.7k stars, 270k npm/wk | 13k npm/wk, 11k PyPI/wk | ## 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. **Terra API.** Graded on the Unified API and the Terra AI MCP server. A public OpenAPI 3.1 spec, llms.txt, per-user rate limits with Retry-After, and scoped admin tokens with approvals. Access starts at $499 a month with billing details at sign-up, the data API key has no scopes, and API key requests failed for 2 hours 38 minutes on 7 August 2026. ## 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 ### Terra API 1. Send dev-id and x-api-key headers on every Unified API and Terra AI call. A missing header returns 401 problem+json 2. Keep each request window to 1,825 days or less and under 6,000 requested days per user an hour. On 429 with rule r2, wait Retry-After seconds 3. Pass either fields or select to Terra AI tools, never both and never neither, or the call fails with a validation error 4. Expect data by webhook after a user connects through the widget session. REST reads are for backfills and on-demand queries 5. Use the Read only access level for the admin MCP server unless a change is needed. The MCP level can read API keys ## Questions ### Which is better for AI agents, Medplum or Terra API? Medplum scores 68.7 (B) on agent readiness against Terra API's 65.9 (B), and leads in 5 of 7 scored categories. Terra API leads on schema & documentation and agent ergonomics. ### Do Medplum and Terra API need an API key? Medplum uses an OAuth sign-in. Terra API takes an API key or an OAuth sign-in. ### Can an agent call Medplum and Terra API without installing anything? Yes. Medplum has a hosted endpoint at https://api.medplum.com/mcp/stream and Terra API at https://access.tryterra.co/api/v2/mcp/. ### Are Medplum and Terra API 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 Terra API. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/medplum-vs-terra.json, and with the fewest tokens: https://www.anchorterminal.com/compare/medplum-vs-terra.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "medplum", "b": "terra"}`. From a terminal: `anchor compare medplum terra` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/medplum.json and https://www.anchorterminal.com/api/v1/tools/terra.json ## Other comparisons with Medplum or Terra API - [1upHealth vs Terra API](https://www.anchorterminal.com/compare/1uphealth-vs-terra.md) - [Aidbox vs Medplum](https://www.anchorterminal.com/compare/aidbox-vs-medplum.md) - [Aidbox vs Terra API](https://www.anchorterminal.com/compare/aidbox-vs-terra.md) - [Health Gorilla vs Terra API](https://www.anchorterminal.com/compare/health-gorilla-vs-terra.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 Zus Health](https://www.anchorterminal.com/compare/medplum-vs-zus-health.md) - [Metriport Medical API vs Terra API](https://www.anchorterminal.com/compare/metriport-vs-terra.md) - [Particle Health vs Terra API](https://www.anchorterminal.com/compare/particle-health-vs-terra.md) - [Redox vs Terra API](https://www.anchorterminal.com/compare/redox-vs-terra.md) - [1upHealth vs Medplum](https://www.anchorterminal.com/compare/1uphealth-vs-medplum.md) - [Health Gorilla vs Medplum](https://www.anchorterminal.com/compare/health-gorilla-vs-medplum.md) - [Medblocks vs Medplum](https://www.anchorterminal.com/compare/medblocks-vs-medplum.md) - [Medblocks vs Terra API](https://www.anchorterminal.com/compare/medblocks-vs-terra.md) - [Terra API vs Zus Health](https://www.anchorterminal.com/compare/terra-vs-zus-health.md) - [ROOK vs Terra API](https://www.anchorterminal.com/compare/rook-vs-terra.md) - [Terra API vs Validic Inform](https://www.anchorterminal.com/compare/terra-vs-validic.md)