{
  "data": {
    "a": {
      "slug": "rook",
      "name": "ROOK",
      "vendor": "Rookeries Development Corp.",
      "vendorUrl": "https://www.tryrook.io",
      "kind": "http-api",
      "category": "health-data",
      "summary": "ROOK Connect, from Rookeries Development Corp., collects health data from wearables and phone health stores, normalises it into sleep, physical and body summaries and events, and sends it by webhook or a REST API.",
      "url": "https://www.anchorterminal.com/tools/rook",
      "markdownUrl": "https://www.anchorterminal.com/tools/rook.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/rook.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rook.json",
      "repo": "https://github.com/RookeriesDevelopment",
      "license": "Proprietary service under ROOK's Terms and Conditions for ROOK services",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "react-native-rook-sdk"
        },
        {
          "registry": "npm",
          "name": "capacitor-rook-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "A person registers an organisation in the ROOK Portal, which enables a Sandbox project, then generates a client UUID and secret key. The secret is shown once. Calls use HTTP Basic auth with the UUID as username and the secret as password. Production needs new credentials, an active plan and signed agreements. No scopes or key rotation were found. End users authorise each data source through ROOK's authoriser pages, the mobile SDKs or the ROOK App.",
      "pricing": "paid",
      "pricingNotes": "Core $399 a month for up to 750 active users, Core+ $999 for 5,000, Business $1,999 for 15,000, Enterprise custom. Add-ons cost $79 to $499 a month. A Sandbox is available before buying a plan. The standard term is 12 months with 30 days' notice to cancel (checked 2026-10-14).",
      "priceSummary": "$399 / mo",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://docs.tryrook.io",
      "llmsTxt": "https://docs.tryrook.io/llms.txt",
      "openapi": "https://docs.tryrook.io/redocusaurus/plugin-redoc-0.yaml",
      "capabilities": [
        "health.wearables",
        "health.consent",
        "health.fhir"
      ],
      "tags": [
        "hosted",
        "wearables",
        "health-data",
        "api-key",
        "openapi",
        "llms-txt",
        "sandbox",
        "webhooks",
        "status-page",
        "hipaa"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.9,
        "grade": "C",
        "agentReady": false,
        "rank": 718,
        "ranked": true,
        "rankOf": 1076,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 49,
          "maintenance": 73,
          "payments": 25,
          "reliability": 75,
          "schema": 74,
          "security": 32,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Graded on the REST API. A public OpenAPI file, a free Sandbox from the self-serve portal, published plan prices and a dated changelog. Credentials are one client UUID and secret per environment with no scopes, 429 handling isn't documented, the API is meant for occasional queries rather than bulk reads, and no SOC 2 report or security contact was found.",
        "bestFor": "A wellness, insurance, corporate wellness or remote monitoring product that wants normalised wearable data pushed to its backend, with plan prices it can see up front.",
        "strengths": [
          "OpenAPI 3.0.3 file with 29 operations and production and sandbox servers, linked from the API reference",
          "A self-serve portal enables a Sandbox on registration, and the pricing FAQ says it can be tested before buying a plan",
          "Plan prices are public, from $399 a month for 750 active users, with add-on prices listed",
          "Data webhooks carry an X-ROOK-HASH HMAC header and are retried on a published schedule",
          "Dated changelog with five entries between 25 August and 7 October 2026, and SDK LTS releases with a six-month support period"
        ],
        "weaknesses": [
          "Credentials are one client UUID and secret per environment, sent by Basic auth, with no scopes or rotation documented",
          "Typical limits of 60 requests a minute and 10,000 a day vary by plan, and no 429 or Retry-After behaviour is documented",
          "No server-side SDK. The official SDKs are mobile libraries for iOS, Android, Flutter, React Native and Capacitor",
          "The services terms cite an SLA page that isn't linked or published, and no SOC 2 or ISO 27001 report was found",
          "A WAF blocks requests without a User-Agent header and parameters containing localhost or SQL-like text"
        ],
        "agentNotes": [
          "Send HTTP Basic auth with client_uuid as the username and the secret key as the password, plus a User-Agent header, or the WAF returns 403",
          "Use https://api.rook-connect.review for Sandbox and https://api.rook-connect.com for production. Each has its own credentials",
          "Read health data from the data webhook. Use the API only for occasional queries, and stay under 60 requests a minute",
          "Deduplicate summaries on document_version and datetime. ROOK resends a summary with a higher document_version when it changes",
          "Call POST /api/v1/user_id/{user_id}/data_sources/revoke_auth to end a connection. Some providers take hours to stop sending data"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 54.9
          }
        ],
        "editorialScores": {
          "ergonomics": 49,
          "maintenance": 73,
          "payments": 25,
          "reliability": 75,
          "schema": 74,
          "security": 32,
          "transparency": 52
        },
        "provenanceScore": 58
      },
      "connect": {
        "http": "curl https://api.rook-connect.review/api/v1/client/users/status \\\n  -u \u003cclient_uuid\u003e:\u003csecret_key\u003e \\\n  -H 'User-Agent: MyApp/1.0.0'"
      },
      "letme": {
        "capability": "https://letme.dev/health.wearables",
        "tool": "https://letme.dev/rook"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Core plan, up to 750 active users",
          "unit": "month",
          "usd": 399,
          "note": "tryrook.io/pricing, 2026-10-14"
        },
        {
          "item": "Business plan, up to 15,000 active users, all add-ons",
          "unit": "month",
          "usd": 1999,
          "note": "tryrook.io/pricing, 2026-10-14"
        }
      ],
      "provenance": {
        "legalEntity": "Rookeries Development Corp.",
        "domain": "tryrook.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "https://www.tryrook.io/terms-rook-connect/",
        "privacy": "https://www.tryrook.io/privacy-policy/",
        "statusPage": "https://rook.statuspage.io",
        "changelog": "https://rook.canny.io/changelog",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The Terms and Conditions for ROOK services (last updated August 2026) and the website terms (4 June 2026) name Rookeries Development Corp., 224 NE 59th St, Miami, FL 33137.",
          "The website terms forbid robots, spiders and page scraping to acquire, copy or monitor any part of the site. robots.txt on www.tryrook.io and docs.tryrook.io allows all paths, and we read public pages only.",
          "The API answers at api.rook-connect.com and api.rook-connect.review, which are not on tryrook.io.",
          "rookmotion.com, the domain in the founder's list, did not load (expired certificate). The current site is www.tryrook.io.",
          "www.tryrook.io/.well-known/security.txt returns 404."
        ],
        "score": 58
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/rook.json",
      "live": {
        "slug": "rook",
        "vendorStatus": {
          "page": "https://rook.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-14T09:39:39.74478552Z"
        },
        "updatedAt": "2026-10-14T09:39:39.74478552Z"
      }
    },
    "answer": "Terra API scores 65.9 (B) on agent readiness against ROOK's 54.9 (C), and leads in 5 of 7 scored categories. ROOK leads on reliability and payments \u0026 pricing.",
    "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-14T09:42:10.210334836Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 45,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 47,
          "p95ms24h": 126,
          "samples24h": 17,
          "samples30d": 17,
          "days": [
            {
              "date": "2026-10-14",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tryterra.co",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-14T08:54:00.980823971Z"
        },
        "updatedAt": "2026-10-14T09:42:10.210334836Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Rookeries Development Corp.",
        "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 service under ROOK's Terms and Conditions for ROOK services",
        "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-10-07",
        "b": "2026-10-13",
        "name": "Last release"
      },
      {
        "a": "2026-08-01",
        "b": "2026-05-01",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-28",
        "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": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "13k npm/wk, 11k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Terra API scores 65.9 (B) on agent readiness against ROOK's 54.9 (C), and leads in 5 of 7 scored categories. ROOK leads on reliability and payments \u0026 pricing.",
        "question": "Which is better for AI agents, ROOK or Terra API?"
      },
      {
        "answer": "ROOK needs an API key. Terra API takes an API key or an OAuth sign-in.",
        "question": "Do ROOK and Terra API need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for ROOK. Terra API has a hosted endpoint at https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e.",
        "question": "Can an agent call ROOK and Terra API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 67",
          "Payments \u0026 pricing, 25 against 20"
        ],
        "also": null,
        "goodFor": "A wellness, insurance, corporate wellness or remote monitoring product that wants normalised wearable data pushed to its backend, with plan prices it can see up front.",
        "slug": "rook",
        "watchFor": "Credentials are one client UUID and secret per environment, sent by Basic auth, with no scopes or rotation documented"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 89 against 74",
          "Agent ergonomics, 78 against 49",
          "Security \u0026 auth, 65 against 32"
        ],
        "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.wearables",
      "name": "Wearable and health app data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/1uphealth-vs-rook.json",
        "title": "1upHealth vs ROOK",
        "url": "https://www.anchorterminal.com/compare/1uphealth-vs-rook"
      },
      {
        "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-rook.json",
        "title": "Aidbox vs ROOK",
        "url": "https://www.anchorterminal.com/compare/aidbox-vs-rook"
      },
      {
        "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-rook.json",
        "title": "Health Gorilla vs ROOK",
        "url": "https://www.anchorterminal.com/compare/health-gorilla-vs-rook"
      },
      {
        "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-rook.json",
        "title": "Medplum vs ROOK",
        "url": "https://www.anchorterminal.com/compare/medplum-vs-rook"
      },
      {
        "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/metriport-vs-terra.json",
        "title": "Metriport Medical API vs Terra API",
        "url": "https://www.anchorterminal.com/compare/metriport-vs-terra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/particle-health-vs-rook.json",
        "title": "Particle Health vs ROOK",
        "url": "https://www.anchorterminal.com/compare/particle-health-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-rook.json",
        "title": "Redox vs ROOK",
        "url": "https://www.anchorterminal.com/compare/redox-vs-rook"
      },
      {
        "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/medblocks-vs-rook.json",
        "title": "Medblocks vs ROOK",
        "url": "https://www.anchorterminal.com/compare/medblocks-vs-rook"
      },
      {
        "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/rook-vs-zus-health.json",
        "title": "ROOK vs Zus Health",
        "url": "https://www.anchorterminal.com/compare/rook-vs-zus-health"
      },
      {
        "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-validic.json",
        "title": "ROOK vs Validic Inform",
        "url": "https://www.anchorterminal.com/compare/rook-vs-validic"
      },
      {
        "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": 8,
        "edge": "rook",
        "key": "reliability",
        "name": "Reliability",
        "rook": 75,
        "terra": 67,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "terra",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "rook": 74,
        "terra": 89,
        "weight": 13
      },
      {
        "by": 29,
        "edge": "terra",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "rook": 49,
        "terra": 78,
        "weight": 13
      },
      {
        "by": 33,
        "edge": "terra",
        "key": "security",
        "name": "Security \u0026 auth",
        "rook": 32,
        "terra": 65,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "rook",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "rook": 25,
        "terra": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 2,
        "edge": "terra",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "rook": 73,
        "terra": 75,
        "weight": 7
      },
      {
        "by": 1,
        "edge": "terra",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "rook": 55,
        "terra": 56,
        "weight": 7
      }
    ],
    "summary": "Terra API scores 65.9 (B) on agent readiness against ROOK's 54.9 (C), and leads in 5 of 7 scored categories. ROOK leads on reliability and payments \u0026 pricing. Both do wearable and health app data.",
    "verdicts": {
      "rook": "Graded on the REST API. A public OpenAPI file, a free Sandbox from the self-serve portal, published plan prices and a dated changelog. Credentials are one client UUID and secret per environment with no scopes, 429 handling isn't documented, the API is meant for occasional queries rather than bulk reads, and no SOC 2 report or security contact was found.",
      "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/rook-vs-terra",
    "json": "https://www.anchorterminal.com/compare/rook-vs-terra.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/rook-vs-terra.md",
    "slim": "https://www.anchorterminal.com/compare/rook-vs-terra.min.md"
  },
  "markdown": "Terra API scores 65.9 (B) on agent readiness against ROOK's 54.9 (C), and leads in 5 of 7 scored categories. ROOK leads on reliability and payments \u0026 pricing. Both do wearable and health app data.\n\n- ROOK: grade C, 54.9/100, rank #718 of 1076. Markdown https://www.anchorterminal.com/tools/rook.md · JSON https://www.anchorterminal.com/api/v1/tools/rook.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### ROOK (C)\n\nGood for: A wellness, insurance, corporate wellness or remote monitoring product that wants normalised wearable data pushed to its backend, with plan prices it can see up front.\n\nAhead on:\n- Reliability, 75 against 67\n- Payments \u0026 pricing, 25 against 20\n\nWatch for: Credentials are one client UUID and secret per environment, sent by Basic auth, with no scopes or rotation documented\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- Schema \u0026 documentation, 89 against 74\n- Agent ergonomics, 78 against 49\n- Security \u0026 auth, 65 against 32\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 | ROOK | Terra API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 67 | ROOK +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 74 | 89 | Terra API +15 |\n| Agent ergonomics | 13% (16.2 this run) | 49 | 78 | Terra API +29 |\n| Security \u0026 auth | 14% (17.5 this run) | 32 | 65 | Terra API +33 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 20 | ROOK +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 73 | 75 | Terra API +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 55 | 56 | Terra API +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **54.9 · C** | **65.9 · B** | |\n\n## Facts side by side\n\n| Fact | ROOK | Terra API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Rookeries Development Corp. | 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 service under ROOK's Terms and Conditions for ROOK services | 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-10-07 | 2026-10-13 |\n| Terms last updated | 2026-08-01 | 2026-05-01 |\n| Privacy policy last updated | 2026-05-28 | 2023-04-20 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | none | 13k npm/wk, 11k PyPI/wk |\n\n## Verdicts\n\n**ROOK.** Graded on the REST API. A public OpenAPI file, a free Sandbox from the self-serve portal, published plan prices and a dated changelog. Credentials are one client UUID and secret per environment with no scopes, 429 handling isn't documented, the API is meant for occasional queries rather than bulk reads, and no SOC 2 report or security contact was found.\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### ROOK\n\n1. Send HTTP Basic auth with client_uuid as the username and the secret key as the password, plus a User-Agent header, or the WAF returns 403\n2. Use https://api.rook-connect.review for Sandbox and https://api.rook-connect.com for production. Each has its own credentials\n3. Read health data from the data webhook. Use the API only for occasional queries, and stay under 60 requests a minute\n4. Deduplicate summaries on document_version and datetime. ROOK resends a summary with a higher document_version when it changes\n5. Call POST /api/v1/user_id/{user_id}/data_sources/revoke_auth to end a connection. Some providers take hours to stop sending data\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, ROOK or Terra API?\n\nTerra API scores 65.9 (B) on agent readiness against ROOK's 54.9 (C), and leads in 5 of 7 scored categories. ROOK leads on reliability and payments \u0026 pricing.\n\n### Do ROOK and Terra API need an API key?\n\nROOK needs an API key. Terra API takes an API key or an OAuth sign-in.\n\n### Can an agent call ROOK and Terra API without installing anything?\n\nNo hosted endpoint is listed for ROOK. Terra API has a hosted endpoint at https://access.tryterra.co/api/v2/mcp/\u003cuser_id\u003e.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/rook-vs-terra.json, and with the fewest tokens: https://www.anchorterminal.com/compare/rook-vs-terra.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"rook\", \"b\": \"terra\"}`. From a terminal: `anchor compare rook terra`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/rook.json and https://www.anchorterminal.com/api/v1/tools/terra.json\n\n## Other comparisons with ROOK or Terra API\n\n- [1upHealth vs ROOK](https://www.anchorterminal.com/compare/1uphealth-vs-rook.md)\n- [1upHealth vs Terra API](https://www.anchorterminal.com/compare/1uphealth-vs-terra.md)\n- [Aidbox vs ROOK](https://www.anchorterminal.com/compare/aidbox-vs-rook.md)\n- [Aidbox vs Terra API](https://www.anchorterminal.com/compare/aidbox-vs-terra.md)\n- [Health Gorilla vs ROOK](https://www.anchorterminal.com/compare/health-gorilla-vs-rook.md)\n- [Health Gorilla vs Terra API](https://www.anchorterminal.com/compare/health-gorilla-vs-terra.md)\n- [Medplum vs ROOK](https://www.anchorterminal.com/compare/medplum-vs-rook.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- [Metriport Medical API vs Terra API](https://www.anchorterminal.com/compare/metriport-vs-terra.md)\n- [Particle Health vs ROOK](https://www.anchorterminal.com/compare/particle-health-vs-rook.md)\n- [Particle Health vs Terra API](https://www.anchorterminal.com/compare/particle-health-vs-terra.md)\n- [Redox vs ROOK](https://www.anchorterminal.com/compare/redox-vs-rook.md)\n- [Redox vs Terra API](https://www.anchorterminal.com/compare/redox-vs-terra.md)\n- [Medblocks vs ROOK](https://www.anchorterminal.com/compare/medblocks-vs-rook.md)\n- [Medblocks vs Terra API](https://www.anchorterminal.com/compare/medblocks-vs-terra.md)\n- [ROOK vs Zus Health](https://www.anchorterminal.com/compare/rook-vs-zus-health.md)\n- [Terra API vs Zus Health](https://www.anchorterminal.com/compare/terra-vs-zus-health.md)\n- [ROOK vs Validic Inform](https://www.anchorterminal.com/compare/rook-vs-validic.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": "ROOK vs Terra API",
        "url": ""
      }
    ],
    "description": "Terra scores 65.9 (B) to ROOK's 54.9 (C) for wearable and health app data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "ROOK C 54.9",
      "Terra API B 65.9",
      "scores"
    ],
    "h1": "ROOK vs Terra API",
    "image": "https://www.anchorterminal.com/assets/og/compare-rook-vs-terra.png",
    "path": "/compare/rook-vs-terra",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ROOK vs Terra for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/compare/rook-vs-terra"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 680
  },
  "version": 1
}
