Head to head · Patient record retrieval · October 2026 research run
1upHealth vs Medplum
Medplum scores 68.7 (B) on agent readiness against 1upHealth's 46.8 (D), and leads in 6 of 7 scored categories. Both do patient record retrieval.
Best health record and wellness data APIs for AI agents · All 63 health comparisons
Which one, for what
Best for Consumer and care apps that read a member's health plan claims and clinical data under the CMS rules, and payers meeting those rules.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No rate limits, 429 handling or error formats documented
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 52
- Schema & documentation, 82 against 50
- Agent ergonomics, 73 against 32
- Security & auth, 74 against 63
- Payments & pricing, 25 against 20
- Maintenance & community, 93 against 37
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
Score by category
| Category | Weight this run | 1upHealth | Medplum | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 52 | 75 | Medplum +23 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 50 | 82 | Medplum +32 |
| Agent ergonomics | 13%16.2 | 32 | 73 | Medplum +41 |
| Security & auth | 14%17.5 | 63 | 74 | Medplum +11 |
| Payments & pricing | 10%12.5 | 20 | 25 | Medplum +5 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 37 | 93 | Medplum +56 |
| Transparency & trust | 7%8.8 | 72 | 72 | even |
| Negative events | ≤15 | 0 | -2 | |
| Total | D 46.8/100 | B 68.7/100 |
Facts side by side
| Fact | 1upHealth | Medplum |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | 1upHealth, Inc. | Orangebot, Inc. (dba Medplum) |
| Hosted endpoint | no (local only) | https://api.medplum.com/mcp/stream |
| Transports | HTTP | HTTP, Streamable HTTP, SSE (legacy) |
| Auth | OAuth | OAuth |
| Pricing | Paid | Freemium |
| x402 | no | no |
| Licence | Proprietary service under 1upHealth's Terms of Service (effective 1 August 2024) | 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 |
| Tools exposed | none | 3 |
| Read-only variant documented | no | yes |
| llms.txt | yes | yes |
| MCP registry | not listed | com.medplum/mcp |
| Last release | none | 2026-10-08 |
| Terms last updated | no date given | 2023-04-11 |
| Privacy policy last updated | 2026-06-25 | 2022-04-05 |
| 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 | yes | not found in the text |
| Terms or service can change without notice | not found in the text | yes |
| Arbitration or class-action waiver | not found in the text | yes |
| Popularity | none | 2.7k stars, 270k npm/wk |
Verdicts
1upHealth
Self-serve Dev Portal sandbox clients and a demo health plan let an app test the CMS Patient Access, Provider Access and Payer-to-Payer FHIR APIs, backed by HITRUST and SOC 2 Type 2. No rate limits, error formats or dated releases are documented, and the Patient Access OAuth step needs the member in a browser.
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.
Before you call either
1upHealth
- Hand the Patient Access sign-in to the member, who must authorise in the health plan's auth app
- Exchange the authorisation code within five minutes, and refresh before the 15-minute token expires
- Email payer-patient-access@1up.health with the client ID to get the app synced to the demo environment
- Expect only claims and coverage resources from some payers, and read /r4/metadata first
Medplum
- Use a ClientApplication with an AccessPolicy limited to the resources the task needs, and set
readonlywhere no writes are needed - Read the
RateLimitheader and wait for the reset time after a 429. Writes cost 100 quota points, searches 20 and reads 1 - Create patients with conditional create (
If-None-Exist) or upsert on an identifier so a retry doesn't make a duplicate - Pass paths to
fhir-requestrelative to the FHIR R4 base, with no leading slash or/fhir/R4prefix - Use
Prefer: respond-asyncfor large bundles. Operations inside the background job don't count against the quota
Questions
Which is better for AI agents, 1upHealth or Medplum?
Medplum scores 68.7 (B) on agent readiness against 1upHealth's 46.8 (D), and leads in 6 of 7 scored categories.
Do 1upHealth and Medplum need an API key?
Both use an OAuth sign-in.
Can an agent call 1upHealth and Medplum without installing anything?
No hosted endpoint is listed for 1upHealth. Medplum has a hosted endpoint at https://api.medplum.com/mcp/stream.
Are 1upHealth and Medplum open source?
No open-source release is listed for 1upHealth. 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).
Other comparisons with 1upHealth or Medplum
- 1upHealth vs ROOK
- 1upHealth vs Terra API
- Aidbox vs Medplum
- Medplum vs Metriport Medical API
- Medplum vs Particle Health
- Medplum vs Redox
- Medplum vs ROOK
- Medplum vs Terra API
- Medplum vs Zus Health
- 1upHealth vs Aidbox
- 1upHealth vs Health Gorilla
- 1upHealth vs Medblocks
- 1upHealth vs Metriport Medical API
- 1upHealth vs Particle Health
- 1upHealth vs Redox
- 1upHealth vs Zus Health
- Health Gorilla vs Medplum
- Medblocks vs Medplum
- 1upHealth vs Validic Inform
Machine-readable
- This page as Markdown
/compare/1uphealth-vs-medplum.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/1uphealth.json·/api/v1/tools/medplum.json - From a terminal
anchor compare 1uphealth medplum(the CLI) - Over MCP
compare_tools {"a": "1uphealth", "b": "medplum"}at/mcp, no key