{
  "data": {
    "a": {
      "slug": "bamboohr",
      "name": "BambooHR",
      "vendor": "Bamboo HR LLC",
      "vendorUrl": "https://www.bamboohr.com",
      "kind": "http-api",
      "category": "hr",
      "summary": "HR system of record for small and medium-sized businesses, covering employee records, time off, hiring, onboarding and performance. Agents reach it through a REST API with a public OpenAPI spec, or a hosted MCP server in beta.",
      "url": "https://www.anchorterminal.com/tools/bamboohr",
      "markdownUrl": "https://www.anchorterminal.com/tools/bamboohr.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bamboohr.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bamboohr.json",
      "repo": "https://github.com/BambooHR/bhr-api-php",
      "license": "Proprietary service under BambooHR's terms of service and developer terms. The official PHP SDK on GitHub is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://{companyDomain}.bamboohr.com/api/v1",
      "packages": [
        {
          "registry": "packagist",
          "name": "bamboohr/api"
        }
      ],
      "auth": "mixed",
      "authNotes": "Two routes, both self-serve. A user creates an API key from the user menu in BambooHR and sends it as the username in HTTP Basic auth, and the key carries that user's permissions. Or a developer registers an application in the free developer portal and runs an OAuth 2.0 authorisation code flow against `https://{companyDomain}.bamboohr.com/authorize.php` and `/token.php`, with scopes in read and `.write` pairs, one-hour access tokens and a refresh token when `offline_access` is requested. The MCP server takes OAuth only, needs the `mcp` scope and an admin to enable the AI Connectors app, and has no dynamic client registration. The developer terms let BambooHR require review before production access or a marketplace listing.",
      "pricing": "paid",
      "pricingNotes": "Core $10, Pro $17 and Elite $25 per employee per month, or $250, $425 and $650 a month flat for companies of 25 employees or fewer, with volume discounts that aren't quantified. No separate fee for the API or the MCP server was found, and the pricing page doesn't say which plans include the API. A free trial needs no credit card (length not stated) and the developer portal account is free, so an agent's owner can start without a contract (https://www.bamboohr.com/pricing/, checked 2026-10-07).",
      "priceSummary": "$10 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI spec or the pricing page (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": 56,
      "popularity": {
        "githubStars": 34,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://documentation.bamboohr.com",
      "llmsTxt": "https://documentation.bamboohr.com/llms.txt",
      "openapi": "https://openapi.bamboohr.io/main/latest/docs/openapi/public-openapi.yaml",
      "capabilities": [
        "hr.employees",
        "hr.time-off",
        "hr.org",
        "hr.onboarding",
        "hr.documents",
        "recruiting.applications",
        "recruiting.jobs"
      ],
      "tags": [
        "hosted",
        "paid",
        "free-trial",
        "oauth",
        "api-key",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "php",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-08-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.7,
        "grade": "C",
        "agentReady": false,
        "rank": 357,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 61,
          "maintenance": 62,
          "payments": 35,
          "reliability": 50,
          "schema": 88,
          "security": 64,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-07"
        },
        "negative": 0,
        "verdict": "The REST API publishes an OpenAPI 3.1 spec with 389 operations, llms.txt and OAuth scopes with separate write variants, and every call runs with the authorising user's permissions. No rate limit numbers are published, the MCP server is in beta, and its results can omit records without saying so.",
        "bestFor": "An agent working inside one company's BambooHR account on directory lookups, time off, reports and goals, with the user's own permissions as the limit.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 389 operations, plus llms.txt and a Markdown copy of every docs page",
          "OAuth 2.0 with read and `.write` scopes per data area, such as `employee:job` and `time_off:requests.write`",
          "Every API and MCP call runs with the permissions of the user who authorised it, down to field level",
          "Dated API changelog with 14 entries between 23 July and 26 August 2026",
          "Free trial with no card, and plan prices per employee published without a login"
        ],
        "weaknesses": [
          "No rate limit numbers in the reviewed documentation. The terms reserve the right to throttle",
          "The MCP server is in beta, loads 56 tools and has no dynamic client registration",
          "Restricted records and fields can be dropped from MCP and API results with no marker",
          "PHP is the only maintained official SDK. The .NET and Java SDKs are marked unmaintained",
          "No security.txt, and the SOC 2 report sits in a trust centre behind registration and an NDA"
        ],
        "agentNotes": [
          "Treat a short or empty result as what this caller may see. `list_employees` drops employees when a filter or sort field is restricted",
          "Honour `Retry-After` on 429. Rate-limited calls returned 503 before 16 September 2026, so handle both",
          "Ask for read scopes only unless the task writes. Write access needs the matching `.write` scope",
          "Request `offline_access` to receive a refresh token. Access tokens last one hour",
          "Use `list-employees` with `fields`, `filter` and cursor paging in place of the unpaginated directory endpoint"
        ],
        "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": 61.7
          }
        ],
        "editorialScores": {
          "ergonomics": 61,
          "maintenance": 62,
          "payments": 35,
          "reliability": 50,
          "schema": 88,
          "security": 64,
          "transparency": 64
        },
        "provenanceScore": 83
      },
      "connect": {
        "install": "composer require bamboohr/api",
        "http": "curl -i -u \"{API Key}:x\" \"https://{companyDomain}.bamboohr.com/api/v1/employees/directory\""
      },
      "letme": {
        "capability": "https://letme.dev/hr.employees",
        "tool": "https://letme.dev/bamboohr"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Core plan",
          "unit": "seat-month",
          "usd": 10,
          "note": "per employee; $250 a month flat for 25 employees or fewer"
        },
        {
          "item": "Pro plan",
          "unit": "seat-month",
          "usd": 17,
          "note": "per employee; $425 a month flat for 25 employees or fewer"
        },
        {
          "item": "Elite plan",
          "unit": "seat-month",
          "usd": 25,
          "note": "per employee; $650 a month flat for 25 employees or fewer"
        }
      ],
      "provenance": {
        "legalEntity": "Bamboo HR LLC",
        "domain": "bamboohr.com",
        "domainRegistered": "2009-07-23",
        "endpointOnVendorDomain": true,
        "terms": "https://www.bamboohr.com/legal/developer-terms-of-service",
        "privacy": "https://www.bamboohr.com/legal/privacy-policy",
        "statusPage": "https://status.bamboohr.com",
        "changelog": "https://documentation.bamboohr.com/docs/past-changes-to-the-api",
        "securityTxt": "none",
        "checked": "2026-10-07",
        "notes": [
          "The developer terms (last updated February 2026) and the terms of service (last updated 18 September 2026) name Bamboo HR LLC of Draper, Utah, under Utah law.",
          "Each customer's API and MCP server answer on its own bamboohr.com subdomain. The OpenAPI spec is served from openapi.bamboohr.io.",
          "www.bamboohr.com/.well-known/security.txt and /security.txt return 404.",
          "The privacy notice is dated September 2025 and the data processing agreement was last updated 3 June 2022.",
          "RDAP for bamboohr.com gives a registration date of 2009-07-23 and Amazon Registrar, Inc. as registrar."
        ],
        "score": 83
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bamboohr.json",
      "live": {
        "slug": "bamboohr",
        "probe": {
          "target": "https://{companyDomain}.bamboohr.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-08T21:53:16.595032768Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "invalid character \"{\" in host name",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 71,
          "samples30d": 71,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 71,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-10-08T15:28:56.936598984Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "invalid character \"{\" in host name"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bamboohr.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:15.905176412Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "BambooHR/bhr-api-php",
            "version": "v2.0.1",
            "released": "2025-12-09",
            "seenAt": "2026-10-08T16:01:43.024945444Z"
          }
        ],
        "githubStars": 34,
        "securityTxt": {
          "url": "https://bamboohr.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:37.569543491Z"
        },
        "pages": [
          {
            "url": "https://documentation.bamboohr.com/docs/past-changes-to-the-api",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:54.999704896Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f7d3d57fae58"
          },
          {
            "url": "https://www.bamboohr.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:28.829581312Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9575868f63fe"
          },
          {
            "url": "https://www.bamboohr.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:26.88829507Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f0516cf3582f"
          },
          {
            "url": "https://www.bamboohr.com/legal/developer-terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:24.778039851Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ac9c7f26d76a"
          }
        ],
        "updatedAt": "2026-10-08T21:53:16.595032768Z"
      }
    },
    "answer": "BambooHR scores 61.7 (C) on agent readiness against Zoho People's 55 (C), and leads in 6 of 7 scored categories. Zoho People leads on reliability.",
    "b": {
      "slug": "zoho-people",
      "name": "Zoho People",
      "vendor": "Zoho",
      "vendorUrl": "https://www.zoho.com/people/",
      "kind": "http-api",
      "category": "hr",
      "summary": "Cloud HR system from Zoho covering employee records, leave, attendance, timesheets, onboarding, performance and learning. Agents reach it through a REST API with OAuth 2.0, available on paid plans.",
      "url": "https://www.anchorterminal.com/tools/zoho-people",
      "markdownUrl": "https://www.anchorterminal.com/tools/zoho-people.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zoho-people.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zoho-people.json",
      "license": "Proprietary service under the Zoho Terms of Service",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://people.zoho.com/api",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 only in the current docs. A person registers a client in the Zoho API console (web, mobile, JavaScript, non-browser or a self client for one organisation) and approves scopes of the form `ZOHOPEOPLE.\u003carea\u003e.\u003coperation\u003e`. The access token lasts one hour and goes in `Authorization: Zoho-oauthtoken \u003ctoken\u003e`. The refresh token lasts until revoked. Each data centre (US, EU, India, Australia, Japan, China) has its own accounts host. Registration is self-serve, with no app review or sales approval for use inside one's own organisation. The authentication page still links to a legacy authentication token page, which returns 404.",
      "pricing": "paid",
      "pricingNotes": "Paid plans only for the API. Essential HR, Professional, Premium and Enterprise cost $1.25, $2, $3 and $4.50 a user a month billed yearly ($1.50, $2.50, $3.50 and $5 monthly), with a five-user minimum. A separate United States plan set costs $3 to $8 a user a month billed yearly. The Free plan covers five users and has no API access. A 30-day trial of any paid plan is self-serve, and the account drops to Free when it ends. Prices come from the feed the pricing page loads (https://www.zoho.com/people/zohopeople-pricing.html, checked 2026-10-08).",
      "priceSummary": "$1.25 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the pricing pages or the terms (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.zoho.com/people/api/overview.html",
      "llmsTxt": "https://www.zoho.com/people/api/llms.txt",
      "capabilities": [
        "hr.employees",
        "hr.time-off",
        "hr.org",
        "hr.onboarding",
        "hr.documents"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "paid",
        "free-trial",
        "oauth",
        "llms-txt",
        "webhooks",
        "status-page",
        "bug-bounty",
        "soc2"
      ],
      "lastRelease": "2026-08-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55,
        "grade": "C",
        "agentReady": false,
        "rank": 523,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 48,
          "maintenance": 48,
          "payments": 30,
          "reliability": 77,
          "schema": 43,
          "security": 60,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The REST API covers employee forms, leave, attendance, timesheets, files and learning, with per-endpoint rate limits and Markdown docs listed in an llms.txt. No OpenAPI spec, official SDK or dated API changelog was found, the Free plan has no API access, and several scopes come only as ALL.",
        "bestFor": "An agent working inside a company that already runs Zoho People on a paid plan, for directory reads, leave requests, attendance and timesheet entries at modest volume.",
        "strengths": [
          "OAuth 2.0 scopes name an area and an operation, such as `ZOHOPEOPLE.forms.READ` and `ZOHOPEOPLE.leave.CREATE`, with one-hour access tokens",
          "Every reference page states a per-minute threshold and a five-minute lock period, and daily call caps are published per plan",
          "An llms.txt at `/people/api/llms.txt` lists 339 reference pages, each served as Markdown",
          "Plan prices are public, from $1.25 a user a month billed yearly, with a 30-day trial of any paid plan",
          "security.txt valid to 30 June 2028, a bug bounty, SOC 2 Type 2 and ISO/IEC 27001, 27701, 27017 and 27018"
        ],
        "weaknesses": [
          "No OpenAPI spec, official SDK or dated API changelog found. The product What's New page has no API entries for 2026",
          "The Free plan has no API access. Paid plans cap calls at 5,000 to 25,000 a day",
          "Employee, attendance, time tracker, dashboard and automation scopes are listed only as ALL, with no read-only form",
          "Three URL styles coexist (unversioned form endpoints, v2 and v3), with different parameter names, paging and error formats",
          "The documented token refresh call carries the refresh token and client secret in the URL query string"
        ],
        "agentNotes": [
          "Use the accounts host and API host of the organisation's data centre. Tokens issued in one region fail in another",
          "Stay under each page's threshold, often 30 calls a minute. Exceeding it locks that endpoint for five minutes",
          "Page form records with `sIndex` and `limit`, at most 200 a call, and use `modifiedtime` to fetch only changes",
          "Look up form and field label names with `/api/forms` before writing. `inputData` takes label names, and lookup fields take record IDs",
          "Send the refresh token and client secret in the POST body, not the query string, and store the refresh token, which never expires"
        ],
        "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": 55
          }
        ],
        "editorialScores": {
          "ergonomics": 48,
          "maintenance": 48,
          "payments": 30,
          "reliability": 77,
          "schema": 43,
          "security": 60,
          "transparency": 51
        },
        "provenanceScore": 95
      },
      "connect": {
        "http": "curl --location 'https://people.zoho.com/api/forms' \\\n  --header \"Authorization: Zoho-oauthtoken $ZOHO_ACCESS_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/hr.employees",
        "tool": "https://letme.dev/zoho-people"
      },
      "sameCompany": [
        "zoho-books",
        "zoho-zeptomail",
        "zoho-crm",
        "zoho-recruit"
      ],
      "area": "business",
      "unitPrices": [
        {
          "item": "Essential HR",
          "unit": "seat-month",
          "usd": 1.25,
          "note": "billed yearly; $1.50 billed monthly; five-user minimum; API capped at 5,000 calls a day"
        },
        {
          "item": "Professional",
          "unit": "seat-month",
          "usd": 2,
          "note": "billed yearly; $2.50 billed monthly; API capped at 10,000 calls a day"
        },
        {
          "item": "Premium",
          "unit": "seat-month",
          "usd": 3,
          "note": "billed yearly; $3.50 billed monthly; API capped at 15,000 calls a day"
        },
        {
          "item": "Enterprise",
          "unit": "seat-month",
          "usd": 4.5,
          "note": "billed yearly; $5 billed monthly; API capped at 25,000 calls a day"
        }
      ],
      "provenance": {
        "legalEntity": "Zoho Corporation Private Limited",
        "domain": "zoho.com",
        "domainRegistered": "2004-01-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zoho.com/terms.html",
        "privacy": "https://www.zoho.com/privacy.html",
        "statusPage": "https://status.zoho.com",
        "changelog": "https://www.zoho.com/people/whats-new.html",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service (last updated 2 March 2022) are the service agreement for Zoho's online services. The contracting entity depends on the customer's region, Zoho Corporation Private Limited for India and Zoho Corporation for the United States (https://www.zoho.com/legal/zoho-contracting-entities.html).",
          "The privacy policy was last updated on 22 December 2025. Its Part II covers data customers store in Zoho services. A separate Zoho People privacy notice at https://www.zoho.com/people/privacy-policy.html adds terms for facial recognition and location data in attendance.",
          "API calls go to people.zoho.com and its regional equivalents, on Zoho's own domains. OAuth runs on accounts.zoho.com.",
          "status.zoho.com redirects to us.zohostatus.com, which lists Zoho People as a component.",
          "security.txt at www.zoho.com gives a bug bounty contact, security@zohocorp.com, a policy link and an expiry of 30 June 2028.",
          "What's New is a product changelog dated by month, newest August 2026. No API changelog was found.",
          "RDAP for zoho.com gives a registration date of 2004-01-16."
        ],
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zoho-people.json",
      "live": {
        "slug": "zoho-people",
        "probe": {
          "target": "https://people.zoho.com/api",
          "method": "get",
          "lastAt": "2026-10-08T21:53:39.687130676Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 430,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 430,
          "p95ms24h": 460,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "updatedAt": "2026-10-08T21:53:39.687130676Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Bamboo HR LLC",
        "b": "Zoho",
        "name": "Vendor"
      },
      {
        "a": "https://{companyDomain}.bamboohr.com/api/v1",
        "b": "https://people.zoho.com/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under BambooHR's terms of service and developer terms. The official PHP SDK on GitHub is MIT",
        "b": "Proprietary service under the Zoho Terms of Service",
        "name": "Licence"
      },
      {
        "a": "56",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-26",
        "b": "2026-08-01",
        "name": "Last release"
      },
      {
        "a": "2026-02-01",
        "b": "2022-03-02",
        "name": "Terms last updated"
      },
      {
        "a": "2025-09-01",
        "b": "2025-12-22",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "34 stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "BambooHR scores 61.7 (C) on agent readiness against Zoho People's 55 (C), and leads in 6 of 7 scored categories. Zoho People leads on reliability.",
        "question": "Which is better for AI agents, BambooHR or Zoho People?"
      },
      {
        "answer": "BambooHR takes an API key or an OAuth sign-in. Zoho People uses an OAuth sign-in.",
        "question": "Do BambooHR and Zoho People need an API key?"
      },
      {
        "answer": "Yes. BambooHR has a hosted endpoint at https://{companyDomain}.bamboohr.com/api/v1 and Zoho People at https://people.zoho.com/api.",
        "question": "Can an agent call BambooHR and Zoho People without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 88 against 43",
          "Agent ergonomics, 61 against 48",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 62 against 48"
        ],
        "also": null,
        "goodFor": "An agent working inside one company's BambooHR account on directory lookups, time off, reports and goals, with the user's own permissions as the limit.",
        "slug": "bamboohr",
        "watchFor": "No rate limit numbers in the reviewed documentation. The terms reserve the right to throttle"
      },
      {
        "aheadOn": [
          "Reliability, 77 against 50"
        ],
        "also": null,
        "goodFor": "An agent working inside a company that already runs Zoho People on a paid plan, for directory reads, leave requests, attendance and timesheet entries at modest volume.",
        "slug": "zoho-people",
        "watchFor": "No OpenAPI spec, official SDK or dated API changelog found. The product What's New page has no API entries for 2026"
      }
    ],
    "job": {
      "capability": "hr.employees",
      "name": "Hr employees"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bamboohr-vs-deel.json",
        "title": "BambooHR vs Deel",
        "url": "https://www.anchorterminal.com/compare/bamboohr-vs-deel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bamboohr-vs-factorial.json",
        "title": "BambooHR vs Factorial",
        "url": "https://www.anchorterminal.com/compare/bamboohr-vs-factorial"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bamboohr-vs-hibob.json",
        "title": "BambooHR vs HiBob",
        "url": "https://www.anchorterminal.com/compare/bamboohr-vs-hibob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bamboohr-vs-humaans.json",
        "title": "BambooHR vs Humaans",
        "url": "https://www.anchorterminal.com/compare/bamboohr-vs-humaans"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bamboohr-vs-rippling.json",
        "title": "BambooHR vs Rippling",
        "url": "https://www.anchorterminal.com/compare/bamboohr-vs-rippling"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deel-vs-zoho-people.json",
        "title": "Deel vs Zoho People",
        "url": "https://www.anchorterminal.com/compare/deel-vs-zoho-people"
      },
      {
        "json": "https://www.anchorterminal.com/compare/factorial-vs-zoho-people.json",
        "title": "Factorial vs Zoho People",
        "url": "https://www.anchorterminal.com/compare/factorial-vs-zoho-people"
      },
      {
        "json": "https://www.anchorterminal.com/compare/hibob-vs-zoho-people.json",
        "title": "HiBob vs Zoho People",
        "url": "https://www.anchorterminal.com/compare/hibob-vs-zoho-people"
      },
      {
        "json": "https://www.anchorterminal.com/compare/humaans-vs-zoho-people.json",
        "title": "Humaans vs Zoho People",
        "url": "https://www.anchorterminal.com/compare/humaans-vs-zoho-people"
      },
      {
        "json": "https://www.anchorterminal.com/compare/rippling-vs-zoho-people.json",
        "title": "Rippling vs Zoho People",
        "url": "https://www.anchorterminal.com/compare/rippling-vs-zoho-people"
      }
    ],
    "scores": [
      {
        "bamboohr": 50,
        "by": 27,
        "edge": "zoho-people",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "zoho-people": 77
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "bamboohr": 88,
        "by": 45,
        "edge": "bamboohr",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "zoho-people": 43
      },
      {
        "bamboohr": 61,
        "by": 13,
        "edge": "bamboohr",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "zoho-people": 48
      },
      {
        "bamboohr": 64,
        "by": 4,
        "edge": "bamboohr",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "zoho-people": 60
      },
      {
        "bamboohr": 35,
        "by": 5,
        "edge": "bamboohr",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "zoho-people": 30
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "bamboohr": 62,
        "by": 14,
        "edge": "bamboohr",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "zoho-people": 48
      },
      {
        "bamboohr": 74,
        "by": 1,
        "edge": "bamboohr",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "zoho-people": 73
      }
    ],
    "summary": "BambooHR scores 61.7 (C) on agent readiness against Zoho People's 55 (C), and leads in 6 of 7 scored categories. Zoho People leads on reliability. Both do hr employees.",
    "verdicts": {
      "bamboohr": "The REST API publishes an OpenAPI 3.1 spec with 389 operations, llms.txt and OAuth scopes with separate write variants, and every call runs with the authorising user's permissions. No rate limit numbers are published, the MCP server is in beta, and its results can omit records without saying so.",
      "zoho-people": "The REST API covers employee forms, leave, attendance, timesheets, files and learning, with per-endpoint rate limits and Markdown docs listed in an llms.txt. No OpenAPI spec, official SDK or dated API changelog was found, the Free plan has no API access, and several scopes come only as ALL."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bamboohr-vs-zoho-people",
    "json": "https://www.anchorterminal.com/compare/bamboohr-vs-zoho-people.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bamboohr-vs-zoho-people.md",
    "slim": "https://www.anchorterminal.com/compare/bamboohr-vs-zoho-people.min.md"
  },
  "markdown": "BambooHR scores 61.7 (C) on agent readiness against Zoho People's 55 (C), and leads in 6 of 7 scored categories. Zoho People leads on reliability. Both do hr employees.\n\n- BambooHR: grade C, 61.7/100, rank #357 of 722. Markdown https://www.anchorterminal.com/tools/bamboohr.md · JSON https://www.anchorterminal.com/api/v1/tools/bamboohr.json\n- Zoho People: grade C, 55/100, rank #523 of 722. Markdown https://www.anchorterminal.com/tools/zoho-people.md · JSON https://www.anchorterminal.com/api/v1/tools/zoho-people.json\n\n## Which one, for what\n\n### BambooHR (C)\n\nGood for: An agent working inside one company's BambooHR account on directory lookups, time off, reports and goals, with the user's own permissions as the limit.\n\nAhead on:\n- Schema \u0026 documentation, 88 against 43\n- Agent ergonomics, 61 against 48\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 62 against 48\n\nWatch for: No rate limit numbers in the reviewed documentation. The terms reserve the right to throttle\n\n### Zoho People (C)\n\nGood for: An agent working inside a company that already runs Zoho People on a paid plan, for directory reads, leave requests, attendance and timesheet entries at modest volume.\n\nAhead on:\n- Reliability, 77 against 50\n\nWatch for: No OpenAPI spec, official SDK or dated API changelog found. The product What's New page has no API entries for 2026\n\n\n## Score by category\n\n| Category | Weight | BambooHR | Zoho People | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 77 | Zoho People +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 88 | 43 | BambooHR +45 |\n| Agent ergonomics | 13% (16.2 this run) | 61 | 48 | BambooHR +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 60 | BambooHR +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 35 | 30 | BambooHR +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 62 | 48 | BambooHR +14 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 73 | BambooHR +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.7 · C** | **55 · C** | |\n\n## Facts side by side\n\n| Fact | BambooHR | Zoho People |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Bamboo HR LLC | Zoho |\n| Hosted endpoint | `https://{companyDomain}.bamboohr.com/api/v1` | `https://people.zoho.com/api` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under BambooHR's terms of service and developer terms. The official PHP SDK on GitHub is MIT | Proprietary service under the Zoho Terms of Service |\n| Tools exposed | 56 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-08-26 | 2026-08-01 |\n| Terms last updated | 2026-02-01 | 2022-03-02 |\n| Privacy policy last updated | 2025-09-01 | 2025-12-22 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 34 stars | none |\n\n## Verdicts\n\n**BambooHR.** The REST API publishes an OpenAPI 3.1 spec with 389 operations, llms.txt and OAuth scopes with separate write variants, and every call runs with the authorising user's permissions. No rate limit numbers are published, the MCP server is in beta, and its results can omit records without saying so.\n\n**Zoho People.** The REST API covers employee forms, leave, attendance, timesheets, files and learning, with per-endpoint rate limits and Markdown docs listed in an llms.txt. No OpenAPI spec, official SDK or dated API changelog was found, the Free plan has no API access, and several scopes come only as ALL.\n\n## Before you call either\n\n### BambooHR\n\n1. Treat a short or empty result as what this caller may see. `list_employees` drops employees when a filter or sort field is restricted\n2. Honour `Retry-After` on 429. Rate-limited calls returned 503 before 16 September 2026, so handle both\n3. Ask for read scopes only unless the task writes. Write access needs the matching `.write` scope\n4. Request `offline_access` to receive a refresh token. Access tokens last one hour\n5. Use `list-employees` with `fields`, `filter` and cursor paging in place of the unpaginated directory endpoint\n\n### Zoho People\n\n1. Use the accounts host and API host of the organisation's data centre. Tokens issued in one region fail in another\n2. Stay under each page's threshold, often 30 calls a minute. Exceeding it locks that endpoint for five minutes\n3. Page form records with `sIndex` and `limit`, at most 200 a call, and use `modifiedtime` to fetch only changes\n4. Look up form and field label names with `/api/forms` before writing. `inputData` takes label names, and lookup fields take record IDs\n5. Send the refresh token and client secret in the POST body, not the query string, and store the refresh token, which never expires\n\n## Questions\n\n### Which is better for AI agents, BambooHR or Zoho People?\n\nBambooHR scores 61.7 (C) on agent readiness against Zoho People's 55 (C), and leads in 6 of 7 scored categories. Zoho People leads on reliability.\n\n### Do BambooHR and Zoho People need an API key?\n\nBambooHR takes an API key or an OAuth sign-in. Zoho People uses an OAuth sign-in.\n\n### Can an agent call BambooHR and Zoho People without installing anything?\n\nYes. BambooHR has a hosted endpoint at https://{companyDomain}.bamboohr.com/api/v1 and Zoho People at https://people.zoho.com/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/bamboohr-vs-zoho-people.json, and with the fewest tokens: https://www.anchorterminal.com/compare/bamboohr-vs-zoho-people.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"bamboohr\", \"b\": \"zoho-people\"}`. From a terminal: `anchor compare bamboohr zoho-people`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/bamboohr.json and https://www.anchorterminal.com/api/v1/tools/zoho-people.json\n\n## Other comparisons with BambooHR or Zoho People\n\n- [BambooHR vs Deel](https://www.anchorterminal.com/compare/bamboohr-vs-deel.md)\n- [BambooHR vs Factorial](https://www.anchorterminal.com/compare/bamboohr-vs-factorial.md)\n- [BambooHR vs HiBob](https://www.anchorterminal.com/compare/bamboohr-vs-hibob.md)\n- [BambooHR vs Humaans](https://www.anchorterminal.com/compare/bamboohr-vs-humaans.md)\n- [BambooHR vs Rippling](https://www.anchorterminal.com/compare/bamboohr-vs-rippling.md)\n- [Deel vs Zoho People](https://www.anchorterminal.com/compare/deel-vs-zoho-people.md)\n- [Factorial vs Zoho People](https://www.anchorterminal.com/compare/factorial-vs-zoho-people.md)\n- [HiBob vs Zoho People](https://www.anchorterminal.com/compare/hibob-vs-zoho-people.md)\n- [Humaans vs Zoho People](https://www.anchorterminal.com/compare/humaans-vs-zoho-people.md)\n- [Rippling vs Zoho People](https://www.anchorterminal.com/compare/rippling-vs-zoho-people.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "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": "BambooHR vs Zoho People",
        "url": ""
      }
    ],
    "description": "BambooHR scores 61.7 (C) on agent readiness against Zoho People's 55 (C), and leads in 6 of 7 scored categories. Zoho People leads on reliability. Both do hr employees. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "BambooHR C 61.7",
      "Zoho People C 55",
      "scores"
    ],
    "h1": "BambooHR vs Zoho People",
    "image": "https://www.anchorterminal.com/assets/og/compare-bamboohr-vs-zoho-people.png",
    "path": "/compare/bamboohr-vs-zoho-people",
    "published": "2026-10-01",
    "section": "tools",
    "title": "BambooHR vs Zoho People for AI agents, C 61.7 vs C 55",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/bamboohr-vs-zoho-people"
  },
  "tokens": {
    "markdown": 2000,
    "slim": 630
  },
  "version": 1
}
