{
  "data": {
    "a": {
      "slug": "finch",
      "name": "Finch",
      "vendor": "Profound Platform Inc. (dba Finch)",
      "vendorUrl": "https://www.tryfinch.com",
      "kind": "http-api",
      "category": "payroll",
      "summary": "Finch is a unified API for reading an employer's existing HR and payroll system, run by Profound Platform Inc. in San Francisco. Applications read directory, employment and pay data from 250+ systems and write payroll deductions.",
      "url": "https://www.anchorterminal.com/tools/finch",
      "markdownUrl": "https://www.anchorterminal.com/tools/finch.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/finch.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/finch.json",
      "repo": "https://github.com/Finch-API/finch-api-node",
      "license": "Proprietary service under Finch's Master Service Agreement. The SDKs and the MCP server on GitHub are Apache-2.0",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.tryfinch.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@tryfinch/finch-api"
        },
        {
          "registry": "npm",
          "name": "@tryfinch/finch-api-mcp"
        },
        {
          "registry": "pypi",
          "name": "finch-api"
        }
      ],
      "auth": "oauth",
      "authNotes": "A person signs up for the Developer Dashboard and receives a `client_id` and `client_secret` for a free sandbox application. Access to an employer's data then needs that employer's administrator to sign in through Finch Connect and approve the requested products. The authorisation code is exchanged at POST /auth/token for a bearer access token tied to that one connection and those products. The token does not expire and is revoked with POST /disconnect. Connect sessions are created with HTTP Basic auth using the client ID and secret. The SSN permission needs Finch's approval, and Gusto and TriNet need a one-time security review before going live. The MCP server reads the access token from `FINCH_ACCESS_TOKEN`.",
      "pricing": "paid",
      "pricingNotes": "Starter is $65 a month per connection, month to month, for 24 providers, up to 15 connections and read-only organisation and payroll data. Pro and Premier are sold through sales, with volume discounts from 25 connections a month, all 250+ providers, deduction writes and assisted integrations. A sandbox with mock data is free with a Dashboard signup, so an agent's owner can start without a contract, and Provider Sandboxes allow five connections to provider demo accounts. All production connections are billable (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the documentation index, the OpenAPI specification or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 2,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 16128,
        "pypiWeekly": 25524,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developer.tryfinch.com",
      "llmsTxt": "https://developer.tryfinch.com/llms.txt",
      "openapi": "https://developer.tryfinch.com/openapi.json",
      "capabilities": [
        "payroll.employees",
        "payroll.contractors",
        "hr.employees",
        "hr.org",
        "hr.documents"
      ],
      "tags": [
        "hosted",
        "unified-api",
        "payroll-data",
        "hris",
        "oauth",
        "openapi",
        "llms-txt",
        "mcp",
        "sandbox",
        "webhooks",
        "python",
        "typescript",
        "java",
        "go",
        "ruby",
        "status-page",
        "sla",
        "soc2"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 104,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 84,
          "payments": 30,
          "reliability": 84,
          "schema": 87,
          "security": 66,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Graded on the REST API. An employer grants each connection named product permissions, and limits, error codes and a 99.9 per cent uptime SLA are published. Finch reads payroll and writes deductions but cannot run a payroll. Access tokens never expire, no idempotency keys were found, and writes and most providers need a sales-led plan.",
        "bestFor": "An application that needs to read employees, pay runs and pay statements from whatever payroll or HR system an employer already uses, or to write benefit deductions back.",
        "strengths": [
          "One OpenAPI 3.1 file covers 55 operations, and llms.txt indexes the documentation with every page served as Markdown",
          "Each access token is tied to one employer connection and limited to the products that employer approved, with SSN as a separate permission needing Finch's approval",
          "Rate limits are published per endpoint (20 or 12 requests a minute per application), with 429 errors that name which limit was hit",
          "A 99.90 per cent monthly uptime SLA with service credits is published for plans whose order form includes it",
          "Official SDKs for Node, Python, Java, Kotlin, Go and Ruby, with Node 10.8.2 and Python 2.8.3 released in the last 50 days",
          "A public DPA dated 7 August 2026, and a trust centre naming six sub-processors with hosting in AWS us-west-2"
        ],
        "weaknesses": [
          "Finch cannot create, preview or approve a payroll. Writes are limited to deductions and contributions, on Pro and Premier plans",
          "An access token does not expire until the connection is disconnected, and no rotation method was found in the reviewed documentation",
          "No idempotency keys were found, and no `Retry-After` header is documented on 429 responses",
          "Data is synced, not live. Automated integrations refresh every 24 hours and assisted integrations every 7 days",
          "Starter is $65 a month per connection for 24 providers and 15 connections. The other 250+ providers and deduction writes have no public price",
          "The MCP server is labelled beta, runs locally over stdio and is not in the official MCP registry"
        ],
        "agentNotes": [
          "Send `Finch-API-Version: 2020-09-17` and `Authorization: Bearer \u003caccess_token\u003e` on every request. A request without the version header fails with 400",
          "Call GET /introspect first to see the connection's products, status and whether it is automated or assisted before choosing endpoints",
          "Treat a 202 response as data not ready, not as data. Retry with backoff, and expect up to 14 days for an assisted connection's first sync",
          "Stay under 20 requests a minute on organisation endpoints and 12 on pay endpoints across all tokens. Batch IDs, and on 429 wait 60 seconds",
          "After a deduction write, poll the job by `job_id` until it completes before enrolling individuals. Enrolment overwrites an existing enrolment",
          "Start the MCP server with `--code-allow-http-gets` or a token without the benefits product when only reads are intended"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.6
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 84,
          "payments": 30,
          "reliability": 84,
          "schema": 87,
          "security": 66,
          "transparency": 65
        },
        "provenanceScore": 82
      },
      "connect": {
        "install": "pip install finch-api",
        "http": "curl https://api.tryfinch.com/employer/directory \\\n  -H 'Authorization: Bearer \u003caccess_token\u003e' \\\n  -H 'Finch-API-Version: 2020-09-17'",
        "config": {
          "mcpServers": {
            "finch_api": {
              "args": [
                "-y",
                "@tryfinch/finch-api-mcp"
              ],
              "command": "npx",
              "env": {
                "FINCH_ACCESS_TOKEN": "\u003ca specific connection's access token\u003e"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/payroll.employees",
        "tool": "https://letme.dev/finch"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Starter, one employer connection",
          "unit": "account-month",
          "usd": 65,
          "note": "read-only, 24 providers, up to 15 connections. Pro and Premier priced by sales"
        }
      ],
      "provenance": {
        "legalEntity": "Profound Platform Inc. (dba Finch)",
        "domain": "tryfinch.com",
        "domainRegistered": "2020-03-30",
        "endpointOnVendorDomain": true,
        "terms": "https://www.tryfinch.com/legal/msa",
        "privacy": "https://www.tryfinch.com/legal/privacy",
        "statusPage": "https://status.tryfinch.com",
        "changelog": "https://developer.tryfinch.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Master Service Agreement (last updated 7 August 2026) names Profound Platform Inc. (dba Finch), a Delaware corporation. The site footer reads Finch Inc.",
          "The site also publishes Terms of Service dated 24 March 2022 at tryfinch.com/legal/terms, which cover the website and self-serve use, a DPA dated 7 August 2026 at /legal/dpa and a Service Level Description at /legal/sla.",
          "The privacy policy (effective 31 July 2025) gives the address 2261 Market Street #4127, San Francisco, CA 94114, and says Finch processes developer customers' end-user data only on their behalf.",
          "www.tryfinch.com/.well-known/security.txt and tryfinch.com/.well-known/security.txt return 404.",
          "The API answers at api.tryfinch.com and Finch Connect at connect.tryfinch.com.",
          "RDAP for tryfinch.com gives a registration date of 2020-03-30 and Squarespace Domains II LLC as registrar."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/finch.json",
      "live": {
        "slug": "finch",
        "probe": {
          "target": "https://api.tryfinch.com",
          "method": "get",
          "lastAt": "2026-10-09T00:10:28.108424104Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 453,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 452,
          "p95ms24h": 492,
          "samples24h": 72,
          "samples30d": 72,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 70,
              "ok": 70
            },
            {
              "date": "2026-10-09",
              "probes": 2,
              "ok": 2
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tryfinch.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T00:12:54.192736391Z"
        },
        "pages": [
          {
            "url": "https://developer.tryfinch.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:19.963606681Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eb779dc32931"
          },
          {
            "url": "https://www.tryfinch.com/legal/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:07.005025023Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "758462585b04"
          },
          {
            "url": "https://www.tryfinch.com/legal/msa",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:31:04.959158947Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b7122ac1b3ac"
          }
        ],
        "updatedAt": "2026-10-09T00:12:54.192736391Z"
      }
    },
    "answer": "Finch scores 71.6 (BB) on agent readiness against Zeal's 45.4 (E), and leads in every scored category.",
    "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-09T00:10:43.635143686Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 580,
          "authRequired": false,
          "uptime24h": 98.95,
          "uptime30d": 98.95,
          "p50ms24h": 596,
          "p95ms24h": 668,
          "samples24h": 95,
          "samples30d": 95,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 93,
              "ok": 92
            },
            {
              "date": "2026-10-09",
              "probes": 2,
              "ok": 2
            }
          ]
        },
        "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-09T00:10:43.635143686Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Profound Platform Inc. (dba Finch)",
        "b": "Puzzl Group Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.tryfinch.com",
        "b": "https://api.zeal.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Finch's Master Service Agreement. The SDKs and the MCP server on GitHub are Apache-2.0",
        "b": "Proprietary service. The npm SDK declares MIT. The SDK repositories on GitHub carry no licence file",
        "name": "Licence"
      },
      {
        "a": "2",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-05",
        "b": "2026-07-31",
        "name": "Last release"
      },
      {
        "a": "2026-08-07",
        "b": "2026-01-16",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "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": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "16k npm/wk, 26k PyPI/wk",
        "b": "0 stars, 8 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Finch scores 71.6 (BB) on agent readiness against Zeal's 45.4 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, Finch or Zeal?"
      },
      {
        "answer": "Finch uses an OAuth sign-in. Zeal needs an API key.",
        "question": "Do Finch and Zeal need an API key?"
      },
      {
        "answer": "Yes. Finch has a hosted endpoint at https://api.tryfinch.com and Zeal at https://api.zeal.com.",
        "question": "Can an agent call Finch and Zeal without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 84 against 42",
          "Schema \u0026 documentation, 87 against 68",
          "Agent ergonomics, 71 against 63",
          "Security \u0026 auth, 66 against 34",
          "Payments \u0026 pricing, 30 against 0",
          "Maintenance \u0026 community, 84 against 61",
          "Transparency \u0026 trust, 74 against 51"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "goodFor": "An application that needs to read employees, pay runs and pay statements from whatever payroll or HR system an employer already uses, or to write benefit deductions back.",
        "slug": "finch",
        "watchFor": "Finch cannot create, preview or approve a payroll. Writes are limited to deductions and contributions, on Pro and Premier plans"
      },
      {
        "aheadOn": null,
        "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-finch.json",
        "title": "Argyle vs Finch",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-finch"
      },
      {
        "json": "https://www.anchorterminal.com/compare/argyle-vs-zeal.json",
        "title": "Argyle vs Zeal",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-zeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/check-payroll-vs-finch.json",
        "title": "Check vs Finch",
        "url": "https://www.anchorterminal.com/compare/check-payroll-vs-finch"
      },
      {
        "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/everee-vs-finch.json",
        "title": "Everee vs Finch",
        "url": "https://www.anchorterminal.com/compare/everee-vs-finch"
      },
      {
        "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/finch-vs-paychex.json",
        "title": "Finch vs Paychex",
        "url": "https://www.anchorterminal.com/compare/finch-vs-paychex"
      },
      {
        "json": "https://www.anchorterminal.com/compare/finch-vs-salsa.json",
        "title": "Finch vs Salsa",
        "url": "https://www.anchorterminal.com/compare/finch-vs-salsa"
      },
      {
        "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": [
      {
        "by": 42,
        "edge": "finch",
        "finch": 84,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16,
        "zeal": 42
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "finch",
        "finch": 87,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "zeal": 68
      },
      {
        "by": 8,
        "edge": "finch",
        "finch": 71,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13,
        "zeal": 63
      },
      {
        "by": 32,
        "edge": "finch",
        "finch": 66,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14,
        "zeal": 34
      },
      {
        "by": 30,
        "edge": "finch",
        "finch": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "zeal": 0
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 23,
        "edge": "finch",
        "finch": 84,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "zeal": 61
      },
      {
        "by": 23,
        "edge": "finch",
        "finch": 74,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "zeal": 51
      }
    ],
    "summary": "Finch scores 71.6 (BB) on agent readiness against Zeal's 45.4 (E), and leads in every scored category. Both do payroll employees.",
    "verdicts": {
      "finch": "Graded on the REST API. An employer grants each connection named product permissions, and limits, error codes and a 99.9 per cent uptime SLA are published. Finch reads payroll and writes deductions but cannot run a payroll. Access tokens never expire, no idempotency keys were found, and writes and most providers need a sales-led plan.",
      "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/finch-vs-zeal",
    "json": "https://www.anchorterminal.com/compare/finch-vs-zeal.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/finch-vs-zeal.md",
    "slim": "https://www.anchorterminal.com/compare/finch-vs-zeal.min.md"
  },
  "markdown": "Finch scores 71.6 (BB) on agent readiness against Zeal's 45.4 (E), and leads in every scored category. Both do payroll employees.\n\n- Finch: grade BB, 71.6/100, rank #104 of 722. Markdown https://www.anchorterminal.com/tools/finch.md · JSON https://www.anchorterminal.com/api/v1/tools/finch.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### Finch (BB)\n\nGood for: An application that needs to read employees, pay runs and pay statements from whatever payroll or HR system an employer already uses, or to write benefit deductions back.\n\nAhead on:\n- Reliability, 84 against 42\n- Schema \u0026 documentation, 87 against 68\n- Agent ergonomics, 71 against 63\n- Security \u0026 auth, 66 against 34\n- Payments \u0026 pricing, 30 against 0\n- Maintenance \u0026 community, 84 against 61\n- Transparency \u0026 trust, 74 against 51\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n\nWatch for: Finch cannot create, preview or approve a payroll. Writes are limited to deductions and contributions, on Pro and Premier plans\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\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 | Finch | Zeal | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 84 | 42 | Finch +42 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 68 | Finch +19 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 63 | Finch +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 34 | Finch +32 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 0 | Finch +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 84 | 61 | Finch +23 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 51 | Finch +23 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **71.6 · BB** | **45.4 · E** | |\n\n## Facts side by side\n\n| Fact | Finch | Zeal |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Profound Platform Inc. (dba Finch) | Puzzl Group Inc. |\n| Hosted endpoint | `https://api.tryfinch.com` | `https://api.zeal.com` |\n| Transports | HTTP, stdio | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Finch's Master Service Agreement. The SDKs and the MCP server on GitHub are Apache-2.0 | Proprietary service. The npm SDK declares MIT. The SDK repositories on GitHub carry no licence file |\n| Tools exposed | 2 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-05 | 2026-07-31 |\n| Terms last updated | 2026-08-07 | 2026-01-16 |\n| Privacy policy last updated | no date given | 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 | not found in the text | not found in the text |\n| Popularity | 16k npm/wk, 26k PyPI/wk | 0 stars, 8 npm/wk |\n\n## Verdicts\n\n**Finch.** Graded on the REST API. An employer grants each connection named product permissions, and limits, error codes and a 99.9 per cent uptime SLA are published. Finch reads payroll and writes deductions but cannot run a payroll. Access tokens never expire, no idempotency keys were found, and writes and most providers need a sales-led plan.\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### Finch\n\n1. Send `Finch-API-Version: 2020-09-17` and `Authorization: Bearer \u003caccess_token\u003e` on every request. A request without the version header fails with 400\n2. Call GET /introspect first to see the connection's products, status and whether it is automated or assisted before choosing endpoints\n3. Treat a 202 response as data not ready, not as data. Retry with backoff, and expect up to 14 days for an assisted connection's first sync\n4. Stay under 20 requests a minute on organisation endpoints and 12 on pay endpoints across all tokens. Batch IDs, and on 429 wait 60 seconds\n5. After a deduction write, poll the job by `job_id` until it completes before enrolling individuals. Enrolment overwrites an existing enrolment\n6. Start the MCP server with `--code-allow-http-gets` or a token without the benefits product when only reads are intended\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, Finch or Zeal?\n\nFinch scores 71.6 (BB) on agent readiness against Zeal's 45.4 (E), and leads in every scored category.\n\n### Do Finch and Zeal need an API key?\n\nFinch uses an OAuth sign-in. Zeal needs an API key.\n\n### Can an agent call Finch and Zeal without installing anything?\n\nYes. Finch has a hosted endpoint at https://api.tryfinch.com and Zeal at https://api.zeal.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/finch-vs-zeal.json, and with the fewest tokens: https://www.anchorterminal.com/compare/finch-vs-zeal.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"finch\", \"b\": \"zeal\"}`. From a terminal: `anchor compare finch zeal`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/finch.json and https://www.anchorterminal.com/api/v1/tools/zeal.json\n\n## Other comparisons with Finch or Zeal\n\n- [Argyle vs Finch](https://www.anchorterminal.com/compare/argyle-vs-finch.md)\n- [Argyle vs Zeal](https://www.anchorterminal.com/compare/argyle-vs-zeal.md)\n- [Check vs Finch](https://www.anchorterminal.com/compare/check-payroll-vs-finch.md)\n- [Employment Hero Payroll vs Finch](https://www.anchorterminal.com/compare/employment-hero-vs-finch.md)\n- [Everee vs Finch](https://www.anchorterminal.com/compare/everee-vs-finch.md)\n- [Finch vs Gusto](https://www.anchorterminal.com/compare/finch-vs-gusto.md)\n- [Finch vs Paychex](https://www.anchorterminal.com/compare/finch-vs-paychex.md)\n- [Finch vs Salsa](https://www.anchorterminal.com/compare/finch-vs-salsa.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-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": "Finch vs Zeal",
        "url": ""
      }
    ],
    "description": "Finch scores 71.6 (BB) on agent readiness against Zeal's 45.4 (E), and leads in every scored category. Both do payroll employees. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Finch BB 71.6",
      "Zeal E 45.4",
      "scores"
    ],
    "h1": "Finch vs Zeal",
    "image": "https://www.anchorterminal.com/assets/og/compare-finch-vs-zeal.png",
    "path": "/compare/finch-vs-zeal",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Finch vs Zeal for AI agents, BB 71.6 vs E 45.4 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/finch-vs-zeal"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 680
  },
  "version": 1
}
