Head to head · FHIR servers · October 2026 research run

Medplum vs 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. Both do fhir servers.

Best health record and wellness data APIs for AI agents · All 63 health comparisons

Which one, for what

Medplum B

Best 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

Best 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

CategoryWeight this runMedplumTerra APIEdge
Reliability16%207567Medplum +8
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28289Terra API +7
Agent ergonomics13%16.27378Terra API +5
Security & auth14%17.57465Medplum +9
Payments & pricing10%12.52520Medplum +5
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.89375Medplum +18
Transparency & trust7%8.87256Medplum +16
Negative events≤15-20
TotalB 68.7/100B 65.9/100

Facts side by side

FactMedplumTerra API
KindHTTP APIHTTP API
VendorOrangebot, Inc. (dba Medplum)Terra Enabling Developers Inc.
Hosted endpointhttps://api.medplum.com/mcp/streamhttps://access.tryterra.co/api/v2/mcp/<user_id>
TransportsHTTP, Streamable HTTP, SSE (legacy)HTTP, Streamable HTTP
AuthOAuthOAuth or key
PricingFreemiumPay per use
x402nono
LicenceApache 2.0 for the server, SDKs and apps in medplum/medplum. The hosted service at api.medplum.com runs under Medplum's terms of serviceProprietary service under Terra's terms of service. The OpenAPI specs repository is Apache 2.0
Tools exposed36
Read-only variant documentedyesno
llms.txtyesyes
MCP registrycom.medplum/mcpnot listed
Last release2026-10-082026-10-13
Terms last updated2023-04-112026-05-01
Privacy policy last updated2022-04-052023-04-20
Customer content may train modelsnot found in the textnot found in the text
Terms restrict automated accessnot found in the textnot found in the text
Terms restrict benchmarkingnot found in the textyes
Terms or service can change without noticeyesyes
Arbitration or class-action waiveryesyes
Popularity2.7k stars, 270k npm/wk13k 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/<user_id>.

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.

Other comparisons with Medplum or Terra API

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.