{
  "data": {
    "a": {
      "slug": "employment-hero",
      "name": "Employment Hero Payroll",
      "vendor": "Employment Hero Pty Ltd",
      "vendorUrl": "https://employmenthero.com",
      "kind": "http-api",
      "category": "payroll",
      "summary": "Employment Hero Payroll (formerly KeyPay) is cloud payroll for Australia, New Zealand, the United Kingdom, Singapore and Malaysia. Its REST API covers businesses, employees, timesheets, leave, pay runs and reports, with an API key or OAuth 2.0.",
      "url": "https://www.anchorterminal.com/tools/employment-hero",
      "markdownUrl": "https://www.anchorterminal.com/tools/employment-hero.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/employment-hero.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/employment-hero.json",
      "repo": "https://github.com/Thinkei/keypay-dotnet-v2",
      "license": "Proprietary service under Employment Hero's General Terms. The `KeyPayV2` .NET client is MIT",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "nuget",
          "name": "KeyPayV2"
        }
      ],
      "auth": "mixed",
      "authNotes": "Graded on the Payroll API. A user with a payroll login generates an API key under My Account, with no partner review, and sends it as the HTTP Basic username with a blank password. The key acts with that user's access, and Change API Key invalidates the old one. OAuth 2.0 is the other route. A support request with the application's name, callback URL and logo returns a client ID and secret, and the authorisation code grant at `/oauth/authorise` and `/oauth/token` returns a 24-hour access token and a 28-day refresh token. The spec names `read` and `write` scopes, and the guide's sample token shows an empty scope.",
      "pricing": "paid",
      "pricingNotes": "No charge for API calls was found. Access comes with an Employment Hero Payroll subscription. The Australian pricing page lists the Payroll plan at $10 with conditions, a minimum of 10 users and billing by user count, with prices stated as AUD ex. GST in the page's disclaimers. Employment Unlimited, which includes Payroll, is priced through sales. No free tier, trial or sandbox for Payroll was found on the pages read, so an agent starts only where a paying account exists (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API guides, the five Swagger files or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 6,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://api.keypay.com.au/",
      "openapi": "https://api.keypay.com.au/swagger-au.json",
      "capabilities": [
        "payroll.run",
        "payroll.employees",
        "payroll.embedded",
        "payroll.tax-filing",
        "payroll.contractors",
        "hr.time-off"
      ],
      "tags": [
        "hosted",
        "payroll",
        "api-key",
        "oauth",
        "openapi",
        "webhooks",
        "dotnet",
        "white-label",
        "australia",
        "new-zealand",
        "uk",
        "singapore",
        "malaysia",
        "status-page"
      ],
      "lastRelease": "2026-10-08",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 50.4,
        "grade": "D",
        "agentReady": false,
        "rank": 591,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 68,
          "payments": 10,
          "reliability": 65,
          "schema": 51,
          "security": 46,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Five public Swagger 2.0 files describe 660 to 821 operations per region, and any payroll user can generate an API key without a partner review. The key carries its user's whole access, no idempotency keys or API changelog were found, and the only official client is for .NET.",
        "bestFor": "An agent acting for an employer or bureau already on Employment Hero Payroll in Australia, New Zealand, the United Kingdom, Singapore or Malaysia, and white label partners who create businesses through the brand endpoints.",
        "strengths": [
          "Public Swagger 2.0 file for each of five regions, 728 operations for Australia and 821 for the United Kingdom, downloadable without a login",
          "A payroll user generates an API key under My Account with no partner review, and Change API Key invalidates the old one",
          "OData `$filter`, `$orderby`, `$top` and `$skip` on most GET operations, with `$top` capped at 100",
          "Pay run endpoints cover create, recalculate, warnings, approval start, finalise and unlock, so a run can be checked before it is finalised",
          "The .NET client is regenerated from the API, with commits on 52 separate days between 10 July and 8 October 2026"
        ],
        "weaknesses": [
          "An API key carries the whole access of the user who generated it. No per-key scopes were found",
          "No idempotency keys in the spec or guides, and 5 requests a second per key and IP address is the only documented limit",
          "No changelog, versioning policy or deprecation policy was found for the Payroll API",
          "Only 13 of 460 schema definitions in the Australian spec list required fields, and 711 of 728 operations document a 200 response and little else",
          "The developer forum's recent topics include spam, and several API questions from 2024 and 2025 show no replies"
        ],
        "agentNotes": [
          "Send the API key as the Basic auth username with a blank password, for example `curl -u {api_key}: https://api.yourpayroll.com.au/api/v2/user`",
          "Pick the Swagger file for the business's region (`swagger-au.json`, `swagger-nz.json`, `swagger-uk.json`, `swagger-sg.json`, `swagger-my.json`). Paths and models differ by region",
          "Stay under 5 requests a second per key and IP address. A 429 answered our test with `retry-after: 1`",
          "Page lists with `$skip` and `$top` (100 at most). Filter property names are capitalised, unlike the camelCase JSON",
          "Read `GET /api/v2/business/{businessId}/payrun/{payRunId}/warnings` before `POST .../finalise`. Finalise can lodge with the tax office and publish pay slips in the same call"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 50.4
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 68,
          "payments": 10,
          "reliability": 65,
          "schema": 51,
          "security": 46,
          "transparency": 49
        },
        "provenanceScore": 71
      },
      "connect": {
        "install": "Install-Package KeyPayV2",
        "http": "curl -u {api_key}: https://api.yourpayroll.com.au/api/v2/user"
      },
      "letme": {
        "capability": "https://letme.dev/payroll.run",
        "tool": "https://letme.dev/employment-hero"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Employment Hero Pty Ltd",
        "domain": "employmenthero.com",
        "domainRegistered": "2012-05-02",
        "endpointOnVendorDomain": false,
        "terms": "https://employmenthero.com/legals/terms-conditions/",
        "privacy": "https://employmenthero.com/legals/privacy-policy/",
        "statusPage": "https://status.employmenthero.com",
        "changelog": "",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The General Terms (effective 15 June 2026) name Employment Hero Pty Ltd and its affiliates, and define the EH Platform to include products reached through its APIs. They are the platform terms, and no separate API terms were found.",
          "The privacy policy is effective 3 June 2026 and points to a Data Processing Addendum effective 15 June 2026 at https://employmenthero.com/legals/privacy-policy/data-processing/.",
          "The API answers at api.yourpayroll.com.au and the documentation at api.keypay.com.au, both off employmenthero.com. RDAP for yourpayroll.com.au names the registrar only, so we could not confirm the registrant.",
          "https://employmenthero.com/.well-known/security.txt gives vuln@employmenthero.com, a policy link and an expiry of 31 December 2026.",
          "RDAP for employmenthero.com gives a registration date of 2012-05-02 and GoDaddy.com, LLC as registrar.",
          "No changelog for the Payroll API was found on the documentation site."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/employment-hero.json",
      "live": {
        "slug": "employment-hero",
        "vendorStatus": {
          "page": "https://status.employmenthero.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:03.50426119Z"
        },
        "updatedAt": "2026-10-08T21:06:03.50426119Z"
      }
    },
    "answer": "Gusto scores 63.3 (B) on agent readiness against Employment Hero Payroll's 50.4 (D), and leads in 6 of 7 scored categories. Employment Hero Payroll leads on reliability.",
    "b": {
      "slug": "gusto",
      "name": "Gusto",
      "vendor": "Gusto, Inc.",
      "vendorUrl": "https://gusto.com",
      "kind": "http-api",
      "category": "payroll",
      "summary": "Gusto Embedded Payroll is a REST API for running US payroll inside another product, covering company and worker onboarding, payroll calculation and submission, tax filing and contractor payments. Production access needs a partnership with Gusto. A demo environment is self-serve.",
      "url": "https://www.anchorterminal.com/tools/gusto",
      "markdownUrl": "https://www.anchorterminal.com/tools/gusto.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gusto.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gusto.json",
      "repo": "https://github.com/Gusto/gusto-typescript-client",
      "license": "Proprietary service under Gusto's API Policy and Developer Terms of Service. The API clients on GitHub are MIT, and the React SDK and the Gusto CLI are Apache-2.0",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@gusto/embedded-api"
        },
        {
          "registry": "npm",
          "name": "@gusto/embedded-react-sdk"
        },
        {
          "registry": "pypi",
          "name": "gusto-embedded"
        }
      ],
      "auth": "oauth",
      "authNotes": "Graded on the Embedded Payroll API, which needs a partnership. A developer signs up at dev.gusto.com, creates an organisation and an application, and gets a client ID and secret for the demo environment. POST /oauth/token with `grant_type` system_access returns a two-hour system token for partner-level calls, and creating a partner-managed company returns an access and refresh token pair for that company alone. Scopes are assigned by Gusto, and production keys follow commercial, security and implementation reviews. Access to an existing employer's Gusto account is separate. Partner apps use the App Integrations API with the OAuth 2.0 authorisation code grant after Production Pre-Approval and a security review. A customer's own company is reached through the Gusto CLI or the Gusto MCP server, which sign in by OAuth with dynamic client registration and PKCE.",
      "pricing": "paid",
      "pricingNotes": "No price could be read. gusto.com and embedded.gusto.com answered our reader with a bot check, and the developer docs carry no figures. The introduction says commercial conversations are required before production, and an invoices endpoint returns the active companies used to calculate a partner's invoice. The demo environment is open to any developer with a Developer Portal account, with generated demo companies and no contract (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the API reference or the llms.txt index (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 2,
        "npmWeekly": 24731,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.gusto.com/embedded-payroll/docs/introduction",
      "llmsTxt": "https://docs.gusto.com/llms.txt",
      "capabilities": [
        "payroll.run",
        "payroll.employees",
        "payroll.embedded",
        "payroll.tax-filing",
        "payroll.contractors",
        "hr.onboarding",
        "hr.time-off"
      ],
      "tags": [
        "hosted",
        "payroll",
        "oauth",
        "partner-approval",
        "sandbox",
        "llms-txt",
        "webhooks",
        "typescript",
        "python",
        "java",
        "csharp",
        "ruby",
        "mcp",
        "cli",
        "status-page"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.3,
        "grade": "B",
        "agentReady": false,
        "rank": 314,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 76,
          "payments": 15,
          "reliability": 58,
          "schema": 86,
          "security": 60,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "This listing covers the Embedded Payroll API. Every reference page carries an OpenAPI 3.1 definition, payroll is calculated as a preview before submission, and each API version gets 12 months of deprecation support. Production needs commercial and security approval, no price was readable, and the status page lists 11 incidents between 14 July and 5 October 2026, five marked major.",
        "bestFor": "A software platform that wants to run US payroll for its own customers and can pass Gusto's partner reviews.",
        "strengths": [
          "Each of 317 reference pages serves an OpenAPI 3.1 definition as Markdown, and llms.txt indexes both documentation projects",
          "Payroll runs in steps (prepare, calculate, submit). Calculate returns a preview with `submission_blockers` before any money moves",
          "Each API version gets 12 months of phased support after deprecation, with dates published and `Deprecation`, `Sunset` and `Link` response headers",
          "Company access tokens work for one company only, expire after two hours and rotate the refresh token on use",
          "Rate limit of 200 requests a minute per application and user, with `Retry-After` and `X-RateLimit-*` headers on responses"
        ],
        "weaknesses": [
          "Production keys need commercial, security and implementation reviews with Gusto's partnerships team, and the docs say not all use cases are supported",
          "The Embedded API status page lists 11 incidents between 14 July and 5 October 2026, five marked major, one titled a complete outage",
          "No price was readable. gusto.com and embedded.gusto.com answered our reader with a bot check, and the docs carry no figures",
          "Idempotency keys were found only on the People Batch endpoint. Other POST calls rely on the caller not repeating them",
          "The five API clients are labelled beta, and the README warns of breaking changes without notice"
        ],
        "agentNotes": [
          "Develop against https://api.gusto-demo.com. Production at https://api.gusto.com needs keys Gusto issues after its reviews",
          "Send `X-Gusto-API-Version: 2026-06-15` on every call. Without it the application's minimum version applies",
          "Send the resource's current `version` with every PUT, and only the fields to change. A stale version returns 409",
          "Calculate and submit return 202. Poll GET on the payroll until `calculated_at` is set or the status is processed, and read `submission_blockers` first",
          "For a company already on Gusto, the Embedded API is the wrong route. Use the Gusto CLI or the MCP server at https://mcp.api.gusto.com, which draft payroll but can't submit it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.3
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 76,
          "payments": 15,
          "reliability": 58,
          "schema": 86,
          "security": 60,
          "transparency": 44
        },
        "provenanceScore": 77
      },
      "connect": {
        "install": "npm add @gusto/embedded-api",
        "http": "curl --location --request POST 'https://api.gusto-demo.com/oauth/token' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n  \"client_id\": \"{{client_id}}\",\n  \"client_secret\": \"{{client_secret}}\",\n  \"grant_type\": \"system_access\"\n}'"
      },
      "letme": {
        "capability": "https://letme.dev/payroll.run",
        "tool": "https://letme.dev/gusto"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Gusto, Inc.",
        "domain": "gusto.com",
        "domainRegistered": "1995-08-23",
        "endpointOnVendorDomain": true,
        "terms": "https://gusto.com/about/terms/developer-terms-of-service",
        "privacy": "",
        "statusPage": "https://gustoapi.statuspage.io",
        "changelog": "https://docs.gusto.com/embedded-payroll/changelog",
        "securityTxt": "unknown",
        "checked": "2026-10-08",
        "notes": [
          "The NOTICE file in Gusto/gusto-cli reads Copyright 2026 Gusto, Inc.",
          "Production calls go to https://api.gusto.com. The demo environment is on a separate domain, api.gusto-demo.com.",
          "The terms URL is the one named in the OpenAPI definitions on the reference pages. gusto.com answered our reader with a bot check, so the terms, the privacy policy and /.well-known/security.txt weren't read.",
          "The API Policy published in the docs is dated 11 July 2022 and refers to Gusto's Privacy Policy without a readable link.",
          "RDAP for gusto.com gives a registration date of 1995-08-23.",
          "The docs embed https://gustoapi.statuspage.io as the API status page. status.gusto.com covers the Gusto product and also lists an API component."
        ],
        "score": 77
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gusto.json",
      "live": {
        "slug": "gusto",
        "vendorStatus": {
          "page": "https://gustoapi.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:07.702337686Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Gusto/gusto-typescript-client",
            "version": "gusto_embedded_v_2025_11_15/v0.3.2",
            "released": "2026-10-01",
            "seenAt": "2026-10-08T16:15:29.553541966Z"
          },
          {
            "registry": "npm",
            "name": "@gusto/embedded-api",
            "version": "0.16.2",
            "seenAt": "2026-10-08T16:15:25.588820008Z"
          },
          {
            "registry": "npm",
            "name": "@gusto/embedded-react-sdk",
            "version": "0.56.5",
            "seenAt": "2026-10-08T16:15:29.142122622Z"
          },
          {
            "registry": "pypi",
            "name": "gusto-embedded",
            "version": "0.2.4",
            "released": "2025-04-16",
            "seenAt": "2026-10-08T16:15:29.349450484Z"
          }
        ],
        "githubStars": 2,
        "npmWeekly": 24731,
        "pypiWeekly": 104,
        "securityTxt": {
          "url": "https://gusto.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-10-08T15:38:35.992448629Z"
        },
        "pages": [
          {
            "url": "https://docs.gusto.com/embedded-payroll/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:18:50.184946965Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fb0136facdba"
          },
          {
            "url": "https://gusto.com/about/terms/developer-terms-of-service",
            "kind": "terms",
            "status": 403,
            "checkedAt": "2026-10-08T18:20:46.783185211Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-08T21:06:07.702337686Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Employment Hero Pty Ltd",
        "b": "Gusto, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "no (local only)",
        "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 Employment Hero's General Terms. The `KeyPayV2` .NET client is MIT",
        "b": "Proprietary service under Gusto's API Policy and Developer Terms of Service. The API clients on GitHub are MIT, and the React SDK and the Gusto CLI are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-08",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6 stars",
        "b": "2 stars, 25k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Gusto scores 63.3 (B) on agent readiness against Employment Hero Payroll's 50.4 (D), and leads in 6 of 7 scored categories. Employment Hero Payroll leads on reliability.",
        "question": "Which is better for AI agents, Employment Hero Payroll or Gusto?"
      },
      {
        "answer": "Employment Hero Payroll takes an API key or an OAuth sign-in. Gusto uses an OAuth sign-in.",
        "question": "Do Employment Hero Payroll and Gusto need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Employment Hero Payroll. No hosted endpoint is listed for Gusto.",
        "question": "Can an agent call Employment Hero Payroll and Gusto without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 65 against 58"
        ],
        "also": null,
        "goodFor": "An agent acting for an employer or bureau already on Employment Hero Payroll in Australia, New Zealand, the United Kingdom, Singapore or Malaysia, and white label partners who create businesses through the brand endpoints.",
        "slug": "employment-hero",
        "watchFor": "An API key carries the whole access of the user who generated it. No per-key scopes were found"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 51",
          "Agent ergonomics, 82 against 53",
          "Security \u0026 auth, 60 against 46",
          "Payments \u0026 pricing, 15 against 10",
          "Maintenance \u0026 community, 76 against 68"
        ],
        "also": null,
        "goodFor": "A software platform that wants to run US payroll for its own customers and can pass Gusto's partner reviews.",
        "slug": "gusto",
        "watchFor": "Production keys need commercial, security and implementation reviews with Gusto's partnerships team, and the docs say not all use cases are supported"
      }
    ],
    "job": {
      "capability": "payroll.run",
      "name": "Payroll run"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/argyle-vs-employment-hero.json",
        "title": "Argyle vs Employment Hero Payroll",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-employment-hero"
      },
      {
        "json": "https://www.anchorterminal.com/compare/argyle-vs-gusto.json",
        "title": "Argyle vs Gusto",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-gusto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/employment-hero-vs-finch.json",
        "title": "Employment Hero Payroll vs Finch",
        "url": "https://www.anchorterminal.com/compare/employment-hero-vs-finch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/employment-hero-vs-paychex.json",
        "title": "Employment Hero Payroll vs Paychex",
        "url": "https://www.anchorterminal.com/compare/employment-hero-vs-paychex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/finch-vs-gusto.json",
        "title": "Finch vs Gusto",
        "url": "https://www.anchorterminal.com/compare/finch-vs-gusto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gusto-vs-paychex.json",
        "title": "Gusto vs Paychex",
        "url": "https://www.anchorterminal.com/compare/gusto-vs-paychex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/check-payroll-vs-employment-hero.json",
        "title": "Check vs Employment Hero Payroll",
        "url": "https://www.anchorterminal.com/compare/check-payroll-vs-employment-hero"
      },
      {
        "json": "https://www.anchorterminal.com/compare/check-payroll-vs-gusto.json",
        "title": "Check vs Gusto",
        "url": "https://www.anchorterminal.com/compare/check-payroll-vs-gusto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/employment-hero-vs-everee.json",
        "title": "Employment Hero Payroll vs Everee",
        "url": "https://www.anchorterminal.com/compare/employment-hero-vs-everee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/employment-hero-vs-salsa.json",
        "title": "Employment Hero Payroll vs Salsa",
        "url": "https://www.anchorterminal.com/compare/employment-hero-vs-salsa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/employment-hero-vs-zeal.json",
        "title": "Employment Hero Payroll vs Zeal",
        "url": "https://www.anchorterminal.com/compare/employment-hero-vs-zeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/everee-vs-gusto.json",
        "title": "Everee vs Gusto",
        "url": "https://www.anchorterminal.com/compare/everee-vs-gusto"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gusto-vs-salsa.json",
        "title": "Gusto vs Salsa",
        "url": "https://www.anchorterminal.com/compare/gusto-vs-salsa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gusto-vs-zeal.json",
        "title": "Gusto vs Zeal",
        "url": "https://www.anchorterminal.com/compare/gusto-vs-zeal"
      }
    ],
    "scores": [
      {
        "by": 7,
        "edge": "employment-hero",
        "employment-hero": 65,
        "gusto": 58,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "edge": "gusto",
        "employment-hero": 51,
        "gusto": 86,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 29,
        "edge": "gusto",
        "employment-hero": 53,
        "gusto": 82,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 14,
        "edge": "gusto",
        "employment-hero": 46,
        "gusto": 60,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "edge": "gusto",
        "employment-hero": 10,
        "gusto": 15,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "gusto",
        "employment-hero": 68,
        "gusto": 76,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 1,
        "edge": "gusto",
        "employment-hero": 60,
        "gusto": 61,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Gusto scores 63.3 (B) on agent readiness against Employment Hero Payroll's 50.4 (D), and leads in 6 of 7 scored categories. Employment Hero Payroll leads on reliability. Both do payroll run.",
    "verdicts": {
      "employment-hero": "Five public Swagger 2.0 files describe 660 to 821 operations per region, and any payroll user can generate an API key without a partner review. The key carries its user's whole access, no idempotency keys or API changelog were found, and the only official client is for .NET.",
      "gusto": "This listing covers the Embedded Payroll API. Every reference page carries an OpenAPI 3.1 definition, payroll is calculated as a preview before submission, and each API version gets 12 months of deprecation support. Production needs commercial and security approval, no price was readable, and the status page lists 11 incidents between 14 July and 5 October 2026, five marked major."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/employment-hero-vs-gusto",
    "json": "https://www.anchorterminal.com/compare/employment-hero-vs-gusto.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/employment-hero-vs-gusto.md",
    "slim": "https://www.anchorterminal.com/compare/employment-hero-vs-gusto.min.md"
  },
  "markdown": "Gusto scores 63.3 (B) on agent readiness against Employment Hero Payroll's 50.4 (D), and leads in 6 of 7 scored categories. Employment Hero Payroll leads on reliability. Both do payroll run.\n\n- Employment Hero Payroll: grade D, 50.4/100, rank #591 of 722. Markdown https://www.anchorterminal.com/tools/employment-hero.md · JSON https://www.anchorterminal.com/api/v1/tools/employment-hero.json\n- Gusto: grade B, 63.3/100, rank #314 of 722. Markdown https://www.anchorterminal.com/tools/gusto.md · JSON https://www.anchorterminal.com/api/v1/tools/gusto.json\n\n## Which one, for what\n\n### Employment Hero Payroll (D)\n\nGood for: An agent acting for an employer or bureau already on Employment Hero Payroll in Australia, New Zealand, the United Kingdom, Singapore or Malaysia, and white label partners who create businesses through the brand endpoints.\n\nAhead on:\n- Reliability, 65 against 58\n\nWatch for: An API key carries the whole access of the user who generated it. No per-key scopes were found\n\n### Gusto (B)\n\nGood for: A software platform that wants to run US payroll for its own customers and can pass Gusto's partner reviews.\n\nAhead on:\n- Schema \u0026 documentation, 86 against 51\n- Agent ergonomics, 82 against 53\n- Security \u0026 auth, 60 against 46\n- Payments \u0026 pricing, 15 against 10\n- Maintenance \u0026 community, 76 against 68\n\nWatch for: Production keys need commercial, security and implementation reviews with Gusto's partnerships team, and the docs say not all use cases are supported\n\n\n## Score by category\n\n| Category | Weight | Employment Hero Payroll | Gusto | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 58 | Employment Hero Payroll +7 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 51 | 86 | Gusto +35 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 82 | Gusto +29 |\n| Security \u0026 auth | 14% (17.5 this run) | 46 | 60 | Gusto +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 15 | Gusto +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 68 | 76 | Gusto +8 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 61 | Gusto +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **50.4 · D** | **63.3 · B** | |\n\n## Facts side by side\n\n| Fact | Employment Hero Payroll | Gusto |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Employment Hero Pty Ltd | Gusto, Inc. |\n| Hosted endpoint | no (local only) | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Employment Hero's General Terms. The `KeyPayV2` .NET client is MIT | Proprietary service under Gusto's API Policy and Developer Terms of Service. The API clients on GitHub are MIT, and the React SDK and the Gusto CLI are Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-08 | 2026-10-01 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | no date given | no document linked |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 6 stars | 2 stars, 25k npm/wk |\n\n## Verdicts\n\n**Employment Hero Payroll.** Five public Swagger 2.0 files describe 660 to 821 operations per region, and any payroll user can generate an API key without a partner review. The key carries its user's whole access, no idempotency keys or API changelog were found, and the only official client is for .NET.\n\n**Gusto.** This listing covers the Embedded Payroll API. Every reference page carries an OpenAPI 3.1 definition, payroll is calculated as a preview before submission, and each API version gets 12 months of deprecation support. Production needs commercial and security approval, no price was readable, and the status page lists 11 incidents between 14 July and 5 October 2026, five marked major.\n\n## Before you call either\n\n### Employment Hero Payroll\n\n1. Send the API key as the Basic auth username with a blank password, for example `curl -u {api_key}: https://api.yourpayroll.com.au/api/v2/user`\n2. Pick the Swagger file for the business's region (`swagger-au.json`, `swagger-nz.json`, `swagger-uk.json`, `swagger-sg.json`, `swagger-my.json`). Paths and models differ by region\n3. Stay under 5 requests a second per key and IP address. A 429 answered our test with `retry-after: 1`\n4. Page lists with `$skip` and `$top` (100 at most). Filter property names are capitalised, unlike the camelCase JSON\n5. Read `GET /api/v2/business/{businessId}/payrun/{payRunId}/warnings` before `POST .../finalise`. Finalise can lodge with the tax office and publish pay slips in the same call\n\n### Gusto\n\n1. Develop against https://api.gusto-demo.com. Production at https://api.gusto.com needs keys Gusto issues after its reviews\n2. Send `X-Gusto-API-Version: 2026-06-15` on every call. Without it the application's minimum version applies\n3. Send the resource's current `version` with every PUT, and only the fields to change. A stale version returns 409\n4. Calculate and submit return 202. Poll GET on the payroll until `calculated_at` is set or the status is processed, and read `submission_blockers` first\n5. For a company already on Gusto, the Embedded API is the wrong route. Use the Gusto CLI or the MCP server at https://mcp.api.gusto.com, which draft payroll but can't submit it\n\n## Questions\n\n### Which is better for AI agents, Employment Hero Payroll or Gusto?\n\nGusto scores 63.3 (B) on agent readiness against Employment Hero Payroll's 50.4 (D), and leads in 6 of 7 scored categories. Employment Hero Payroll leads on reliability.\n\n### Do Employment Hero Payroll and Gusto need an API key?\n\nEmployment Hero Payroll takes an API key or an OAuth sign-in. Gusto uses an OAuth sign-in.\n\n### Can an agent call Employment Hero Payroll and Gusto without installing anything?\n\nNo hosted endpoint is listed for Employment Hero Payroll. No hosted endpoint is listed for Gusto.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/employment-hero-vs-gusto.json, and with the fewest tokens: https://www.anchorterminal.com/compare/employment-hero-vs-gusto.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"employment-hero\", \"b\": \"gusto\"}`. From a terminal: `anchor compare employment-hero gusto`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/employment-hero.json and https://www.anchorterminal.com/api/v1/tools/gusto.json\n\n## Other comparisons with Employment Hero Payroll or Gusto\n\n- [Argyle vs Employment Hero Payroll](https://www.anchorterminal.com/compare/argyle-vs-employment-hero.md)\n- [Argyle vs Gusto](https://www.anchorterminal.com/compare/argyle-vs-gusto.md)\n- [Employment Hero Payroll vs Finch](https://www.anchorterminal.com/compare/employment-hero-vs-finch.md)\n- [Employment Hero Payroll vs Paychex](https://www.anchorterminal.com/compare/employment-hero-vs-paychex.md)\n- [Finch vs Gusto](https://www.anchorterminal.com/compare/finch-vs-gusto.md)\n- [Gusto vs Paychex](https://www.anchorterminal.com/compare/gusto-vs-paychex.md)\n- [Check vs Employment Hero Payroll](https://www.anchorterminal.com/compare/check-payroll-vs-employment-hero.md)\n- [Check vs Gusto](https://www.anchorterminal.com/compare/check-payroll-vs-gusto.md)\n- [Employment Hero Payroll vs Everee](https://www.anchorterminal.com/compare/employment-hero-vs-everee.md)\n- [Employment Hero Payroll vs Salsa](https://www.anchorterminal.com/compare/employment-hero-vs-salsa.md)\n- [Employment Hero Payroll vs Zeal](https://www.anchorterminal.com/compare/employment-hero-vs-zeal.md)\n- [Everee vs Gusto](https://www.anchorterminal.com/compare/everee-vs-gusto.md)\n- [Gusto vs Salsa](https://www.anchorterminal.com/compare/gusto-vs-salsa.md)\n- [Gusto vs Zeal](https://www.anchorterminal.com/compare/gusto-vs-zeal.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": "Employment Hero Payroll vs Gusto",
        "url": ""
      }
    ],
    "description": "Gusto scores 63.3 (B) on agent readiness against Employment Hero Payroll's 50.4 (D), and leads in 6 of 7 scored categories. Employment Hero Payroll leads on reliability. Both do payroll run. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Employment Hero Payroll D 50.4",
      "Gusto B 63.3",
      "scores"
    ],
    "h1": "Employment Hero Payroll vs Gusto",
    "image": "https://www.anchorterminal.com/assets/og/compare-employment-hero-vs-gusto.png",
    "path": "/compare/employment-hero-vs-gusto",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Employment Hero Payroll vs Gusto for AI agents, D 50.4 vs B 63.3",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/employment-hero-vs-gusto"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 730
  },
  "version": 1
}
