# Metriport Medical API (slim) > Metriport's Medical API retrieves a patient's records from US health information exchanges, pharmacies and labs, converts them to deduplicated FHIR, and returns them through a REST API with webhooks. Production use requires a covered entity with an NPI. - Full: https://www.anchorterminal.com/tools/metriport.md (~6,400 tokens) · this version ~1,480 tokens · JSON https://www.anchorterminal.com/tools/metriport.json · canonical https://www.anchorterminal.com/tools/metriport - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-14 **D · 50.1/100 · rank #833 of 1076 · #10 in Health records & wellness data · not agent-ready · confidence medium** Assessment: One network query pulls a patient's records from HIEs, pharmacies and labs and returns deduplicated FHIR, with per-operation rate limits, RFC 7807 errors and AGPLv3 source. Each API key has full access with no scopes, there are no public prices, and the sandbox opens only after Metriport approves the account. ## Facts - Kind: HTTP API · vendor: Metriport Inc. · category: Health records & wellness data · legal entity: Metriport Inc. · provenance 69/100 - Local only (HTTP): npm `@metriport/api-sdk` - Auth: API key · pricing: Paid · x402: no · licence: Proprietary hosted service under Metriport's terms of use. The source in metriport/metriport is AGPLv3, with an enterprise directory under its own licence, and the @metriport/api-sdk package on npm is MIT - Probe metrics: not measured yet (probes haven't run) - Endpoints: Production https://api.metriport.com, sandbox https://api.sandbox.metriport.com, all under /medical/v1 - Data sources: HIE networks, pharmacies and labs through one network query, plus ADT notifications and EHR apps for athenahealth, Canvas, Elation, Healthie, Salesforce, Epic, Practice Fusion and eClinicalWorks - Data out: Consolidated FHIR bundles (deduplicated, coded), C-CDA and PDF source documents, a Medical Record Summary in PDF or HTML, AI summaries, care gaps and suspected conditions - Rate limits: Patient create or update 15 a minute, network query 20 a minute per source, consolidated query and create 120 a minute, send message 20 a minute - Pagination: `count` up to 500 (default 50), `fromItem` and `toItem`, with `meta.nextPage` URLs - Errors: RFC 7807 style bodies with `status`, `name`, `title` (stable) and `detail` - Writes: ETag on resources, sent back with `If-Match`, and 412 on a stale update - Sandbox: Pre-defined personas matched by first name, about six example documents each (C-CDA, FHIR, PDFs, images), test NPI 1234567893 - SDK: @metriport/api-sdk 18.22.0 (28 September 2026), TypeScript only, MIT - Status: status.metriport.com, a Checkly dashboard that renders only with JavaScript - Scores: Reliability 45, Performance pending, Schema & documentation 65, Agent ergonomics 70, Security & auth 41, Payments & pricing 5, Task success pending, Maintenance & community 74, Transparency & trust 56 · total over the 7 assessed categories - Why: Reliability, Read with the hosted lines. · Schema & documentation, The public repository holds a Fern API definition that the docs call the OpenAPI specification. · Agent ergonomics, Lists take `count` up to 500, consolidated queries filter by resource type and date, a count endpoint sizes a patient's record before fetchi… · Security & auth, One kind of key, sent in the `x-api-key` header, with full access including destructive operations. · Payments & pricing, Read with the hosted rubric. · Maintenance & community, @metriport/api-sdk 18.22.0 was published on 28 September 2026 (30). · Transparency & trust, The source is AGPLv3, with an enterprise directory under a separate licence, while the hosted service runs under terms of use from January 2… - Sources: 12, open questions: 4, both in the full twin - Capabilities: health.records, health.fhir, health.consent, health.ehr - JSON: https://www.anchorterminal.com/api/v1/tools/metriport.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/metriport.svg` or a link to https://www.anchorterminal.com/tools/metriport from a page on metriport.com or one of its subdomains, or the README of github.com/metriport/metriport, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Check the `errors` array after Start Network Query. It returns 2XX even when some sources fail 2. Wait for `network-query.*` webhooks or poll Get Network Query Status before reading consolidated data, which is cached from the last query 3. Send the resource's `eTag` in `If-Match` on updates to avoid overwriting newer data 4. Keep patient creates under 15 a minute and network queries under 20 a minute per source 5. In sandbox, create patients whose first name matches a pre-defined persona to get example records ## Connect ```bash npm install --save @metriport/api-sdk ``` ```bash POST https://api.sandbox.metriport.com/medical/v1/patient?facilityId= x-api-key: Content-Type: application/json ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/metriport ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Zus Health | C | 56.6 | health.records, health.fhir, health.ehr, health.consent | https://www.anchorterminal.com/tools/zus-health.min.md | | Medblocks | D | 52.7 | health.records, health.consent, health.ehr, health.fhir | https://www.anchorterminal.com/tools/medblocks.min.md | | Aidbox | B | 64.2 | health.fhir, health.records, health.consent | https://www.anchorterminal.com/tools/aidbox.min.md | | Health Gorilla | C | 59.3 | health.records, health.fhir, health.consent | https://www.anchorterminal.com/tools/health-gorilla.min.md | | Redox | C | 58.3 | health.ehr, health.fhir, health.records | https://www.anchorterminal.com/tools/redox.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)