{
  "data": {
    "a": {
      "slug": "metriport",
      "name": "Metriport Medical API",
      "vendor": "Metriport Inc.",
      "vendorUrl": "https://www.metriport.com",
      "kind": "http-api",
      "category": "health-data",
      "summary": "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.",
      "url": "https://www.anchorterminal.com/tools/metriport",
      "markdownUrl": "https://www.anchorterminal.com/tools/metriport.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/metriport.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/metriport.json",
      "repo": "https://github.com/metriport/metriport",
      "license": "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",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@metriport/api-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Every request sends a key in the `x-api-key` header to https://api.metriport.com, or https://api.sandbox.metriport.com in sandbox mode. Keys are generated in the developer dashboard after Metriport approves the account, up to two at once for rotation, each revocable at once and each with full access including destructive operations. No scopes or read-only key were found. Production access needs a covered entity with an NPI and a treatment purpose of use, agreed on an intro call.",
      "pricing": "paid",
      "pricingNotes": "No public prices. metriport.com has no pricing page, the terms say some services carry a fee paid by card, wire or Stripe, and production access starts with an intro call booked from the dashboard. A sandbox with example patients opens once Metriport approves the access request, and its cost is not stated (checked 2026-10-14).",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the documentation, llms.txt, the repository README or the terms (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 793,
        "npmWeekly": 28168,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://docs.metriport.com/medical-api/getting-started/quickstart",
      "llmsTxt": "https://docs.metriport.com/llms.txt",
      "capabilities": [
        "health.records",
        "health.fhir",
        "health.consent",
        "health.ehr"
      ],
      "tags": [
        "hosted",
        "health-records",
        "fhir",
        "open-source",
        "agpl",
        "typescript",
        "llms-txt",
        "webhooks",
        "status-page",
        "sales-led",
        "hitrust",
        "soc2"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.1,
        "grade": "D",
        "agentReady": false,
        "rank": 833,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 74,
          "payments": 5,
          "reliability": 45,
          "schema": 65,
          "security": 41,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "US care providers and digital health companies that need a patient's network records as FHIR with webhooks.",
        "strengths": [
          "One asynchronous network query covers HIEs, pharmacies and labs, with a webhook as each source is merged",
          "Consolidated FHIR output is deduplicated and coded, with PDF or HTML record summaries",
          "Rate limits published per operation, and `count` up to 500 per page",
          "AGPLv3 source on GitHub and an MIT TypeScript SDK released on 28 September 2026"
        ],
        "weaknesses": [
          "Every API key has full access, including destructive operations, with no scopes",
          "No public prices, and the sandbox needs Metriport's approval first",
          "The Fern definition covers only part of the API and no public changelog was found",
          "The status page renders only with JavaScript, so its history could not be read"
        ],
        "agentNotes": [
          "Check the `errors` array after Start Network Query. It returns 2XX even when some sources fail",
          "Wait for `network-query.*` webhooks or poll Get Network Query Status before reading consolidated data, which is cached from the last query",
          "Send the resource's `eTag` in `If-Match` on updates to avoid overwriting newer data",
          "Keep patient creates under 15 a minute and network queries under 20 a minute per source",
          "In sandbox, create patients whose first name matches a pre-defined persona to get example records"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.1
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 74,
          "payments": 5,
          "reliability": 45,
          "schema": 65,
          "security": 41,
          "transparency": 43
        },
        "provenanceScore": 69
      },
      "connect": {
        "install": "npm install --save @metriport/api-sdk",
        "http": "POST https://api.sandbox.metriport.com/medical/v1/patient?facilityId=\u003cfacility-id\u003e\nx-api-key: \u003capi-key\u003e\nContent-Type: application/json"
      },
      "letme": {
        "capability": "https://letme.dev/health.records",
        "tool": "https://letme.dev/metriport"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Metriport Inc.",
        "domain": "metriport.com",
        "domainRegistered": "2021-02-09",
        "endpointOnVendorDomain": true,
        "terms": "https://www.metriport.com/terms",
        "privacy": "https://www.metriport.com/privacy-policy",
        "statusPage": "https://status.metriport.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The terms of use (last updated January 2024) give a registered office at 2261 Market Street #4818, San Francisco, CA 94114, forbid access 'through automated or non-human means' and the use of 'data mining, robots, or similar data gathering and extraction tools', and say the site is not built for HIPAA-regulated use. We read them as a fact and fetched only what robots.txt allows.",
          "The privacy policy (last updated 21 February 2023) covers website visitors and customer contacts, says data is stored in the US, and does not mention API data or PHI.",
          "www.metriport.com/.well-known/security.txt returns 404. SECURITY.md in the repository sends reports to GitHub's vulnerability reporting or support@metriport.com.",
          "No public changelog was found in the documentation or on the website.",
          "RDAP gives metriport.com a registration date of 2021-02-09."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/metriport.json",
      "live": {
        "slug": "metriport",
        "vendorStatus": {
          "page": "https://status.metriport.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-14T08:53:23.949542071Z"
        },
        "updatedAt": "2026-10-14T08:53:23.949542071Z"
      }
    },
    "answer": "Terra API scores 65.9 (B) on agent readiness against Metriport Medical API's 50.1 (D), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "terra",
      "name": "Terra API",
      "vendor": "Terra Enabling Developers Inc.",
      "vendorUrl": "https://tryterra.co",
      "kind": "http-api",
      "category": "health-data",
      "summary": "Terra's Unified API collects activity, sleep, body and nutrition data from 500+ wearables and health apps, normalises it into one schema and sends it by webhook or REST. An MCP server, Terra AI, lets agents read a connected user's data.",
      "url": "https://www.anchorterminal.com/tools/terra",
      "markdownUrl": "https://www.anchorterminal.com/tools/terra.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/terra.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/terra.json",
      "repo": "https://github.com/tryterra/openapi",
      "license": "Proprietary service under Terra's terms of service. The OpenAPI specs repository is Apache 2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e",
      "packages": [
        {
          "registry": "pypi",
          "name": "terra-python"
        },
        {
          "registry": "npm",
          "name": "terra-api"
        },
        {
          "registry": "npm",
          "name": "@tryterra/cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "A self-serve dashboard account gives a dev-id and one x-api-key per environment, sent as headers to the Unified API and to Terra AI. The key has no scopes and can be rotated. The admin API and admin MCP server take personal access tokens with 26 scopes, lifetimes of 7 to 90 days and optional environment limits. The admin MCP server signs in by OAuth, and risky changes need approval in the dashboard. End users connect each wearable through Terra's widget, and Terra holds the provider tokens.",
      "pricing": "usage",
      "pricingNotes": "Quick Start from $499 a month includes 100,000 credits, then $0.005 a credit to 1,000,000 and $0.003 above. Sign-up asks for a plan and billing details, with a 30-day money-back guarantee and no free tier found. Testing and staging environments allow 50 users each. Enterprise is custom (checked 2026-10-14).",
      "priceSummary": "$499 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI specs or the pricing page (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 13061,
        "pypiWeekly": 10636,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://docs.tryterra.co",
      "llmsTxt": "https://docs.tryterra.co/llms.txt",
      "openapi": "https://raw.githubusercontent.com/tryterra/openapi/master/dist/core/v2-bundled.yaml",
      "capabilities": [
        "health.wearables",
        "health.consent",
        "health.fhir"
      ],
      "tags": [
        "hosted",
        "wearables",
        "health-data",
        "mcp",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "status-page",
        "python",
        "typescript",
        "soc2",
        "hipaa"
      ],
      "lastRelease": "2026-10-13",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.9,
        "grade": "B",
        "agentReady": false,
        "rank": 327,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 75,
          "payments": 20,
          "reliability": 67,
          "schema": 89,
          "security": 65,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Public OpenAPI 3.1 specs on GitHub under Apache 2.0, republished almost daily (spec version 2026.10.08.1 for the Unified API)",
          "Rate limits documented per user, with a Retry-After header and an X-Terra-RateLimit-Rule header naming the rule that fired",
          "Terra AI MCP server has six read tools that take explicit fields or select lists, so an agent fetches only the columns it needs",
          "Admin tokens carry 26 scopes, expire within 90 days, can be limited to environments, and risky changes need approval in the dashboard",
          "Credit prices are public, $0.005 a credit from 100,001 to 1,000,000 and $0.003 above, with 200 credits per active user a month"
        ],
        "weaknesses": [
          "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",
          "The Unified API key is one environment-wide x-api-key with no scopes, and Terra AI takes the same key",
          "status.tryterra.co shows REST requests failing with authorisation errors for 2 hours 38 minutes on 7 August 2026",
          "No SLA is published outside Enterprise contracts, and no idempotency keys were found for write endpoints",
          "The privacy policy, effective 20 April 2023, excludes end-user wearable data, and no public sub-processor list was found"
        ],
        "agentNotes": [
          "Send dev-id and x-api-key headers on every Unified API and Terra AI call. A missing header returns 401 problem+json",
          "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",
          "Pass either fields or select to Terra AI tools, never both and never neither, or the call fails with a validation error",
          "Expect data by webhook after a user connects through the widget session. REST reads are for backfills and on-demand queries",
          "Use the Read only access level for the admin MCP server unless a change is needed. The MCP level can read API keys"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.9
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 75,
          "payments": 20,
          "reliability": 67,
          "schema": 89,
          "security": 65,
          "transparency": 42
        },
        "provenanceScore": 69
      },
      "connect": {
        "claudeCode": "claude mcp add --transport http terra-ai https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e --header \"dev-id: \u003cYOUR_DEV_ID\u003e\" --header \"x-api-key: \u003cYOUR_API_KEY\u003e\"",
        "config": {
          "mcpServers": {
            "terra-ai": {
              "headers": {
                "dev-id": "YOUR_DEV_ID",
                "x-api-key": "YOUR_API_KEY"
              },
              "url": "https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/health.wearables",
        "tool": "https://letme.dev/terra"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Quick Start plan, 100,000 credits included",
          "unit": "month",
          "usd": 499,
          "note": "From price on tryterra.co/pricing, 2026-10-14"
        },
        {
          "item": "Credit beyond the monthly allowance (100,001 to 1,000,000)",
          "unit": "credit",
          "usd": 0.005,
          "note": "$0.003 above 1,000,000 credits. An active user costs 200 credits a month"
        }
      ],
      "provenance": {
        "legalEntity": "Terra Enabling Developers Inc.",
        "domain": "tryterra.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://tryterra.co/terms-of-service",
        "privacy": "https://tryterra.co/privacy",
        "statusPage": "https://status.tryterra.co",
        "changelog": "https://docs.tryterra.co/changelog/2026/readme",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The terms of service, last updated 1 May 2026, are between the customer and Terra Enabling Developers Inc., a Delaware corporation. The privacy policy names a UK subsidiary, Terra Enabling Developers Ltd.",
          "The privacy policy (effective 20 April 2023) says it doesn't cover data collected from wearables about end users, and that processing takes place mainly in the United Kingdom.",
          "tryterra.co/.well-known/security.txt returns 404.",
          "RDAP for tryterra.co returned no registration date.",
          "API and MCP endpoints answer at access.tryterra.co, a tryterra.co subdomain."
        ],
        "score": 69
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/terra.json",
      "live": {
        "slug": "terra",
        "probe": {
          "target": "https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e",
          "method": "get",
          "lastAt": "2026-10-14T10:00:07.899081041Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 46,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 47,
          "p95ms24h": 97,
          "samples24h": 20,
          "samples30d": 20,
          "days": [
            {
              "date": "2026-10-14",
              "probes": 20,
              "ok": 20
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tryterra.co",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-14T08:54:00.980823971Z"
        },
        "updatedAt": "2026-10-14T10:00:07.899081041Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Metriport Inc.",
        "b": "Terra Enabling Developers Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "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",
        "b": "Proprietary service under Terra's terms of service. The OpenAPI specs repository is Apache 2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "6",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-28",
        "b": "2026-10-13",
        "name": "Last release"
      },
      {
        "a": "2024-01-01",
        "b": "2026-05-01",
        "name": "Terms last updated"
      },
      {
        "a": "2023-02-21",
        "b": "2023-04-20",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "793 stars, 28k npm/wk",
        "b": "13k npm/wk, 11k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Terra API scores 65.9 (B) on agent readiness against Metriport Medical API's 50.1 (D), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Metriport Medical API or Terra API?"
      },
      {
        "answer": "Metriport Medical API needs an API key. Terra API takes an API key or an OAuth sign-in.",
        "question": "Do Metriport Medical API and Terra API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Metriport Medical API. Terra API has a hosted endpoint at https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e.",
        "question": "Can an agent call Metriport Medical API and Terra API without installing anything?"
      },
      {
        "answer": "Metriport Medical API is open source (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). No open-source release is listed for Terra API.",
        "question": "Are Metriport Medical API and Terra API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Open source"
        ],
        "goodFor": "US care providers and digital health companies that need a patient's network records as FHIR with webhooks.",
        "slug": "metriport",
        "watchFor": "Every API key has full access, including destructive operations, with no scopes"
      },
      {
        "aheadOn": [
          "Reliability, 67 against 45",
          "Schema \u0026 documentation, 89 against 65",
          "Agent ergonomics, 78 against 70",
          "Security \u0026 auth, 65 against 41",
          "Payments \u0026 pricing, 20 against 5"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "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.",
        "slug": "terra",
        "watchFor": "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"
      }
    ],
    "job": {
      "capability": "health.fhir",
      "name": "FHIR servers"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-terra.json",
        "title": "1upHealth vs Terra API",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aidbox-vs-metriport.json",
        "title": "Aidbox vs Metriport Medical API",
        "url": "https://www.anchorterminal.com/compare/aidbox-vs-metriport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/aidbox-vs-terra.json",
        "title": "Aidbox vs Terra API",
        "url": "https://www.anchorterminal.com/compare/aidbox-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/health-gorilla-vs-terra.json",
        "title": "Health Gorilla vs Terra API",
        "url": "https://www.anchorterminal.com/compare/health-gorilla-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medplum-vs-metriport.json",
        "title": "Medplum vs Metriport Medical API",
        "url": "https://www.anchorterminal.com/compare/medplum-vs-metriport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medplum-vs-terra.json",
        "title": "Medplum vs Terra API",
        "url": "https://www.anchorterminal.com/compare/medplum-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metriport-vs-rook.json",
        "title": "Metriport Medical API vs ROOK",
        "url": "https://www.anchorterminal.com/compare/metriport-vs-rook"
      },
      {
        "json": "https://www.anchorterminal.com/compare/particle-health-vs-terra.json",
        "title": "Particle Health vs Terra API",
        "url": "https://www.anchorterminal.com/compare/particle-health-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/redox-vs-terra.json",
        "title": "Redox vs Terra API",
        "url": "https://www.anchorterminal.com/compare/redox-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-metriport.json",
        "title": "1upHealth vs Metriport Medical API",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-metriport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/health-gorilla-vs-metriport.json",
        "title": "Health Gorilla vs Metriport Medical API",
        "url": "https://www.anchorterminal.com/compare/health-gorilla-vs-metriport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-metriport.json",
        "title": "Medblocks vs Metriport Medical API",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-metriport"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metriport-vs-particle-health.json",
        "title": "Metriport Medical API vs Particle Health",
        "url": "https://www.anchorterminal.com/compare/metriport-vs-particle-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metriport-vs-redox.json",
        "title": "Metriport Medical API vs Redox",
        "url": "https://www.anchorterminal.com/compare/metriport-vs-redox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metriport-vs-zus-health.json",
        "title": "Metriport Medical API vs Zus Health",
        "url": "https://www.anchorterminal.com/compare/metriport-vs-zus-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/medblocks-vs-terra.json",
        "title": "Medblocks vs Terra API",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/metriport-vs-validic.json",
        "title": "Metriport Medical API vs Validic Inform",
        "url": "https://www.anchorterminal.com/compare/metriport-vs-validic"
      },
      {
        "json": "https://www.anchorterminal.com/compare/terra-vs-zus-health.json",
        "title": "Terra API vs Zus Health",
        "url": "https://www.anchorterminal.com/compare/terra-vs-zus-health"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rook-vs-terra.json",
        "title": "ROOK vs Terra API",
        "url": "https://www.anchorterminal.com/compare/rook-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/terra-vs-validic.json",
        "title": "Terra API vs Validic Inform",
        "url": "https://www.anchorterminal.com/compare/terra-vs-validic"
      }
    ],
    "scores": [
      {
        "by": 22,
        "edge": "terra",
        "key": "reliability",
        "metriport": 45,
        "name": "Reliability",
        "terra": 67,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "terra",
        "key": "schema",
        "metriport": 65,
        "name": "Schema \u0026 documentation",
        "terra": 89,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "terra",
        "key": "ergonomics",
        "metriport": 70,
        "name": "Agent ergonomics",
        "terra": 78,
        "weight": 13
      },
      {
        "by": 24,
        "edge": "terra",
        "key": "security",
        "metriport": 41,
        "name": "Security \u0026 auth",
        "terra": 65,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "terra",
        "key": "payments",
        "metriport": 5,
        "name": "Payments \u0026 pricing",
        "terra": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "terra",
        "key": "maintenance",
        "metriport": 74,
        "name": "Maintenance \u0026 community",
        "terra": 75,
        "weight": 7
      },
      {
        "by": 0,
        "edge": "",
        "key": "transparency",
        "metriport": 56,
        "name": "Transparency \u0026 trust",
        "terra": 56,
        "weight": 7
      }
    ],
    "summary": "Terra API scores 65.9 (B) on agent readiness against Metriport Medical API's 50.1 (D), and leads in 6 of 7 scored categories. Both do fhir servers.",
    "verdicts": {
      "metriport": "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.",
      "terra": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/metriport-vs-terra",
    "json": "https://www.anchorterminal.com/compare/metriport-vs-terra.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/metriport-vs-terra.md",
    "slim": "https://www.anchorterminal.com/compare/metriport-vs-terra.min.md"
  },
  "markdown": "Terra API scores 65.9 (B) on agent readiness against Metriport Medical API's 50.1 (D), and leads in 6 of 7 scored categories. Both do fhir servers.\n\n- Metriport Medical API: grade D, 50.1/100, rank #833 of 1076. Markdown https://www.anchorterminal.com/tools/metriport.md · JSON https://www.anchorterminal.com/api/v1/tools/metriport.json\n- 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\n- Best health record and wellness data APIs for AI agents: https://www.anchorterminal.com/best/health-data/index.md\n- All 63 health comparisons: https://www.anchorterminal.com/compare/health-data/index.md\n\n## Which one, for what\n\n### Metriport Medical API (D)\n\nGood for: US care providers and digital health companies that need a patient's network records as FHIR with webhooks.\n\nAlso in its favour:\n- Open source\n\nWatch for: Every API key has full access, including destructive operations, with no scopes\n\n### Terra API (B)\n\nGood 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.\n\nAhead on:\n- Reliability, 67 against 45\n- Schema \u0026 documentation, 89 against 65\n- Agent ergonomics, 78 against 70\n- Security \u0026 auth, 65 against 41\n- Payments \u0026 pricing, 20 against 5\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch 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\n\n\n## Score by category\n\n| Category | Weight | Metriport Medical API | Terra API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 67 | Terra API +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 65 | 89 | Terra API +24 |\n| Agent ergonomics | 13% (16.2 this run) | 70 | 78 | Terra API +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 41 | 65 | Terra API +24 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 5 | 20 | Terra API +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 74 | 75 | Terra API +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 56 | 56 | even |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.1 · D** | **65.9 · B** | |\n\n## Facts side by side\n\n| Fact | Metriport Medical API | Terra API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Metriport Inc. | Terra Enabling Developers Inc. |\n| Hosted endpoint | no (local only) | `https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Pay per use |\n| x402 | no | no |\n| 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 | Proprietary service under Terra's terms of service. The OpenAPI specs repository is Apache 2.0 |\n| Tools exposed | none | 6 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-28 | 2026-10-13 |\n| Terms last updated | 2024-01-01 | 2026-05-01 |\n| Privacy policy last updated | 2023-02-21 | 2023-04-20 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 793 stars, 28k npm/wk | 13k npm/wk, 11k PyPI/wk |\n\n## Verdicts\n\n**Metriport Medical API.** 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.\n\n**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.\n\n## Before you call either\n\n### Metriport Medical API\n\n1. Check the `errors` array after Start Network Query. It returns 2XX even when some sources fail\n2. Wait for `network-query.*` webhooks or poll Get Network Query Status before reading consolidated data, which is cached from the last query\n3. Send the resource's `eTag` in `If-Match` on updates to avoid overwriting newer data\n4. Keep patient creates under 15 a minute and network queries under 20 a minute per source\n5. In sandbox, create patients whose first name matches a pre-defined persona to get example records\n\n### Terra API\n\n1. Send dev-id and x-api-key headers on every Unified API and Terra AI call. A missing header returns 401 problem+json\n2. 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\n3. Pass either fields or select to Terra AI tools, never both and never neither, or the call fails with a validation error\n4. Expect data by webhook after a user connects through the widget session. REST reads are for backfills and on-demand queries\n5. Use the Read only access level for the admin MCP server unless a change is needed. The MCP level can read API keys\n\n## Questions\n\n### Which is better for AI agents, Metriport Medical API or Terra API?\n\nTerra API scores 65.9 (B) on agent readiness against Metriport Medical API's 50.1 (D), and leads in 6 of 7 scored categories.\n\n### Do Metriport Medical API and Terra API need an API key?\n\nMetriport Medical API needs an API key. Terra API takes an API key or an OAuth sign-in.\n\n### Can an agent call Metriport Medical API and Terra API without installing anything?\n\nNo hosted endpoint is listed for Metriport Medical API. Terra API has a hosted endpoint at https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e.\n\n### Are Metriport Medical API and Terra API open source?\n\nMetriport Medical API is open source (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). No open-source release is listed for Terra API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/metriport-vs-terra.json, and with the fewest tokens: https://www.anchorterminal.com/compare/metriport-vs-terra.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"metriport\", \"b\": \"terra\"}`. From a terminal: `anchor compare metriport terra`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/metriport.json and https://www.anchorterminal.com/api/v1/tools/terra.json\n\n## Other comparisons with Metriport Medical API or Terra API\n\n- [1upHealth vs Terra API](https://www.anchorterminal.com/compare/1uphealth-vs-terra.md)\n- [Aidbox vs Metriport Medical API](https://www.anchorterminal.com/compare/aidbox-vs-metriport.md)\n- [Aidbox vs Terra API](https://www.anchorterminal.com/compare/aidbox-vs-terra.md)\n- [Health Gorilla vs Terra API](https://www.anchorterminal.com/compare/health-gorilla-vs-terra.md)\n- [Medplum vs Metriport Medical API](https://www.anchorterminal.com/compare/medplum-vs-metriport.md)\n- [Medplum vs Terra API](https://www.anchorterminal.com/compare/medplum-vs-terra.md)\n- [Metriport Medical API vs ROOK](https://www.anchorterminal.com/compare/metriport-vs-rook.md)\n- [Particle Health vs Terra API](https://www.anchorterminal.com/compare/particle-health-vs-terra.md)\n- [Redox vs Terra API](https://www.anchorterminal.com/compare/redox-vs-terra.md)\n- [1upHealth vs Metriport Medical API](https://www.anchorterminal.com/compare/1uphealth-vs-metriport.md)\n- [Health Gorilla vs Metriport Medical API](https://www.anchorterminal.com/compare/health-gorilla-vs-metriport.md)\n- [Medblocks vs Metriport Medical API](https://www.anchorterminal.com/compare/medblocks-vs-metriport.md)\n- [Metriport Medical API vs Particle Health](https://www.anchorterminal.com/compare/metriport-vs-particle-health.md)\n- [Metriport Medical API vs Redox](https://www.anchorterminal.com/compare/metriport-vs-redox.md)\n- [Metriport Medical API vs Zus Health](https://www.anchorterminal.com/compare/metriport-vs-zus-health.md)\n- [Medblocks vs Terra API](https://www.anchorterminal.com/compare/medblocks-vs-terra.md)\n- [Metriport Medical API vs Validic Inform](https://www.anchorterminal.com/compare/metriport-vs-validic.md)\n- [Terra API vs Zus Health](https://www.anchorterminal.com/compare/terra-vs-zus-health.md)\n- [ROOK vs Terra API](https://www.anchorterminal.com/compare/rook-vs-terra.md)\n- [Terra API vs Validic Inform](https://www.anchorterminal.com/compare/terra-vs-validic.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-14",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Metriport Medical API vs Terra API",
        "url": ""
      }
    ],
    "description": "Terra scores 65.9 (B) to Metriport Medical's 50.1 (D) for fhir servers. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Metriport Medical API D 50.1",
      "Terra API B 65.9",
      "scores"
    ],
    "h1": "Metriport Medical API vs Terra API",
    "image": "https://www.anchorterminal.com/assets/og/compare-metriport-vs-terra.png",
    "path": "/compare/metriport-vs-terra",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Metriport Medical vs Terra for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/metriport-vs-terra"
  },
  "tokens": {
    "markdown": 2450,
    "slim": 680
  },
  "version": 1
}
