{
  "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": 685,
        "ranked": true,
        "rankOf": 842,
        "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-09T11:39:18.160063989Z"
        },
        "updatedAt": "2026-10-09T11:39:18.160063989Z"
      }
    },
    "answer": "Employment Hero Payroll scores 50.4 (D) on agent readiness against Worklio's 38.6 (E), and leads in 4 of 7 scored categories. Worklio leads on schema \u0026 documentation and payments \u0026 pricing.",
    "b": {
      "slug": "worklio",
      "name": "Worklio",
      "vendor": "Worklio, Inc.",
      "vendorUrl": "https://www.worklio.com",
      "kind": "http-api",
      "category": "payroll",
      "summary": "Embedded US payroll from Worklio, Inc. for software platforms, PEOs and payroll bureaus. A partner's backend creates companies and workers, runs payroll in steps and reads tax forms through a REST API, with white-label screens as an alternative.",
      "url": "https://www.anchorterminal.com/tools/worklio",
      "markdownUrl": "https://www.anchorterminal.com/tools/worklio.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/worklio.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/worklio.json",
      "license": "Proprietary service. The public Terms of Use date from 2014 and the partner agreement isn't public. The front-end library sits in a private repository",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.worklio.com",
      "packages": [],
      "auth": "oauth",
      "authNotes": "Every call takes a bearer JWT from `POST https://api.worklio.com/connect/token`. In the sandbox a developer registers at apiweb.worklio.com/RegisterDeveloper and uses the password grant with the account's username and password, scope `api`, and a client secret the docs print and describe as shared by all sandbox users. Tokens last 24 hours. Browser apps use an OpenID Connect redirect flow through `@worklio/sdk`, which isn't published and is requested from support. Production credentials, single sign-on and allowed origins are set up by Worklio. A System user has full rights over every company it created. This is embedded-payroll partner access, with no route into an employer's payroll account elsewhere.",
      "pricing": "paid",
      "pricingNotes": "A partner's price is set in its agreement and isn't public. The partner pages publish retail list prices per person per month ($10 for Full-Service Payroll, $81 for all 19 modules) and call them illustrative, not a quote, with base, setup and per-use fees excluded. The sandbox is self-serve after developer registration, so an agent's owner can start without a contract. Whether registration asks for a card was not read, because apiweb.worklio.com disallows crawlers (checked 2026-10-09).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the reference pages read or the website (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://apidocs.worklio.com/docs/overview",
      "llmsTxt": "https://apidocs.worklio.com/llms.txt",
      "capabilities": [
        "payroll.run",
        "payroll.embedded",
        "payroll.employees",
        "payroll.tax-filing",
        "payroll.contractors"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "partner-access",
        "soc2",
        "iso27001"
      ],
      "lastRelease": "2026-06-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 38.6,
        "grade": "E",
        "agentReady": false,
        "rank": 812,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 44,
          "maintenance": 25,
          "payments": 25,
          "reliability": 25,
          "schema": 71,
          "security": 48,
          "transparency": 48
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": -3,
        "negativeNotes": [
          "30 June 2026. The changelog entry that announces the reworked Time-Off Requests API says the older `timeoffrequests` routes were replaced by hyphenated routes and tells integrators to update, in the same note and with no earlier notice found. Whether partners were told privately is unknown, so the smallest deduction applies (-3). https://apidocs.worklio.com/changelog/v1-api-updates"
        ],
        "verdict": "Worklio documents 853 REST operations with an OpenAPI fragment on every reference page, and a developer can register for the sandbox without a sales call. No rate limits or public SDK were found, the status page is password protected, and the payroll guide tells callers to treat an HTTP 500 as the signal to finalise.",
        "bestFor": "A software platform, PEO or payroll bureau that wants to sell US payroll under its own brand and can sign a partner agreement, with Worklio handling tax filing and money movement.",
        "strengths": [
          "853 documented operations across 17 API groups, each reference page carrying an OpenAPI 3.0.4 fragment, plus llms.txt and a Markdown copy of every docs page",
          "Sandbox access is self-serve. A developer registers, uses a shared sandbox client secret printed in the docs and gets a bearer token",
          "A payroll run moves through steps with next, previous, discard, lock and finalise calls, and starting a scheduled run twice returns the same run",
          "Every operation states which user levels may call it (System, Admin, ClientAdmin, Employee, or anonymous with a link token)",
          "The security page claims SOC 2 Type 2, ISO 27001, ISO 27018 and ISO 9001, with third-party penetration testing"
        ],
        "weaknesses": [
          "No rate limits, 429 handling or idempotency keys were found in the reviewed documentation",
          "status.worklio.com asks for a password, so no public incident history exists",
          "The Run Payroll guide says the `next` call answers HTTP 500 with an untranslated message when a run is ready to finalise",
          "No public SDK. `@worklio/sdk` and the component library sit in a private repository granted through support",
          "The public Terms of Use are dated 21 December 2014 and describe a small-business HR site. The partner agreement and production prices aren't public"
        ],
        "agentNotes": [
          "Send `api-version: 2.0` on `/wep` calls. The reference marks the header as required",
          "Get a token from `POST https://api.worklio.com/connect/token` with the password grant and scope `api`. It lasts 24 hours, so fetch a new one daily",
          "Run payroll as start, `next` until it answers 500 with \"Next step operation is not allowed\", then `finalize`. Don't treat that 500 as a failure",
          "Don't retry bonus, off-cycle, void or termination payroll starts blindly. The reference says those calls are not idempotent",
          "Most `/wep` list endpoints return the whole result set. Paging, `filter` and `sort` work only under `/api/public`, and a `DataToken` expires after 60 seconds"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 38.6
          }
        ],
        "editorialScores": {
          "ergonomics": 44,
          "maintenance": 25,
          "payments": 25,
          "reliability": 25,
          "schema": 71,
          "security": 48,
          "transparency": 28
        },
        "provenanceScore": 67
      },
      "connect": {
        "http": "curl -s -X POST \"https://api.worklio.com/connect/token\" \\\n  -H \"accept: application/json\" \\\n  -H \"content-type: application/x-www-form-urlencoded\" \\\n  --data-urlencode \"grant_type=password\" \\\n  --data-urlencode \"username=$WORKLIO_USERNAME\" \\\n  --data-urlencode \"password=$WORKLIO_PASSWORD\" \\\n  --data-urlencode \"scope=api\" \\\n  --data-urlencode \"client_id=wep_resourceowner.public.api\" \\\n  --data-urlencode \"client_secret=$WORKLIO_CLIENT_SECRET\""
      },
      "letme": {
        "capability": "https://letme.dev/payroll.run",
        "tool": "https://letme.dev/worklio"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Worklio, Inc.",
        "domain": "worklio.com",
        "domainRegistered": "2015-03-10",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://www.worklio.com/privacy",
        "statusPage": "",
        "changelog": "https://apidocs.worklio.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The site footer reads \"© 2026 Worklio, Inc.\". The about page says Worklio LLC was established in 2017. No postal address was found on the pages read.",
          "No terms link is given. The only public terms are the Terms of Use at www.worklio.com/terms, last updated 21 December 2014, which describe an HR site for small businesses and predate the embedded API. The partner agreement that governs API use isn't public.",
          "www.worklio.com/privacy embeds a policy hosted at www.iubenda.com/privacy-policy/25719508. iubenda's robots.txt disallows that path, so the policy text was not read.",
          "status.worklio.com exists (an UptimeRobot page) and answers \"This status page is password protected\", so it is not recorded as a public status page.",
          "www.worklio.com/.well-known/security.txt returns 404.",
          "The changelog holds two entries, both dated 30 June 2026.",
          "RDAP for worklio.com gives a registration date of 2015-03-10."
        ],
        "score": 67
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/worklio.json",
      "live": {
        "slug": "worklio",
        "probe": {
          "target": "https://api.worklio.com",
          "method": "get",
          "lastAt": "2026-10-09T11:46:46.158238844Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 458,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 471,
          "p95ms24h": 528,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "updatedAt": "2026-10-09T11:46:46.158238844Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Employment Hero Pty Ltd",
        "b": "Worklio, Inc.",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.worklio.com",
        "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. The public Terms of Use date from 2014 and the partner agreement isn't public. The front-end library sits in a private repository",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-08",
        "b": "2026-06-30",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no document linked",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6 stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Employment Hero Payroll scores 50.4 (D) on agent readiness against Worklio's 38.6 (E), and leads in 4 of 7 scored categories. Worklio leads on schema \u0026 documentation and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Employment Hero Payroll or Worklio?"
      },
      {
        "answer": "Employment Hero Payroll takes an API key or an OAuth sign-in. Worklio uses an OAuth sign-in.",
        "question": "Do Employment Hero Payroll and Worklio need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Employment Hero Payroll. Worklio has a hosted endpoint at https://api.worklio.com.",
        "question": "Can an agent call Employment Hero Payroll and Worklio without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 65 against 25",
          "Agent ergonomics, 53 against 44",
          "Maintenance \u0026 community, 68 against 25",
          "Transparency \u0026 trust, 60 against 48"
        ],
        "also": [
          "No incidents deducted, where Worklio loses 3 points for them"
        ],
        "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, 71 against 51",
          "Payments \u0026 pricing, 25 against 10"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "A software platform, PEO or payroll bureau that wants to sell US payroll under its own brand and can sign a partner agreement, with Worklio handling tax filing and money movement.",
        "slug": "worklio",
        "watchFor": "No rate limits, 429 handling or idempotency keys were found in the reviewed documentation"
      }
    ],
    "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-worklio.json",
        "title": "Argyle vs Worklio",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-worklio"
      },
      {
        "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-worklio.json",
        "title": "Finch vs Worklio",
        "url": "https://www.anchorterminal.com/compare/finch-vs-worklio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paychex-vs-worklio.json",
        "title": "Paychex vs Worklio",
        "url": "https://www.anchorterminal.com/compare/paychex-vs-worklio"
      },
      {
        "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-worklio.json",
        "title": "Check vs Worklio",
        "url": "https://www.anchorterminal.com/compare/check-payroll-vs-worklio"
      },
      {
        "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-gusto.json",
        "title": "Employment Hero Payroll vs Gusto",
        "url": "https://www.anchorterminal.com/compare/employment-hero-vs-gusto"
      },
      {
        "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-worklio.json",
        "title": "Everee vs Worklio",
        "url": "https://www.anchorterminal.com/compare/everee-vs-worklio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gusto-vs-worklio.json",
        "title": "Gusto vs Worklio",
        "url": "https://www.anchorterminal.com/compare/gusto-vs-worklio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salsa-vs-worklio.json",
        "title": "Salsa vs Worklio",
        "url": "https://www.anchorterminal.com/compare/salsa-vs-worklio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/worklio-vs-zeal.json",
        "title": "Worklio vs Zeal",
        "url": "https://www.anchorterminal.com/compare/worklio-vs-zeal"
      }
    ],
    "scores": [
      {
        "by": 40,
        "edge": "employment-hero",
        "employment-hero": 65,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "worklio": 25
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "worklio",
        "employment-hero": 51,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "worklio": 71
      },
      {
        "by": 9,
        "edge": "employment-hero",
        "employment-hero": 53,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "worklio": 44
      },
      {
        "by": 2,
        "edge": "worklio",
        "employment-hero": 46,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "worklio": 48
      },
      {
        "by": 15,
        "edge": "worklio",
        "employment-hero": 10,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "worklio": 25
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 43,
        "edge": "employment-hero",
        "employment-hero": 68,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "worklio": 25
      },
      {
        "by": 12,
        "edge": "employment-hero",
        "employment-hero": 60,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "worklio": 48
      }
    ],
    "summary": "Employment Hero Payroll scores 50.4 (D) on agent readiness against Worklio's 38.6 (E), and leads in 4 of 7 scored categories. Worklio leads on schema \u0026 documentation and payments \u0026 pricing. 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.",
      "worklio": "Worklio documents 853 REST operations with an OpenAPI fragment on every reference page, and a developer can register for the sandbox without a sales call. No rate limits or public SDK were found, the status page is password protected, and the payroll guide tells callers to treat an HTTP 500 as the signal to finalise."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/employment-hero-vs-worklio",
    "json": "https://www.anchorterminal.com/compare/employment-hero-vs-worklio.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/employment-hero-vs-worklio.md",
    "slim": "https://www.anchorterminal.com/compare/employment-hero-vs-worklio.min.md"
  },
  "markdown": "Employment Hero Payroll scores 50.4 (D) on agent readiness against Worklio's 38.6 (E), and leads in 4 of 7 scored categories. Worklio leads on schema \u0026 documentation and payments \u0026 pricing. Both do payroll run.\n\n- Employment Hero Payroll: grade D, 50.4/100, rank #685 of 842. Markdown https://www.anchorterminal.com/tools/employment-hero.md · JSON https://www.anchorterminal.com/api/v1/tools/employment-hero.json\n- Worklio: grade E, 38.6/100, rank #812 of 842. Markdown https://www.anchorterminal.com/tools/worklio.md · JSON https://www.anchorterminal.com/api/v1/tools/worklio.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 25\n- Agent ergonomics, 53 against 44\n- Maintenance \u0026 community, 68 against 25\n- Transparency \u0026 trust, 60 against 48\n\nAlso in its favour:\n- No incidents deducted, where Worklio loses 3 points for them\n\nWatch for: An API key carries the whole access of the user who generated it. No per-key scopes were found\n\n### Worklio (E)\n\nGood for: A software platform, PEO or payroll bureau that wants to sell US payroll under its own brand and can sign a partner agreement, with Worklio handling tax filing and money movement.\n\nAhead on:\n- Schema \u0026 documentation, 71 against 51\n- Payments \u0026 pricing, 25 against 10\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No rate limits, 429 handling or idempotency keys were found in the reviewed documentation\n\n\n## Score by category\n\n| Category | Weight | Employment Hero Payroll | Worklio | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 25 | Employment Hero Payroll +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 51 | 71 | Worklio +20 |\n| Agent ergonomics | 13% (16.2 this run) | 53 | 44 | Employment Hero Payroll +9 |\n| Security \u0026 auth | 14% (17.5 this run) | 46 | 48 | Worklio +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 25 | Worklio +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 68 | 25 | Employment Hero Payroll +43 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 48 | Employment Hero Payroll +12 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **50.4 · D** | **38.6 · E** | |\n\n## Facts side by side\n\n| Fact | Employment Hero Payroll | Worklio |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Employment Hero Pty Ltd | Worklio, Inc. |\n| Hosted endpoint | no (local only) | `https://api.worklio.com` |\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. The public Terms of Use date from 2014 and the partner agreement isn't public. The front-end library sits in a private repository |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-10-08 | 2026-06-30 |\n| Terms last updated | no date given | no document linked |\n| Privacy policy last updated | no date given | couldn't be read |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | not found in the text |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 6 stars | none |\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**Worklio.** Worklio documents 853 REST operations with an OpenAPI fragment on every reference page, and a developer can register for the sandbox without a sales call. No rate limits or public SDK were found, the status page is password protected, and the payroll guide tells callers to treat an HTTP 500 as the signal to finalise.\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### Worklio\n\n1. Send `api-version: 2.0` on `/wep` calls. The reference marks the header as required\n2. Get a token from `POST https://api.worklio.com/connect/token` with the password grant and scope `api`. It lasts 24 hours, so fetch a new one daily\n3. Run payroll as start, `next` until it answers 500 with \"Next step operation is not allowed\", then `finalize`. Don't treat that 500 as a failure\n4. Don't retry bonus, off-cycle, void or termination payroll starts blindly. The reference says those calls are not idempotent\n5. Most `/wep` list endpoints return the whole result set. Paging, `filter` and `sort` work only under `/api/public`, and a `DataToken` expires after 60 seconds\n\n## Questions\n\n### Which is better for AI agents, Employment Hero Payroll or Worklio?\n\nEmployment Hero Payroll scores 50.4 (D) on agent readiness against Worklio's 38.6 (E), and leads in 4 of 7 scored categories. Worklio leads on schema \u0026 documentation and payments \u0026 pricing.\n\n### Do Employment Hero Payroll and Worklio need an API key?\n\nEmployment Hero Payroll takes an API key or an OAuth sign-in. Worklio uses an OAuth sign-in.\n\n### Can an agent call Employment Hero Payroll and Worklio without installing anything?\n\nNo hosted endpoint is listed for Employment Hero Payroll. Worklio has a hosted endpoint at https://api.worklio.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/employment-hero-vs-worklio.json, and with the fewest tokens: https://www.anchorterminal.com/compare/employment-hero-vs-worklio.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"employment-hero\", \"b\": \"worklio\"}`. From a terminal: `anchor compare employment-hero worklio`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/employment-hero.json and https://www.anchorterminal.com/api/v1/tools/worklio.json\n\n## Other comparisons with Employment Hero Payroll or Worklio\n\n- [Argyle vs Employment Hero Payroll](https://www.anchorterminal.com/compare/argyle-vs-employment-hero.md)\n- [Argyle vs Worklio](https://www.anchorterminal.com/compare/argyle-vs-worklio.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 Worklio](https://www.anchorterminal.com/compare/finch-vs-worklio.md)\n- [Paychex vs Worklio](https://www.anchorterminal.com/compare/paychex-vs-worklio.md)\n- [Check vs Employment Hero Payroll](https://www.anchorterminal.com/compare/check-payroll-vs-employment-hero.md)\n- [Check vs Worklio](https://www.anchorterminal.com/compare/check-payroll-vs-worklio.md)\n- [Employment Hero Payroll vs Everee](https://www.anchorterminal.com/compare/employment-hero-vs-everee.md)\n- [Employment Hero Payroll vs Gusto](https://www.anchorterminal.com/compare/employment-hero-vs-gusto.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 Worklio](https://www.anchorterminal.com/compare/everee-vs-worklio.md)\n- [Gusto vs Worklio](https://www.anchorterminal.com/compare/gusto-vs-worklio.md)\n- [Salsa vs Worklio](https://www.anchorterminal.com/compare/salsa-vs-worklio.md)\n- [Worklio vs Zeal](https://www.anchorterminal.com/compare/worklio-vs-zeal.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "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 Worklio",
        "url": ""
      }
    ],
    "description": "Employment Hero Payroll scores 50.4 (D) on agent readiness against Worklio's 38.6 (E), and leads in 4 of 7 scored categories. Worklio leads on schema \u0026 documentation and payments \u0026 pricing. Both do payroll run. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Employment Hero Payroll D 50.4",
      "Worklio E 38.6",
      "scores"
    ],
    "h1": "Employment Hero Payroll vs Worklio",
    "image": "https://www.anchorterminal.com/assets/og/compare-employment-hero-vs-worklio.png",
    "path": "/compare/employment-hero-vs-worklio",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Employment Hero Payroll vs Worklio for AI agents, D 50.4 vs E 38.6",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/employment-hero-vs-worklio"
  },
  "tokens": {
    "markdown": 2350,
    "slim": 780
  },
  "version": 1
}
