{
  "data": {
    "similar": [
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/terra.json",
        "name": "Terra API",
        "score": 65.9,
        "shared": [
          "health.wearables",
          "health.consent",
          "health.fhir"
        ],
        "slug": "terra"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/aidbox.json",
        "name": "Aidbox",
        "score": 64.2,
        "shared": [
          "health.fhir",
          "health.consent"
        ],
        "slug": "aidbox"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/health-gorilla.json",
        "name": "Health Gorilla",
        "score": 59.3,
        "shared": [
          "health.fhir",
          "health.consent"
        ],
        "slug": "health-gorilla"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/validic.json",
        "name": "Validic Inform",
        "score": 57.9,
        "shared": [
          "health.wearables",
          "health.consent"
        ],
        "slug": "validic"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/zus-health.json",
        "name": "Zus Health",
        "score": 56.6,
        "shared": [
          "health.fhir",
          "health.consent"
        ],
        "slug": "zus-health"
      },
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/medblocks.json",
        "name": "Medblocks",
        "score": 52.7,
        "shared": [
          "health.consent",
          "health.fhir"
        ],
        "slug": "medblocks"
      }
    ],
    "tool": {
      "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"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 75,
            "points": 15,
            "reason": "Read with the hosted lines and scored on the REST API. rook.statuspage.io has components for the API, the connections page and each authorisation source (20). No incident in the 90 days to 14 October 2026. The feed holds seven entries since 2023, the last on 20 October 2025, so the clean record rests on a sparsely used page (30). Typical limits of 60 requests a minute and 10,000 a day are published, varying by plan (12 of 15). No 429 or Retry-After behaviour documented. Dedupe guidance on document_version, and published webhook retries (3 of 15). The services terms cite an SLA page that isn't linked, and pricing lists Basic SLAs on Core with no text found (0). The API carries no beta label (10)."
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 74,
            "points": 12.03,
            "reason": "OpenAPI 3.0.3 file with 29 operations linked from the Redoc reference (25). llms.txt indexes the site and docs, with no Markdown copies of pages found (6 of 10). Descriptions state what each endpoint returns, and the guides say the API is for occasional queries (12 of 20). Four enums and 20 required lists in the file (6 of 15). 286 examples and responses for 400, 401, 403, 404 and 422 on some operations, with test constants in the description (10 of 15). Versions in the path, spec version 2.0.1, and a dated public changelog (15)."
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 49,
            "points": 7.96,
            "reason": "Summaries and per-type event endpoints size responses by date, with no field selection found (12 of 25). A page parameter and date filters on the data endpoints (12 of 20). Errors are JSON with error, exception, path and method, and the WAF answers 403 for missing User-Agent (12 of 20). Mostly reads. No idempotency keys, and dedupe rests on document_version (6 of 20). Few required parameters, but every call needs a User-Agent and there is no server-side SDK (7 of 15)."
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 32,
            "points": 5.6,
            "reason": "One client UUID and secret per environment over Basic auth, secret shown once, no scopes, expiry or rotation found (12 of 30). No read-only credential. A revoke endpoint ends a user's connection (5 of 20). Responses are structured health metrics with little free text (10 of 15). No audit log or per-call log found in the reviewed documentation (0 of 15). The site states a HIPAA-aligned programme, BAAs and GDPR processing, and the services terms list AES-256 at rest, TLS 1.2 and MFA. No SOC 2 or ISO 27001, security.txt or bug bounty found (5 of 20)."
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 25,
            "points": 3.13,
            "reason": "Read with the hosted rubric. No x402, MPP or L402 (0). Plan prices with user caps and add-on prices are public, with no per-unit price for usage past the cap (10). A Sandbox comes with portal registration and the pricing page says Get started free. We could not see whether a card is asked for (15 of 20). A person registers in a browser (0)."
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 73,
            "points": 6.39,
            "reason": "Changelog entry dated 7 October 2026 and capacitor-rook-sdk 4.2.1 published on 8 October (30). Five dated changelog entries between 25 August and 7 October 2026 (20). Closed service with a Canny changelog, email and Intercom support and a Slack community. We could not test response times (10 of 15). Mobile SDKs are current, with no server-side SDK and no entry in the official MCP registry (8 of 15). CI results could not be read (5 of 10)."
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 55,
            "points": 4.81,
            "note": "editorial 52, provenance 58",
            "reason": "Closed service with public services terms dated August 2026 (15 of 30). The privacy policy of 28 May 2026 says data is stored in AWS in the United States and names AWS and Google Cloud as core sub-processors. The DPA and BAA are referenced but not public, and no fixed retention periods were found (15 of 30). Terms changes get 30 days' notice, add-ons can be discontinued on reasonable notice, and each SDK LTS release has six months of support (12 of 20). Hosting providers and the US location are named, with no full sub-processor list (10 of 20)."
          }
        ],
        "assessment": {
          "date": "2026-10-14",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "Summaries and per-type event endpoints size responses by date, with no field selection found (12 of 25). A page parameter and date filters on the data endpoints (12 of 20). Errors are JSON with error, exception, path and method, and the WAF answers 403 for missing User-Agent (12 of 20). Mostly reads. No idempotency keys, and dedupe rests on document_version (6 of 20). Few required parameters, but every call needs a User-Agent and there is no server-side SDK (7 of 15).",
            "maintenance": "Changelog entry dated 7 October 2026 and capacitor-rook-sdk 4.2.1 published on 8 October (30). Five dated changelog entries between 25 August and 7 October 2026 (20). Closed service with a Canny changelog, email and Intercom support and a Slack community. We could not test response times (10 of 15). Mobile SDKs are current, with no server-side SDK and no entry in the official MCP registry (8 of 15). CI results could not be read (5 of 10).",
            "payments": "Read with the hosted rubric. No x402, MPP or L402 (0). Plan prices with user caps and add-on prices are public, with no per-unit price for usage past the cap (10). A Sandbox comes with portal registration and the pricing page says Get started free. We could not see whether a card is asked for (15 of 20). A person registers in a browser (0).",
            "reliability": "Read with the hosted lines and scored on the REST API. rook.statuspage.io has components for the API, the connections page and each authorisation source (20). No incident in the 90 days to 14 October 2026. The feed holds seven entries since 2023, the last on 20 October 2025, so the clean record rests on a sparsely used page (30). Typical limits of 60 requests a minute and 10,000 a day are published, varying by plan (12 of 15). No 429 or Retry-After behaviour documented. Dedupe guidance on document_version, and published webhook retries (3 of 15). The services terms cite an SLA page that isn't linked, and pricing lists Basic SLAs on Core with no text found (0). The API carries no beta label (10).",
            "schema": "OpenAPI 3.0.3 file with 29 operations linked from the Redoc reference (25). llms.txt indexes the site and docs, with no Markdown copies of pages found (6 of 10). Descriptions state what each endpoint returns, and the guides say the API is for occasional queries (12 of 20). Four enums and 20 required lists in the file (6 of 15). 286 examples and responses for 400, 401, 403, 404 and 422 on some operations, with test constants in the description (10 of 15). Versions in the path, spec version 2.0.1, and a dated public changelog (15).",
            "security": "One client UUID and secret per environment over Basic auth, secret shown once, no scopes, expiry or rotation found (12 of 30). No read-only credential. A revoke endpoint ends a user's connection (5 of 20). Responses are structured health metrics with little free text (10 of 15). No audit log or per-call log found in the reviewed documentation (0 of 15). The site states a HIPAA-aligned programme, BAAs and GDPR processing, and the services terms list AES-256 at rest, TLS 1.2 and MFA. No SOC 2 or ISO 27001, security.txt or bug bounty found (5 of 20).",
            "transparency": "Closed service with public services terms dated August 2026 (15 of 30). The privacy policy of 28 May 2026 says data is stored in AWS in the United States and names AWS and Google Cloud as core sub-processors. The DPA and BAA are referenced but not public, and no fixed retention periods were found (15 of 30). Terms changes get 30 days' notice, add-ons can be discontinued on reasonable notice, and each SDK LTS release has six months of support (12 of 20). Hosting providers and the US location are named, with no full sub-processor list (10 of 20)."
          },
          "sources": [
            {
              "what": "documentation index for agents",
              "url": "https://docs.tryrook.io/llms.txt",
              "seen": "2026-10-14"
            },
            {
              "what": "OpenAPI specification",
              "url": "https://docs.tryrook.io/redocusaurus/plugin-redoc-0.yaml",
              "seen": "2026-10-14"
            },
            {
              "what": "API reference",
              "url": "https://docs.tryrook.io/api/",
              "seen": "2026-10-14"
            },
            {
              "what": "portal configuration",
              "url": "https://docs.tryrook.io/docs/portal-configuration/",
              "seen": "2026-10-14"
            },
            {
              "what": "prerequisites and WAF rules",
              "url": "https://docs.tryrook.io/docs/rookconnect/prerequisites-for-integration/",
              "seen": "2026-10-14"
            },
            {
              "what": "data delivery, webhooks and limits",
              "url": "https://docs.tryrook.io/docs/rookconnect/data_delivery/",
              "seen": "2026-10-14"
            },
            {
              "what": "data extraction",
              "url": "https://docs.tryrook.io/docs/rookconnect/data_extraction/",
              "seen": "2026-10-14"
            },
            {
              "what": "data authorisation",
              "url": "https://docs.tryrook.io/docs/rookconnect/data-authorization/",
              "seen": "2026-10-14"
            },
            {
              "what": "pricing",
              "url": "https://www.tryrook.io/pricing",
              "seen": "2026-10-14"
            },
            {
              "what": "Terms and Conditions for ROOK services",
              "url": "https://www.tryrook.io/terms-rook-connect/",
              "seen": "2026-10-14"
            },
            {
              "what": "website terms",
              "url": "https://www.tryrook.io/terms/",
              "seen": "2026-10-14"
            },
            {
              "what": "privacy policy",
              "url": "https://www.tryrook.io/privacy-policy/",
              "seen": "2026-10-14"
            },
            {
              "what": "home page (compliance section)",
              "url": "https://www.tryrook.io/",
              "seen": "2026-10-14"
            },
            {
              "what": "status incidents",
              "url": "https://rook.statuspage.io/api/v2/incidents.json",
              "seen": "2026-10-14"
            },
            {
              "what": "changelog",
              "url": "https://rook.canny.io/changelog",
              "seen": "2026-10-14"
            },
            {
              "what": "npm search for ROOK SDKs",
              "url": "https://registry.npmjs.org/-/v1/search?text=rook-sdk",
              "seen": "2026-10-14"
            },
            {
              "what": "unauthenticated Sandbox request",
              "url": "https://api.rook-connect.review/api/v1/client/users/status",
              "seen": "2026-10-14"
            }
          ],
          "openQuestions": [
            "unchecked: whether portal registration asks for a card, and any user cap in Sandbox. The portal sits behind a login",
            "unchecked: the SLA document the services terms cite as SLAs - ROOK. It isn't linked from the terms or listed in the sitemap",
            "unchecked: GitHub stars, open issues and CI for RookeriesDevelopment. The GitHub API refused us for rate limits",
            "unchecked: live API behaviour beyond one unauthenticated Sandbox request, which returned 401 JSON",
            "The founder's lead gave rookmotion.com, which did not load (expired certificate). ROOK now trades from tryrook.io, and the API lives on rook-connect.com",
            "The pricing page lists an EHR/EMR API on a waitlist, so clinical records are not available today"
          ]
        },
        "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"
      },
      "notable": [
        "The API reference is a Redoc page built from an OpenAPI 3.0.3 file with 29 operations, servers https://api.rook-connect.com and https://api.rook-connect.review (https://docs.tryrook.io/redocusaurus/plugin-redoc-0.yaml)",
        "The ROOK Portal enables a Sandbox project on registration, where client UUID and secret key are generated, and the secret is shown once (https://docs.tryrook.io/docs/portal-configuration/)",
        "The data delivery guide calls webhooks the primary channel and gives typical API limits of 60 requests a minute and 10,000 a day, varying by plan (https://docs.tryrook.io/docs/rookconnect/data_delivery/)",
        "All API requests pass an AWS WAF that blocks calls with no User-Agent and parameters containing localhost, private IPs, SQL or script patterns (https://docs.tryrook.io/docs/rookconnect/prerequisites-for-integration/)",
        "Plans run from Core at $399 a month (750 active users) to Business at $1,999 (15,000 users), with Enterprise custom and a standard 12-month term (https://www.tryrook.io/pricing)",
        "rook.statuspage.io lists its last incident on 20 October 2025, an AWS outage, and seven incidents in all since 2023 (https://rook.statuspage.io/api/v2/incidents.json)"
      ],
      "area": "domain-data",
      "details": [
        {
          "label": "API",
          "value": "REST, OpenAPI 3.0.3, version 2.0.1, 29 operations under /api/v1, /api/v2 and /v2/processed_data. Production https://api.rook-connect.com, Sandbox https://api.rook-connect.review"
        },
        {
          "label": "Data",
          "value": "Sleep, physical and body health summaries and events (heart rate, steps, oxygenation, stress, nutrition, hydration, blood glucose, blood pressure, temperature, mood), from API sources such as Garmin, Fitbit, Oura, Polar, Withings, Whoop and Dexcom and SDK sources such as Apple Health, Health Connect and Samsung Health"
        },
        {
          "label": "Credentials",
          "value": "Client UUID and secret key per environment from the ROOK Portal, sent by HTTP Basic auth. The secret is shown once. No scopes found"
        },
        {
          "label": "Rate limits",
          "value": "Typical 60 requests a minute and 10,000 a day, varying by plan. No 429 or Retry-After behaviour documented"
        },
        {
          "label": "Webhooks",
          "value": "Data webhook configured in the portal with X-ROOK-HASH HMAC validation and staggered retries. Notification webhook set up by support"
        },
        {
          "label": "Consent",
          "value": "Users authorise each source through ROOK's authoriser links, the SDKs or the ROOK App. A revoke endpoint ends a connection"
        },
        {
          "label": "SDKs",
          "value": "iOS, Android, Flutter, React Native (react-native-rook-sdk 5.2.0, 2 October 2026) and Capacitor (capacitor-rook-sdk 4.2.1, 8 October 2026). SDK 4.2.0 LTS has six months of support"
        },
        {
          "label": "Pricing",
          "value": "Core $399 a month (750 active users), Core+ $999 (5,000), Business $1,999 (15,000), Enterprise custom. Add-ons $79 to $499 a month. Lab Data API from $249 a month for 300 files"
        },
        {
          "label": "Status",
          "value": "rook.statuspage.io with components for the API, the connections page and each authorisation source"
        },
        {
          "label": "Compliance",
          "value": "HIPAA-aligned security programme, BAAs with covered entities, GDPR as processor, per tryrook.io. Data stored in AWS in the United States per the privacy policy"
        }
      ],
      "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,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Rookeries Development Corp.",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "tryrook.io, no registry record we could read",
            "points": 0,
            "max": 15,
            "state": "no"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": " is not on tryrook.io",
            "points": 0,
            "max": 15,
            "state": "no"
          },
          {
            "check": "Terms of service",
            "value": "read, states 7 of the 7 things a reader expects, and has 1 clause that costs points",
            "points": 8,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 8 of the 8 things a reader expects",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Status page",
            "value": "rook.statuspage.io",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Changelog",
            "value": "published",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "security.txt",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://www.tryrook.io/terms-rook-connect/",
            "state": "read",
            "readAt": "2026-10-14",
            "statedDate": "2026-08-01",
            "words": 10380,
            "points": 8,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last updated August 2026",
                "says": "Last updated 2026-08-01"
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "The Agreement is governed by the laws of the State of Delaware and applicable federal laws of the United States, without regard to conflicts of law principles.",
                "says": "The law of the State of Delaware"
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "…THIS AGREEMENT, WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, OR OTHERWISE, SHALL NOT EXCEED THE TOTAL FEES PAID OR PAYABLE BY YOU TO US UNDER THIS AGREEMENT DURING THE TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE FIRST EVENT GIVING RISE TO LIABILITY.",
                "says": "Capped at the fees paid in the 12 months before the claim"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "We may suspend Your access to all or any portion of the Services where We reasonably determine that Your use of the Services: (a) poses a material security risk to the Services, Us, You, or any third party;"
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "Unless required by Applicable Law or expressly agreed otherwise for a specified period in an applicable Order Form, such changes shall apply prospectively on the effective date specified in the notice without requiring an amendment to the Agreement.",
                "says": "Says it gives notice of a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "IF YOU DO NOT AGREE TO THESE TERMS AND CONDITIONS, YOU MAY NOT ACCESS OR USE THE SERVICES."
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": true,
                "quote": "The Service Level Agreement applicable to the Services (the “SLA”) is available at SLAs - ROOK and is incorporated into the Agreement by reference."
              }
            ],
            "toKnow": [
              {
                "key": "terms.benchmark",
                "label": "Restricts benchmarking or competitive use",
                "found": true,
                "quote": "copy or replicate the functionality of the Services to develop a competing product",
                "costsPoints": true
              },
              {
                "key": "terms.arbitration",
                "label": "Requires arbitration or waives class actions",
                "found": true,
                "quote": "If the dispute is not resolved within the period in Section 9.5(a), either Party may submit it to final and binding arbitration administered by the American Arbitration Association (“AAA”) under its Commercial Arbitration Rules then in effect."
              }
            ],
            "notes": [
              {
                "date": "2026-10-14",
                "text": "Fees rise on each anniversary by the greater of 3 per cent or the CPI-U change, capped at 7 per cent.",
                "quote": "Fees shall be subject to an annual adjustment effective on each anniversary of the Effective Date, equal to the greater of: (a) three percent (3%); or (b) the percentage change in the U.S. Consumer Price Index for All Urban Consumers (CPI-U)"
              },
              {
                "date": "2026-10-14",
                "text": "ROOK may use de-identified Derived Data for internal analytics, benchmarking and product improvement without further consent from the customer.",
                "quote": "We may use Derived Data for internal analytics, benchmarking, and product improvement without further consent from You."
              },
              {
                "date": "2026-10-14",
                "text": "ROOK may name the customer and use its logo on its website, customer lists and marketing materials.",
                "quote": "We may identify You as a customer and use Your name and logo on Our website, customer lists, and sales and marketing materials, subject to any trademark or brand usage guidelines provided by You in writing."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://www.tryrook.io/privacy-policy/",
            "state": "read",
            "readAt": "2026-10-14",
            "statedDate": "2026-05-28",
            "words": 4525,
            "points": 10,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last updated May 28, 2026",
                "says": "Last updated 2026-05-28"
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "We may collect personal information and related business or device information from visitors to our Website."
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "ROOK will retain personal information for as long as reasonably necessary to fulfill the purposes described in this Privacy Policy, provide the Services, comply with applicable laws, contractual, regulatory, tax, accounting, security, and compliance obligations, resolve disputes, enforce agreements, and protect our le…",
                "says": "For as long as needed, with no period named"
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "…are accessing our Services from a different country with specific laws governing collection, use, and disclosure of data, please be informed that all your personal data is stored in Amazon Web Services in the United States of America, the data may be transmitted to our Service Providers supporting our business operati…"
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": true,
                "quote": "TermsTerms (Services)PrivacyCookiesCookie settingsDo Not Sell or Share My Personal Information",
                "says": "Says it does not sell personal data"
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "Right to Withdraw Consent: You have the right to withdraw your consent to the processing of your personal data at any time."
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "If you have any questions, concerns, requests, or complaints regarding this Privacy Policy, our privacy practices, your personal information, or if you wish to exercise your privacy rights, you may contact our Data Protection Officer (“DPO”) at:",
                "says": "Names a data protection officer"
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": true,
                "quote": "…the nature of the transfer, ROOK relies on one or more of the following legally recognized mechanisms: Standard Contractual Clauses (SCCs), adequacy decisions issued by competent authorities, or the EU–US Data Privacy Framework and its applicable extensions.",
                "says": "Relies on standard contractual clauses and the Data Privacy Framework"
              }
            ]
          }
        ]
      },
      "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"
      }
    },
    "verify": {
      "accepts": "a page on tryrook.io or one of its subdomains",
      "badgeUrl": "https://www.anchorterminal.com/badges/rook.svg",
      "body": {
        "slug": "rook",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/rook",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/rook\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/rook.svg\" alt=\"ROOK on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![ROOK on Anchor Terminal](https://www.anchorterminal.com/badges/rook.svg)](https://www.anchorterminal.com/tools/rook)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/rook\"\u003eROOK on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/rook",
    "json": "https://www.anchorterminal.com/tools/rook.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/rook.md",
    "slim": "https://www.anchorterminal.com/tools/rook.min.md"
  },
  "markdown": "## Overview\n\n**Grade C · 54.9/100 · rank #718 of 1076 · #8 in Health records \u0026 wellness data · not agent-ready · confidence medium**\n\n\n## Assessment\n\nGraded 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## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Rookeries Development Corp. (https://www.tryrook.io) |\n| Kind | HTTP API |\n| Category | Health records \u0026 wellness data (https://www.anchorterminal.com/categories/health-data) |\n| Transport | HTTP |\n| Auth | API key · 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. |\n| Pricing | Paid ($399 / mo) · 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). |\n| x402 | No · No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page (checked 2026-10-14). |\n| Licence | Proprietary service under ROOK's Terms and Conditions for ROOK services |\n| Packages | npm: `react-native-rook-sdk`; npm: `capacitor-rook-sdk` |\n| Source | https://github.com/RookeriesDevelopment |\n| Docs | https://docs.tryrook.io |\n| llms.txt | https://docs.tryrook.io/llms.txt |\n| Last release | 2026-10-07 |\n| API | REST, OpenAPI 3.0.3, version 2.0.1, 29 operations under /api/v1, /api/v2 and /v2/processed_data. Production https://api.rook-connect.com, Sandbox https://api.rook-connect.review |\n| Data | Sleep, physical and body health summaries and events (heart rate, steps, oxygenation, stress, nutrition, hydration, blood glucose, blood pressure, temperature, mood), from API sources such as Garmin, Fitbit, Oura, Polar, Withings, Whoop and Dexcom and SDK sources such as Apple Health, Health Connect and Samsung Health |\n| Credentials | Client UUID and secret key per environment from the ROOK Portal, sent by HTTP Basic auth. The secret is shown once. No scopes found |\n| Rate limits | Typical 60 requests a minute and 10,000 a day, varying by plan. No 429 or Retry-After behaviour documented |\n| Webhooks | Data webhook configured in the portal with X-ROOK-HASH HMAC validation and staggered retries. Notification webhook set up by support |\n| Consent | Users authorise each source through ROOK's authoriser links, the SDKs or the ROOK App. A revoke endpoint ends a connection |\n| SDKs | iOS, Android, Flutter, React Native (react-native-rook-sdk 5.2.0, 2 October 2026) and Capacitor (capacitor-rook-sdk 4.2.1, 8 October 2026). SDK 4.2.0 LTS has six months of support |\n| Pricing | Core $399 a month (750 active users), Core+ $999 (5,000), Business $1,999 (15,000), Enterprise custom. Add-ons $79 to $499 a month. Lab Data API from $249 a month for 300 files |\n| Status | rook.statuspage.io with components for the API, the connections page and each authorisation source |\n| Compliance | HIPAA-aligned security programme, BAAs with covered entities, GDPR as processor, per tryrook.io. Data stored in AWS in the United States per the privacy policy |\n| Capabilities | health.wearables, health.consent, health.fhir |\n| Tags | hosted, wearables, health-data, api-key, openapi, llms-txt, sandbox, webhooks, status-page, hipaa |\n| JSON | https://www.anchorterminal.com/api/v1/tools/rook.json |\n\n## Score breakdown (methodology v0.4, October 2026 research run)\n\nAssessed 2026-10-14 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 75 | 15.0 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 74 | 12.0 |\n| Agent ergonomics | 13% | 16.2 | 49 | 8.0 |\n| Security \u0026 auth | 14% | 17.5 | 32 | 5.6 |\n| Payments \u0026 pricing | 10% | 12.5 | 25 | 3.1 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 73 | 6.4 |\n| Transparency \u0026 trust (editorial 52, provenance 58) | 7% | 8.8 | 55 | 4.8 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **54.9 → C** |\n\n### Why each score\n\n- Reliability 75: Read with the hosted lines and scored on the REST API. rook.statuspage.io has components for the API, the connections page and each authorisation source (20). No incident in the 90 days to 14 October 2026. The feed holds seven entries since 2023, the last on 20 October 2025, so the clean record rests on a sparsely used page (30). Typical limits of 60 requests a minute and 10,000 a day are published, varying by plan (12 of 15). No 429 or Retry-After behaviour documented. Dedupe guidance on document_version, and published webhook retries (3 of 15). The services terms cite an SLA page that isn't linked, and pricing lists Basic SLAs on Core with no text found (0). The API carries no beta label (10).\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 74: OpenAPI 3.0.3 file with 29 operations linked from the Redoc reference (25). llms.txt indexes the site and docs, with no Markdown copies of pages found (6 of 10). Descriptions state what each endpoint returns, and the guides say the API is for occasional queries (12 of 20). Four enums and 20 required lists in the file (6 of 15). 286 examples and responses for 400, 401, 403, 404 and 422 on some operations, with test constants in the description (10 of 15). Versions in the path, spec version 2.0.1, and a dated public changelog (15).\n- Agent ergonomics 49: Summaries and per-type event endpoints size responses by date, with no field selection found (12 of 25). A page parameter and date filters on the data endpoints (12 of 20). Errors are JSON with error, exception, path and method, and the WAF answers 403 for missing User-Agent (12 of 20). Mostly reads. No idempotency keys, and dedupe rests on document_version (6 of 20). Few required parameters, but every call needs a User-Agent and there is no server-side SDK (7 of 15).\n- Security \u0026 auth 32: One client UUID and secret per environment over Basic auth, secret shown once, no scopes, expiry or rotation found (12 of 30). No read-only credential. A revoke endpoint ends a user's connection (5 of 20). Responses are structured health metrics with little free text (10 of 15). No audit log or per-call log found in the reviewed documentation (0 of 15). The site states a HIPAA-aligned programme, BAAs and GDPR processing, and the services terms list AES-256 at rest, TLS 1.2 and MFA. No SOC 2 or ISO 27001, security.txt or bug bounty found (5 of 20).\n- Payments \u0026 pricing 25: Read with the hosted rubric. No x402, MPP or L402 (0). Plan prices with user caps and add-on prices are public, with no per-unit price for usage past the cap (10). A Sandbox comes with portal registration and the pricing page says Get started free. We could not see whether a card is asked for (15 of 20). A person registers in a browser (0).\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 73: Changelog entry dated 7 October 2026 and capacitor-rook-sdk 4.2.1 published on 8 October (30). Five dated changelog entries between 25 August and 7 October 2026 (20). Closed service with a Canny changelog, email and Intercom support and a Slack community. We could not test response times (10 of 15). Mobile SDKs are current, with no server-side SDK and no entry in the official MCP registry (8 of 15). CI results could not be read (5 of 10).\n- Transparency \u0026 trust 55: Closed service with public services terms dated August 2026 (15 of 30). The privacy policy of 28 May 2026 says data is stored in AWS in the United States and names AWS and Google Cloud as core sub-processors. The DPA and BAA are referenced but not public, and no fixed retention periods were found (15 of 30). Terms changes get 30 days' notice, add-ons can be discontinued on reasonable notice, and each SDK LTS release has six months of support (12 of 20). Hosting providers and the US location are named, with no full sub-processor list (10 of 20).\n\nFix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (17 items): https://www.anchorterminal.com/fixes/rook.md (JSON https://www.anchorterminal.com/fixes/rook.json)\n\n### What we couldn't check\n\n- unchecked: whether portal registration asks for a card, and any user cap in Sandbox. The portal sits behind a login\n- unchecked: the SLA document the services terms cite as SLAs - ROOK. It isn't linked from the terms or listed in the sitemap\n- unchecked: GitHub stars, open issues and CI for RookeriesDevelopment. The GitHub API refused us for rate limits\n- unchecked: live API behaviour beyond one unauthenticated Sandbox request, which returned 401 JSON\n- The founder's lead gave rookmotion.com, which did not load (expired certificate). ROOK now trades from tryrook.io, and the API lives on rook-connect.com\n- The pricing page lists an EHR/EMR API on a waitlist, so clinical records are not available today\n\n### Sources\n\n- documentation index for agents: \u003chttps://docs.tryrook.io/llms.txt\u003e (seen 2026-10-14)\n- OpenAPI specification: \u003chttps://docs.tryrook.io/redocusaurus/plugin-redoc-0.yaml\u003e (seen 2026-10-14)\n- API reference: \u003chttps://docs.tryrook.io/api/\u003e (seen 2026-10-14)\n- portal configuration: \u003chttps://docs.tryrook.io/docs/portal-configuration/\u003e (seen 2026-10-14)\n- prerequisites and WAF rules: \u003chttps://docs.tryrook.io/docs/rookconnect/prerequisites-for-integration/\u003e (seen 2026-10-14)\n- data delivery, webhooks and limits: \u003chttps://docs.tryrook.io/docs/rookconnect/data_delivery/\u003e (seen 2026-10-14)\n- data extraction: \u003chttps://docs.tryrook.io/docs/rookconnect/data_extraction/\u003e (seen 2026-10-14)\n- data authorisation: \u003chttps://docs.tryrook.io/docs/rookconnect/data-authorization/\u003e (seen 2026-10-14)\n- pricing: \u003chttps://www.tryrook.io/pricing\u003e (seen 2026-10-14)\n- Terms and Conditions for ROOK services: \u003chttps://www.tryrook.io/terms-rook-connect/\u003e (seen 2026-10-14)\n- website terms: \u003chttps://www.tryrook.io/terms/\u003e (seen 2026-10-14)\n- privacy policy: \u003chttps://www.tryrook.io/privacy-policy/\u003e (seen 2026-10-14)\n- home page (compliance section): \u003chttps://www.tryrook.io/\u003e (seen 2026-10-14)\n- status incidents: \u003chttps://rook.statuspage.io/api/v2/incidents.json\u003e (seen 2026-10-14)\n- changelog: \u003chttps://rook.canny.io/changelog\u003e (seen 2026-10-14)\n- npm search for ROOK SDKs: \u003chttps://registry.npmjs.org/-/v1/search?text=rook-sdk\u003e (seen 2026-10-14)\n- unauthenticated Sandbox request: \u003chttps://api.rook-connect.review/api/v1/client/users/status\u003e (seen 2026-10-14)\n\n## Who's behind it (provenance 58/100, checked 2026-10-14)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Rookeries Development Corp. | 20/20 |\n| Domain age | tryrook.io, no registry record we could read | 0/15 |\n| Endpoint on the vendor's domain |  is not on tryrook.io | 0/15 |\n| Terms of service | read, states 7 of the 7 things a reader expects, and has 1 clause that costs points | 8/10 |\n| Privacy policy | read, states 8 of the 8 things a reader expects | 10/10 |\n| Status page | rook.statuspage.io | 10/10 |\n| Changelog | published | 10/10 |\n| security.txt | not found | 0/10 |\n\nThe 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.\n\nThe 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.\n\nThe API answers at api.rook-connect.com and api.rook-connect.review, which are not on tryrook.io.\n\nrookmotion.com, the domain in the founder's list, did not load (expired certificate). The current site is www.tryrook.io.\n\nwww.tryrook.io/.well-known/security.txt returns 404.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://www.tryrook.io/terms-rook-connect/), read 2026-10-14, dated 2026-08-01, states 7 of the 7 things a reader expects.\n\n- To know. Restricts benchmarking or competitive use (costs points). \"copy or replicate the functionality of the Services to develop a competing product\"\n- To know. Requires arbitration or waives class actions. \"If the dispute is not resolved within the period in Section 9.5(a), either Party may submit it to final and binding arbitration administered by the American Arbitration Association (“AAA”) under its Commercial Arbitration Rules then in effect.\"\n- Gives the date it was last updated. Last updated 2026-08-01.\n- Names the governing law or courts. The law of the State of Delaware.\n- States a limit on its liability. Capped at the fees paid in the 12 months before the claim.\n- Says how changes to the terms are announced. Says it gives notice of a change.\n- Also in the text (2026-10-14). Fees rise on each anniversary by the greater of 3 per cent or the CPI-U change, capped at 7 per cent. \"Fees shall be subject to an annual adjustment effective on each anniversary of the Effective Date, equal to the greater of: (a) three percent (3%); or (b) the percentage change in the U.S. Consumer Price Index for All Urban Consumers (CPI-U)\"\n- Also in the text (2026-10-14). ROOK may use de-identified Derived Data for internal analytics, benchmarking and product improvement without further consent from the customer. \"We may use Derived Data for internal analytics, benchmarking, and product improvement without further consent from You.\"\n- Also in the text (2026-10-14). ROOK may name the customer and use its logo on its website, customer lists and marketing materials. \"We may identify You as a customer and use Your name and logo on Our website, customer lists, and sales and marketing materials, subject to any trademark or brand usage guidelines provided by You in writing.\"\n\n**Privacy policy** (https://www.tryrook.io/privacy-policy/), read 2026-10-14, dated 2026-05-28, states 8 of the 8 things a reader expects.\n\n- Gives the date it was last updated. Last updated 2026-05-28.\n- Says how long data is kept. For as long as needed, with no period named.\n- Says whether personal data is sold or shared for advertising. Says it does not sell personal data.\n- Gives a privacy contact. Names a data protection officer.\n- Says where data is transferred or stored. Relies on standard contractual clauses and the Data Privacy Framework.\n\n## Live (updated 2026-10-14 09:39 UTC)\n\n- Vendor status page: none, All Systems Operational\n- Always current: https://www.anchorterminal.com/api/v1/live/rook.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| Core plan, up to 750 active users | $399 | per month (plan) | tryrook.io/pricing, 2026-10-14 |\n| Business plan, up to 15,000 active users, all add-ons | $1999 | per month (plan) | tryrook.io/pricing, 2026-10-14 |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- OpenAPI 3.0.3 file with 29 operations and production and sandbox servers, linked from the API reference\n- A self-serve portal enables a Sandbox on registration, and the pricing FAQ says it can be tested before buying a plan\n- Plan prices are public, from $399 a month for 750 active users, with add-on prices listed\n- Data webhooks carry an X-ROOK-HASH HMAC header and are retried on a published schedule\n- Dated changelog with five entries between 25 August and 7 October 2026, and SDK LTS releases with a six-month support period\n\n## Weaknesses\n\n- Credentials are one client UUID and secret per environment, sent by Basic auth, with no scopes or rotation documented\n- Typical limits of 60 requests a minute and 10,000 a day vary by plan, and no 429 or Retry-After behaviour is documented\n- No server-side SDK. The official SDKs are mobile libraries for iOS, Android, Flutter, React Native and Capacitor\n- The services terms cite an SLA page that isn't linked or published, and no SOC 2 or ISO 27001 report was found\n- A WAF blocks requests without a User-Agent header and parameters containing localhost or SQL-like text\n\n## Before you call it (notes for agents)\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## Connect\n\nFirst request:\n\n```bash\ncurl 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'\n```\n\nThrough letme (picks today, calling later): https://letme.dev/rook. letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Terra API | B | 65.9 | 327 | health.wearables, health.consent, health.fhir | no | https://www.anchorterminal.com/tools/terra.md |\n| Aidbox | B | 64.2 | 385 | health.fhir, health.consent | no | https://www.anchorterminal.com/tools/aidbox.md |\n| Health Gorilla | C | 59.3 | 583 | health.fhir, health.consent | no | https://www.anchorterminal.com/tools/health-gorilla.md |\n| Validic Inform | C | 57.9 | 628 | health.wearables, health.consent | no | https://www.anchorterminal.com/tools/validic.md |\n| Zus Health | C | 56.6 | 669 | health.fhir, health.consent | no | https://www.anchorterminal.com/tools/zus-health.md |\n| Medblocks | D | 52.7 | 773 | health.consent, health.fhir | no | https://www.anchorterminal.com/tools/medblocks.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- The API reference is a Redoc page built from an OpenAPI 3.0.3 file with 29 operations, servers https://api.rook-connect.com and https://api.rook-connect.review (source: \u003chttps://docs.tryrook.io/redocusaurus/plugin-redoc-0.yaml\u003e)\n- The ROOK Portal enables a Sandbox project on registration, where client UUID and secret key are generated, and the secret is shown once (source: \u003chttps://docs.tryrook.io/docs/portal-configuration/\u003e)\n- The data delivery guide calls webhooks the primary channel and gives typical API limits of 60 requests a minute and 10,000 a day, varying by plan (source: \u003chttps://docs.tryrook.io/docs/rookconnect/data_delivery/\u003e)\n- All API requests pass an AWS WAF that blocks calls with no User-Agent and parameters containing localhost, private IPs, SQL or script patterns (source: \u003chttps://docs.tryrook.io/docs/rookconnect/prerequisites-for-integration/\u003e)\n- Plans run from Core at $399 a month (750 active users) to Business at $1,999 (15,000 users), with Enterprise custom and a standard 12-month term (source: \u003chttps://www.tryrook.io/pricing\u003e)\n- rook.statuspage.io lists its last incident on 20 October 2025, an AWS outage, and seven incidents in all since 2023 (source: \u003chttps://rook.statuspage.io/api/v2/incidents.json\u003e)\n\n- #8 of 12 in 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## Compare\n\n- [1upHealth vs ROOK](https://www.anchorterminal.com/compare/1uphealth-vs-rook.md): D 46.8 vs C 54.9\n- [Aidbox vs ROOK](https://www.anchorterminal.com/compare/aidbox-vs-rook.md): B 64.2 vs C 54.9\n- [Health Gorilla vs ROOK](https://www.anchorterminal.com/compare/health-gorilla-vs-rook.md): C 59.3 vs C 54.9\n- [Medplum vs ROOK](https://www.anchorterminal.com/compare/medplum-vs-rook.md): B 68.7 vs C 54.9\n- [Metriport Medical API vs ROOK](https://www.anchorterminal.com/compare/metriport-vs-rook.md): D 50.1 vs C 54.9\n- [Particle Health vs ROOK](https://www.anchorterminal.com/compare/particle-health-vs-rook.md): D 48.6 vs C 54.9\n- [Redox vs ROOK](https://www.anchorterminal.com/compare/redox-vs-rook.md): C 58.3 vs C 54.9\n- [Medblocks vs ROOK](https://www.anchorterminal.com/compare/medblocks-vs-rook.md): D 52.7 vs C 54.9\n- [ROOK vs Zus Health](https://www.anchorterminal.com/compare/rook-vs-zus-health.md): C 54.9 vs C 56.6\n- [ROOK vs Terra API](https://www.anchorterminal.com/compare/rook-vs-terra.md): C 54.9 vs B 65.9\n- [ROOK vs Validic Inform](https://www.anchorterminal.com/compare/rook-vs-validic.md): C 54.9 vs C 57.9\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on tryrook.io or one of its subdomains. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"rook\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/rook\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/rook.svg\" alt=\"ROOK on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![ROOK on Anchor Terminal](https://www.anchorterminal.com/badges/rook.svg)](https://www.anchorterminal.com/tools/rook)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/rook\"\u003eROOK on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say ROOK is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/rook-dark.png\n- Light: https://www.anchorterminal.com/assets/share/rook-light.png\n- Create a video and download its frames: https://www.anchorterminal.com/assets/listing-video/index.html?listing=rook\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Health records \u0026 wellness data",
        "url": "https://www.anchorterminal.com/categories/health-data"
      },
      {
        "name": "ROOK",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #718 of 1076",
      "API key auth",
      "0 desk reviews"
    ],
    "h1": "ROOK",
    "image": "https://www.anchorterminal.com/assets/og/tools-rook.png",
    "path": "/tools/rook",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ROOK review (2026): pricing, alternatives and grade C",
    "toc": null,
    "updated": "2026-10-14",
    "url": "https://www.anchorterminal.com/tools/rook"
  },
  "tokens": {
    "markdown": 6300,
    "slim": 1630
  },
  "version": 1
}
