{
  "data": {
    "a": {
      "slug": "argyle",
      "name": "Argyle",
      "vendor": "Argyle Systems Inc.",
      "vendorUrl": "https://www.argyle.com",
      "kind": "http-api",
      "category": "payroll",
      "summary": "Argyle is a consumer-permissioned verification API run by Argyle Systems Inc. A worker connects a payroll account through Argyle Link, and applications read identity, employment, paystub and document records or order income and employment reports.",
      "url": "https://www.anchorterminal.com/tools/argyle",
      "markdownUrl": "https://www.anchorterminal.com/tools/argyle.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/argyle.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/argyle.json",
      "repo": "https://github.com/argyle-systems/argyle-link-react-native",
      "license": "Proprietary service under Argyle's Open Payroll Customer Terms. The React Native Link SDK on npm is Apache 2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.argyle.com/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "@argyleio/argyle-plugin-react-native"
        }
      ],
      "auth": "api-key",
      "authNotes": "A person signs up for Console with a work email, Google or Microsoft account and creates an API key ID and secret for Sandbox or Production. Every request uses HTTP Basic auth with that pair. Access to a worker's payroll data then needs that worker to sign in to the payroll account through Argyle Link. Keys have no per-key scopes in the reviewed documentation, and a 403 means the key lacks a permission enabled for the account. The Customer Terms grant a licence for the platform to legal entities only, and Production fees are set in a Service Order.",
      "pricing": "paid",
      "pricingNotes": "No public prices. argyle.com/pricing lands on the home page, whose buttons are Sign in and Contact sales, and the Customer Terms put fees in a Service Order. A Sandbox with sample users comes with a Console sign-up, so an agent's owner can test without a contract. The sign-up page says Start your trial today. The docs list a `trial_connections_exhausted` error for a limit on free account connections in trial mode, with no number given (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the documentation index, the OpenAPI specification or the vendor's site (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 481,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.argyle.com",
      "llmsTxt": "https://docs.argyle.com/llms.txt",
      "openapi": "https://docs.argyle.com/openAPI/argyle-all.yaml",
      "capabilities": [
        "payroll.employees",
        "payroll.contractors"
      ],
      "tags": [
        "hosted",
        "payroll-data",
        "income-verification",
        "employment-verification",
        "api-key",
        "openapi",
        "llms-txt",
        "sandbox",
        "webhooks",
        "status-page",
        "sla",
        "security-txt",
        "sales-led"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.7,
        "grade": "B",
        "agentReady": false,
        "rank": 297,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 75,
          "payments": 15,
          "reliability": 81,
          "schema": 86,
          "security": 48,
          "transparency": 83
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Graded on the REST API. One OpenAPI file covers 91 operations, llms.txt indexes Markdown docs, and a Sandbox with sample users comes with a Console sign-up. Every payroll connection needs the worker to sign in through Link. No prices are published, no idempotency keys were found, and API keys carry no per-key scopes.",
        "bestFor": "A lender, tenant screener, benefits agency or background checker whose applicant can sign in to a payroll or gig account, and who needs paystubs, employment records or an income report.",
        "strengths": [
          "One OpenAPI 3.0 file covers 91 operations and 119 schemas, and llms.txt indexes the documentation with every page served as Markdown",
          "Each payroll connection is made by the worker through Argyle Link, and the worker can remove it through Link or Argyle Passport",
          "A Sandbox at `https://api-sandbox.argyle.com/v2` has three sample users, simulated refreshes and its own API keys",
          "The rate limit is published as 50 requests a second, and Service Levels commit to 99 per cent monthly availability with credits",
          "The sub-processor list names 20 vendors with processing locations, and the DPA promises 30 days' notice before a new one is used",
          "Twelve dated changelog entries between 14 July and 1 October 2026, with a written definition of breaking changes"
        ],
        "weaknesses": [
          "No price is published. The site has no pricing page, and fees are set in a Service Order agreed with sales",
          "No idempotency keys were found for `POST /users` or `POST /verifications`, and no `Retry-After` header is documented on 429 responses",
          "API keys are an ID and secret pair with no per-key scopes or read-only mode found in the reviewed documentation",
          "The OpenAPI file documents an error response on 2 of 91 operations, and general errors carry a `detail` string with no machine code",
          "No server-side SDK was found. The official SDKs are Link front ends for web, iOS, Android, React Native and Flutter",
          "The trust centre is drawn by script and could not be read, so no certification could be confirmed on the day"
        ],
        "agentNotes": [
          "Send HTTP Basic auth with `api_key_id` as the username and `api_key_secret` as the password. Sandbox keys fail with 401 on Production and the reverse",
          "Create the user with `POST /v2/users` and an `external_id`, then look it up by `external_id` before retrying. No idempotency key was found",
          "Do not read data straight after an account connects. Wait for the account and data webhooks, or for the verification status, before fetching records",
          "Follow the full URL in `next` when paging. Do not build cursor values or fetch pages in parallel. `limit` defaults to 10 and stops at 200",
          "Stay under 50 requests a second. On 429, queue the request and retry later, not at once",
          "Treat `DELETE /v2/users/{id}` as permanent. It removes every resource tied to that user, with no confirmation step"
        ],
        "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.7
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 75,
          "payments": 15,
          "reliability": 81,
          "schema": 86,
          "security": 48,
          "transparency": 68
        },
        "provenanceScore": 97
      },
      "connect": {
        "http": "curl https://api-sandbox.argyle.com/v2/accounts \\\n  -u api_key_id:api_key_secret"
      },
      "letme": {
        "capability": "https://letme.dev/payroll.employees",
        "tool": "https://letme.dev/argyle"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Argyle Systems Inc.",
        "domain": "argyle.com",
        "domainRegistered": "1997-06-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.argyle.com/legal/open-payroll/customer-terms",
        "privacy": "https://www.argyle.com/legal/consumers/privacy-notice",
        "statusPage": "https://status.argyle.com",
        "changelog": "https://changelog.argyle.com",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Open Payroll Customer Terms (last updated 1 October 2026) name Argyle Systems Inc. and, with a Service Order, form the agreement for the API. Disputes go to the courts of New York, New York.",
          "The Privacy Notice (last updated 1 October 2026) covers the records a worker shares through the platform. Argyle describes itself there as a financial institution under the Gramm-Leach-Bliley Act. No separate privacy policy for business customers was found. Customer data is covered by the Data Protection Addendum at /legal/open-payroll/data-protection-addendum.",
          "The site also publishes Service Levels, a Support Policy, a sub-processor list and a Messaging Policy for Open Payroll, separate Open Banking Customer Terms, and Security Measures dated 6 June 2025.",
          "argyle.com/.well-known/security.txt gives security@argyle.com, a PGP key and an expiry of 7 May 2027.",
          "The API answers at api.argyle.com and api-sandbox.argyle.com. changelog.argyle.com redirects to docs.argyle.com/changelog.",
          "RDAP for argyle.com gives a registration date of 1997-06-08. The company's own llms.txt says it was founded in 2018."
        ],
        "score": 97
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/argyle.json",
      "live": {
        "slug": "argyle",
        "probe": {
          "target": "https://api.argyle.com/v2",
          "method": "get",
          "lastAt": "2026-10-08T21:12:04.288999451Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 195,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 220,
          "p95ms24h": 315,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.argyle.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:05:51.399996556Z"
        },
        "updatedAt": "2026-10-08T21:12:04.288999451Z"
      }
    },
    "answer": "Argyle scores 63.7 (B) on agent readiness against Zeal's 45.4 (E), and leads in 6 of 7 scored categories. Zeal leads on agent ergonomics.",
    "b": {
      "slug": "zeal",
      "name": "Zeal",
      "vendor": "Puzzl Group Inc.",
      "vendorUrl": "https://www.zeal.com",
      "kind": "http-api",
      "category": "payroll",
      "summary": "Zeal is an embedded payroll API for US staffing platforms, labour marketplaces and workforce software. Partners create employer companies, onboard W-2 employees and 1099 contractors, create pay cheques and contractor payments, preview payroll and pull reports.",
      "url": "https://www.anchorterminal.com/tools/zeal",
      "markdownUrl": "https://www.anchorterminal.com/tools/zeal.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/zeal.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/zeal.json",
      "repo": "https://github.com/zeal-corp/typescript-sdk",
      "license": "Proprietary service. The npm SDK declares MIT. The SDK repositories on GitHub carry no licence file",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.zeal.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@zeal-api/sdk"
        },
        {
          "registry": "pypi",
          "name": "zeal-api-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "API keys, issued only to Zeal partners. Zeal's team creates the partner account after a demo request, then the Partner Dashboard at app.zeal.com shows one Test API key, one Production API key and the `partnerID`. Every call sends `Authorization: Bearer {apiKey}`, and most also need a `companyID`. A key covers every employer company under the partner, has no scopes, and is rolled from the dashboard, which invalidates the old key at once. Production payroll is switched on by Zeal (error code 0 until then). The agent chat and MCP endpoints need a key that Zeal has Agent-enabled. This is embedded-payroll partner access. An employer has no separate API route into its own Zeal payroll account.",
      "pricing": "paid",
      "pricingNotes": "No public prices. www.zeal.com/pricing returns 404 and every call to action asks for a demo. A test environment that moves no money exists, but its key comes only after Zeal creates a partner account, so an agent cannot start without a sales contact. No free tier or self-serve trial was found (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms-full.txt, the OpenAPI specs or the marketing site (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 8,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.zeal.com",
      "llmsTxt": "https://docs.zeal.com/llms.txt",
      "openapi": "https://docs.zeal.com/openapi/zeal-api.json",
      "capabilities": [
        "payroll.run",
        "payroll.embedded",
        "payroll.employees",
        "payroll.contractors",
        "payroll.tax-filing",
        "hr.onboarding"
      ],
      "tags": [
        "hosted",
        "api-key",
        "openapi",
        "llms-txt",
        "typescript",
        "python",
        "webhooks",
        "sandbox",
        "sales-led",
        "partner-only",
        "us-only",
        "soc2",
        "mcp"
      ],
      "lastRelease": "2026-07-31",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 45.4,
        "grade": "E",
        "agentReady": false,
        "rank": 658,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 63,
          "maintenance": 61,
          "payments": 0,
          "reliability": 42,
          "schema": 68,
          "security": 34,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Graded on the partner REST API at api.zeal.com, which is the only access route. Three OpenAPI specs, llms.txt, a test environment that moves no money, a preview endpoint and a per-cheque approval flag are documented. Access starts with a demo request, prices are not published, each environment has one unscoped key, and no status page or working changelog was found.",
        "bestFor": "A US staffing platform, marketplace or workforce product that will sign a partnership and run payroll for many employers under its own brand, including daily and on-demand pay.",
        "strengths": [
          "Public OpenAPI 3.1 specs with 177 operations, plus llms.txt, llms-full.txt and a Markdown copy of every docs page",
          "Test keys run payroll end to end with no money moved and no tax filings, in an environment separate from production",
          "Preview endpoints return the gross-to-net breakdown before processing, and `approval_required` holds a cheque until `approved` is set",
          "`x-idempotency-key` header honoured for 24 hours, and 116 numbered error codes with messages",
          "Fern-generated TypeScript and Python SDKs (0.2.1, July 2026) that retry 408, 429 and 5xx with backoff"
        ],
        "weaknesses": [
          "No self-serve signup. Zeal's team creates the partner account after a demo request, and no price is published",
          "One test key and one production key per partner account, with no scopes and no read-only key",
          "No status page found, and the changelog linked from the home page and llms.txt returns 404",
          "The API has no version in the path or a header, and the main spec has 18 operations with no summary",
          "Webhooks carry the shared secret itself in `Puzzl-Signature`, not a signature of the payload",
          "No security.txt, disclosure policy, sub-processor list or DPA found on the public site"
        ],
        "agentNotes": [
          "Use the Test API key until a person has approved live payroll. Error code 0 (403) means the account has no production access",
          "Send `companyID` on almost every call and `partnerID` on partner-level calls, in the body for POST and PATCH and the query for GET",
          "Create cheques with `approval_required: true`, run POST /preview/checks, then PATCH /employeeCheck with `approved: true`. Without the flag Zeal processes pending cheques automatically",
          "Send `x-idempotency-key` on every create so a retry within 24 hours doesn't pay twice",
          "Previews and reports are jobs. Keep the `job_id` and poll GET /preview or GET /reports, or wait for the Job Queue webhook",
          "Check dates must be bank days and submitted before 2 PM Pacific two bank days ahead, or the call fails with code 89"
        ],
        "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": 45.4
          }
        ],
        "editorialScores": {
          "ergonomics": 63,
          "maintenance": 61,
          "payments": 0,
          "reliability": 42,
          "schema": 68,
          "security": 34,
          "transparency": 38
        },
        "provenanceScore": 64
      },
      "connect": {
        "install": "npm i -s @zeal-api/sdk",
        "http": "curl --request GET \\\n     --url 'https://api.zeal.com/companies?partnerID=YOUR_PARTNER_ID' \\\n     --header 'Accept: application/json' \\\n     --header 'Authorization: Bearer YOUR_API_KEY'"
      },
      "letme": {
        "capability": "https://letme.dev/payroll.run",
        "tool": "https://letme.dev/zeal"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Puzzl Group Inc.",
        "domain": "zeal.com",
        "domainRegistered": "1995-07-03",
        "endpointOnVendorDomain": true,
        "terms": "https://www.zeal.com/legal?tab=terms-of-service",
        "privacy": "https://www.zeal.com/legal?tab=privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The legal page names Puzzl Group Inc., a Delaware corporation, 80 Langton Street, San Francisco, CA 94103. Its privacy notice was last updated on 16 January 2026.",
          "The API answers at https://api.zeal.com and docs at docs.zeal.com (hosted on Mintlify). The help centre at support.zeal.com runs on Pylon.",
          "www.zeal.com/.well-known/security.txt and docs.zeal.com/.well-known/security.txt return 404.",
          "No status page is linked from the site, the docs or the help centre. status.zeal.com did not complete a TLS handshake on 8 October 2026.",
          "The changelog URL the site advertises, https://docs.zeal.com/changelog, returns 404, so the field is left empty.",
          "The legal page says banking services come from Bangor Savings Bank, Member FDIC.",
          "RDAP for zeal.com gives a registration date of 1995-07-03 and GoDaddy.com, LLC as registrar."
        ],
        "score": 64
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/zeal.json",
      "live": {
        "slug": "zeal",
        "probe": {
          "target": "https://api.zeal.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:26.455378082Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 598,
          "authRequired": false,
          "uptime24h": 98.44,
          "uptime30d": 98.44,
          "p50ms24h": 604,
          "p95ms24h": 681,
          "samples24h": 64,
          "samples30d": 64,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 64,
              "ok": 63
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@zeal-api/sdk",
            "version": "0.2.1",
            "seenAt": "2026-10-08T16:35:37.1323379Z"
          },
          {
            "registry": "pypi",
            "name": "zeal-api-sdk",
            "version": "0.2.1",
            "released": "2026-07-31",
            "seenAt": "2026-10-08T16:35:39.815769205Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 8,
        "pypiWeekly": 4,
        "securityTxt": {
          "url": "https://zeal.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:30.40067532Z"
        },
        "pages": [
          {
            "url": "https://www.zeal.com/legal?tab=privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:44.751983613Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ca2c8021bf60"
          },
          {
            "url": "https://www.zeal.com/legal?tab=terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:46.842036275Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ca2c8021bf60"
          }
        ],
        "updatedAt": "2026-10-08T21:12:26.455378082Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Argyle Systems Inc.",
        "b": "Puzzl Group Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.argyle.com/v2",
        "b": "https://api.zeal.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Argyle's Open Payroll Customer Terms. The React Native Link SDK on npm is Apache 2.0",
        "b": "Proprietary service. The npm SDK declares MIT. The SDK repositories on GitHub carry no licence file",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-01",
        "b": "2026-07-31",
        "name": "Last release"
      },
      {
        "a": "2026-10-01",
        "b": "2026-01-16",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-01",
        "b": "2026-01-16",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "481 npm/wk",
        "b": "0 stars, 8 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Argyle scores 63.7 (B) on agent readiness against Zeal's 45.4 (E), and leads in 6 of 7 scored categories. Zeal leads on agent ergonomics.",
        "question": "Which is better for AI agents, Argyle or Zeal?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Argyle and Zeal need an API key?"
      },
      {
        "answer": "Yes. Argyle has a hosted endpoint at https://api.argyle.com/v2 and Zeal at https://api.zeal.com.",
        "question": "Can an agent call Argyle and Zeal without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 81 against 42",
          "Schema \u0026 documentation, 86 against 68",
          "Security \u0026 auth, 48 against 34",
          "Payments \u0026 pricing, 15 against 0",
          "Maintenance \u0026 community, 75 against 61",
          "Transparency \u0026 trust, 83 against 51"
        ],
        "also": null,
        "goodFor": "A lender, tenant screener, benefits agency or background checker whose applicant can sign in to a payroll or gig account, and who needs paystubs, employment records or an income report.",
        "slug": "argyle",
        "watchFor": "No price is published. The site has no pricing page, and fees are set in a Service Order agreed with sales"
      },
      {
        "aheadOn": [
          "Agent ergonomics, 63 against 58"
        ],
        "also": null,
        "goodFor": "A US staffing platform, marketplace or workforce product that will sign a partnership and run payroll for many employers under its own brand, including daily and on-demand pay.",
        "slug": "zeal",
        "watchFor": "No self-serve signup. Zeal's team creates the partner account after a demo request, and no price is published"
      }
    ],
    "job": {
      "capability": "payroll.employees",
      "name": "Payroll employees"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/argyle-vs-check-payroll.json",
        "title": "Argyle vs Check",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-check-payroll"
      },
      {
        "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-everee.json",
        "title": "Argyle vs Everee",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-everee"
      },
      {
        "json": "https://www.anchorterminal.com/compare/argyle-vs-finch.json",
        "title": "Argyle vs Finch",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-finch"
      },
      {
        "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/argyle-vs-paychex.json",
        "title": "Argyle vs Paychex",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-paychex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/argyle-vs-salsa.json",
        "title": "Argyle vs Salsa",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-salsa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/finch-vs-zeal.json",
        "title": "Finch vs Zeal",
        "url": "https://www.anchorterminal.com/compare/finch-vs-zeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paychex-vs-zeal.json",
        "title": "Paychex vs Zeal",
        "url": "https://www.anchorterminal.com/compare/paychex-vs-zeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/check-payroll-vs-zeal.json",
        "title": "Check vs Zeal",
        "url": "https://www.anchorterminal.com/compare/check-payroll-vs-zeal"
      },
      {
        "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-zeal.json",
        "title": "Everee vs Zeal",
        "url": "https://www.anchorterminal.com/compare/everee-vs-zeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gusto-vs-zeal.json",
        "title": "Gusto vs Zeal",
        "url": "https://www.anchorterminal.com/compare/gusto-vs-zeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salsa-vs-zeal.json",
        "title": "Salsa vs Zeal",
        "url": "https://www.anchorterminal.com/compare/salsa-vs-zeal"
      }
    ],
    "scores": [
      {
        "argyle": 81,
        "by": 39,
        "edge": "argyle",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "zeal": 42
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "argyle": 86,
        "by": 18,
        "edge": "argyle",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "zeal": 68
      },
      {
        "argyle": 58,
        "by": 5,
        "edge": "zeal",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "zeal": 63
      },
      {
        "argyle": 48,
        "by": 14,
        "edge": "argyle",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "zeal": 34
      },
      {
        "argyle": 15,
        "by": 15,
        "edge": "argyle",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "zeal": 0
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "argyle": 75,
        "by": 14,
        "edge": "argyle",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "zeal": 61
      },
      {
        "argyle": 83,
        "by": 32,
        "edge": "argyle",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "zeal": 51
      }
    ],
    "summary": "Argyle scores 63.7 (B) on agent readiness against Zeal's 45.4 (E), and leads in 6 of 7 scored categories. Zeal leads on agent ergonomics. Both do payroll employees.",
    "verdicts": {
      "argyle": "Graded on the REST API. One OpenAPI file covers 91 operations, llms.txt indexes Markdown docs, and a Sandbox with sample users comes with a Console sign-up. Every payroll connection needs the worker to sign in through Link. No prices are published, no idempotency keys were found, and API keys carry no per-key scopes.",
      "zeal": "Graded on the partner REST API at api.zeal.com, which is the only access route. Three OpenAPI specs, llms.txt, a test environment that moves no money, a preview endpoint and a per-cheque approval flag are documented. Access starts with a demo request, prices are not published, each environment has one unscoped key, and no status page or working changelog was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/argyle-vs-zeal",
    "json": "https://www.anchorterminal.com/compare/argyle-vs-zeal.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/argyle-vs-zeal.md",
    "slim": "https://www.anchorterminal.com/compare/argyle-vs-zeal.min.md"
  },
  "markdown": "Argyle scores 63.7 (B) on agent readiness against Zeal's 45.4 (E), and leads in 6 of 7 scored categories. Zeal leads on agent ergonomics. Both do payroll employees.\n\n- Argyle: grade B, 63.7/100, rank #297 of 722. Markdown https://www.anchorterminal.com/tools/argyle.md · JSON https://www.anchorterminal.com/api/v1/tools/argyle.json\n- Zeal: grade E, 45.4/100, rank #658 of 722. Markdown https://www.anchorterminal.com/tools/zeal.md · JSON https://www.anchorterminal.com/api/v1/tools/zeal.json\n\n## Which one, for what\n\n### Argyle (B)\n\nGood for: A lender, tenant screener, benefits agency or background checker whose applicant can sign in to a payroll or gig account, and who needs paystubs, employment records or an income report.\n\nAhead on:\n- Reliability, 81 against 42\n- Schema \u0026 documentation, 86 against 68\n- Security \u0026 auth, 48 against 34\n- Payments \u0026 pricing, 15 against 0\n- Maintenance \u0026 community, 75 against 61\n- Transparency \u0026 trust, 83 against 51\n\nWatch for: No price is published. The site has no pricing page, and fees are set in a Service Order agreed with sales\n\n### Zeal (E)\n\nGood for: A US staffing platform, marketplace or workforce product that will sign a partnership and run payroll for many employers under its own brand, including daily and on-demand pay.\n\nAhead on:\n- Agent ergonomics, 63 against 58\n\nWatch for: No self-serve signup. Zeal's team creates the partner account after a demo request, and no price is published\n\n\n## Score by category\n\n| Category | Weight | Argyle | Zeal | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 42 | Argyle +39 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 68 | Argyle +18 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 63 | Zeal +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 48 | 34 | Argyle +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 0 | Argyle +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 61 | Argyle +14 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 51 | Argyle +32 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **45.4 · E** | |\n\n## Facts side by side\n\n| Fact | Argyle | Zeal |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Argyle Systems Inc. | Puzzl Group Inc. |\n| Hosted endpoint | `https://api.argyle.com/v2` | `https://api.zeal.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Argyle's Open Payroll Customer Terms. The React Native Link SDK on npm is Apache 2.0 | Proprietary service. The npm SDK declares MIT. The SDK repositories on GitHub carry no licence file |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-01 | 2026-07-31 |\n| Terms last updated | 2026-10-01 | 2026-01-16 |\n| Privacy policy last updated | 2026-10-01 | 2026-01-16 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 481 npm/wk | 0 stars, 8 npm/wk |\n\n## Verdicts\n\n**Argyle.** Graded on the REST API. One OpenAPI file covers 91 operations, llms.txt indexes Markdown docs, and a Sandbox with sample users comes with a Console sign-up. Every payroll connection needs the worker to sign in through Link. No prices are published, no idempotency keys were found, and API keys carry no per-key scopes.\n\n**Zeal.** Graded on the partner REST API at api.zeal.com, which is the only access route. Three OpenAPI specs, llms.txt, a test environment that moves no money, a preview endpoint and a per-cheque approval flag are documented. Access starts with a demo request, prices are not published, each environment has one unscoped key, and no status page or working changelog was found.\n\n## Before you call either\n\n### Argyle\n\n1. Send HTTP Basic auth with `api_key_id` as the username and `api_key_secret` as the password. Sandbox keys fail with 401 on Production and the reverse\n2. Create the user with `POST /v2/users` and an `external_id`, then look it up by `external_id` before retrying. No idempotency key was found\n3. Do not read data straight after an account connects. Wait for the account and data webhooks, or for the verification status, before fetching records\n4. Follow the full URL in `next` when paging. Do not build cursor values or fetch pages in parallel. `limit` defaults to 10 and stops at 200\n5. Stay under 50 requests a second. On 429, queue the request and retry later, not at once\n6. Treat `DELETE /v2/users/{id}` as permanent. It removes every resource tied to that user, with no confirmation step\n\n### Zeal\n\n1. Use the Test API key until a person has approved live payroll. Error code 0 (403) means the account has no production access\n2. Send `companyID` on almost every call and `partnerID` on partner-level calls, in the body for POST and PATCH and the query for GET\n3. Create cheques with `approval_required: true`, run POST /preview/checks, then PATCH /employeeCheck with `approved: true`. Without the flag Zeal processes pending cheques automatically\n4. Send `x-idempotency-key` on every create so a retry within 24 hours doesn't pay twice\n5. Previews and reports are jobs. Keep the `job_id` and poll GET /preview or GET /reports, or wait for the Job Queue webhook\n6. Check dates must be bank days and submitted before 2 PM Pacific two bank days ahead, or the call fails with code 89\n\n## Questions\n\n### Which is better for AI agents, Argyle or Zeal?\n\nArgyle scores 63.7 (B) on agent readiness against Zeal's 45.4 (E), and leads in 6 of 7 scored categories. Zeal leads on agent ergonomics.\n\n### Do Argyle and Zeal need an API key?\n\nBoth need an API key.\n\n### Can an agent call Argyle and Zeal without installing anything?\n\nYes. Argyle has a hosted endpoint at https://api.argyle.com/v2 and Zeal at https://api.zeal.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/argyle-vs-zeal.json, and with the fewest tokens: https://www.anchorterminal.com/compare/argyle-vs-zeal.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"argyle\", \"b\": \"zeal\"}`. From a terminal: `anchor compare argyle zeal`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/argyle.json and https://www.anchorterminal.com/api/v1/tools/zeal.json\n\n## Other comparisons with Argyle or Zeal\n\n- [Argyle vs Check](https://www.anchorterminal.com/compare/argyle-vs-check-payroll.md)\n- [Argyle vs Employment Hero Payroll](https://www.anchorterminal.com/compare/argyle-vs-employment-hero.md)\n- [Argyle vs Everee](https://www.anchorterminal.com/compare/argyle-vs-everee.md)\n- [Argyle vs Finch](https://www.anchorterminal.com/compare/argyle-vs-finch.md)\n- [Argyle vs Gusto](https://www.anchorterminal.com/compare/argyle-vs-gusto.md)\n- [Argyle vs Paychex](https://www.anchorterminal.com/compare/argyle-vs-paychex.md)\n- [Argyle vs Salsa](https://www.anchorterminal.com/compare/argyle-vs-salsa.md)\n- [Finch vs Zeal](https://www.anchorterminal.com/compare/finch-vs-zeal.md)\n- [Paychex vs Zeal](https://www.anchorterminal.com/compare/paychex-vs-zeal.md)\n- [Check vs Zeal](https://www.anchorterminal.com/compare/check-payroll-vs-zeal.md)\n- [Employment Hero Payroll vs Zeal](https://www.anchorterminal.com/compare/employment-hero-vs-zeal.md)\n- [Everee vs Zeal](https://www.anchorterminal.com/compare/everee-vs-zeal.md)\n- [Gusto vs Zeal](https://www.anchorterminal.com/compare/gusto-vs-zeal.md)\n- [Salsa vs Zeal](https://www.anchorterminal.com/compare/salsa-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": "Argyle vs Zeal",
        "url": ""
      }
    ],
    "description": "Argyle scores 63.7 (B) on agent readiness against Zeal's 45.4 (E), and leads in 6 of 7 scored categories. Zeal leads on agent ergonomics. Both do payroll employees. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Argyle B 63.7",
      "Zeal E 45.4",
      "scores"
    ],
    "h1": "Argyle vs Zeal",
    "image": "https://www.anchorterminal.com/assets/og/compare-argyle-vs-zeal.png",
    "path": "/compare/argyle-vs-zeal",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Argyle vs Zeal for AI agents, B 63.7 vs E 45.4 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/argyle-vs-zeal"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 680
  },
  "version": 1
}
