{
  "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-08T23:26:31.572605373Z",
          "lastOk": true,
          "lastStatus": 400,
          "lastMs": 468,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 451,
          "p95ms24h": 492,
          "samples24h": 64,
          "samples30d": 64,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 64,
              "ok": 64
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tryfinch.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T23:23:59.299157152Z"
        },
        "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-08T23:26:31.572605373Z"
      }
    },
    "answer": "Finch scores 71.6 (BB) on agent readiness against Salsa's 46.1 (D), and leads in every scored category.",
    "b": {
      "slug": "salsa",
      "name": "Salsa",
      "vendor": "Salsa Software Inc.",
      "vendorUrl": "https://www.salsa.dev",
      "kind": "http-api",
      "category": "payroll",
      "summary": "Embedded payroll from Salsa Software Inc. for software platforms. A partner's backend onboards employers and workers, sends pay data, previews and confirms payroll runs and reads pay statements through a REST API, while Salsa files taxes and moves money.",
      "url": "https://www.anchorterminal.com/tools/salsa",
      "markdownUrl": "https://www.anchorterminal.com/tools/salsa.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/salsa.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/salsa.json",
      "license": "Proprietary service. The website Terms of Use are public and the partner agreement isn't. The browser library @salsa-payroll/salsa-js on npm is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.salsa.dev/api/rest/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@salsa-payroll/salsa-js"
        }
      ],
      "auth": "api-key",
      "authNotes": "A partner receives two bearer API tokens from Salsa after a sales contact, one for the sandbox and one for production. The docs say these tokens grant many privileges. From them a backend mints user tokens (JWT) at POST /api/rest/v1/auth/token, each with one of 12 roles in three tiers (basic, admin, super-admin, with onboarding variants), a list of up to 125 employers and a lifetime of 60 minutes by default, or up to 30 days for onboarding roles. Role limits are enforced at the API. No self-serve key page or key rotation procedure was found in the docs. This is embedded-payroll partner access. Salsa has no route into an employer's existing payroll account at another provider.",
      "pricing": "paid",
      "pricingNotes": "No public prices. salsa.dev has no pricing page (www.salsa.dev/pricing returns 404) and access starts with a contact form. The sandbox is issued by Salsa on request, so an agent can't start without a person contacting sales, and no free tier or trial was found. A Usage API reports confirmed payroll runs, worker payments, workers paid and tax filings per employer so a partner can bill its own customers, with no unit price published (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the OpenAPI spec or the website (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 435,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.salsa.dev",
      "llmsTxt": "https://docs.salsa.dev/llms.txt",
      "openapi": "https://docs.salsa.dev/openapi/salsadev.yaml",
      "capabilities": [
        "payroll.run",
        "payroll.embedded",
        "payroll.employees",
        "payroll.tax-filing",
        "payroll.contractors"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "sales-led",
        "partner-access",
        "soc2"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.1,
        "grade": "D",
        "agentReady": false,
        "rank": 651,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 48,
          "maintenance": 50,
          "payments": 5,
          "reliability": 36,
          "schema": 73,
          "security": 56,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Salsa is reached as an embedded-payroll partner, not through an employer's existing payroll account. The REST API has a public OpenAPI 3.1 spec with 123 operations, a payroll preview, a separate confirm step and short-lived user tokens limited by role. Access starts with a sales conversation, and no public price, self-serve sandbox, status page or API changelog was found.",
        "bestFor": "A software platform that wants to sell payroll to its own business customers and can sign a partner agreement, with Salsa handling tax filing and money movement.",
        "strengths": [
          "Public OpenAPI 3.1 spec with 123 operations and 78 webhook events, last modified 7 October 2026, plus llms.txt and a Markdown copy of every docs page",
          "A payroll run is previewed, created as PENDING and paid only after a separate confirm call. A pending run can be deleted",
          "User tokens last 60 minutes by default, carry one of 12 roles in three tiers and name the employers they cover",
          "Audit entries record who changed what and when, with the actor shown as a user, an API client or the system",
          "Sandbox at api.sandbox.salsa.dev with mock-onboard endpoints that fill in employer and worker details for tests"
        ],
        "weaknesses": [
          "API tokens come from Salsa after a sales contact. No self-serve signup, public price, free tier or trial was found",
          "No status page, SLA, API changelog or deprecation policy was found on salsa.dev or docs.salsa.dev",
          "No Idempotency-Key header. The rate-limit page names 429 with no Retry-After or backoff guidance",
          "No server-side SDK. The only official package is the browser library Salsa.js, last published on 11 December 2025",
          "The signup link used across the docs, www.salsa.dev/get-a-demo, returned 404 on 8 October 2026",
          "No security.txt, disclosure policy, DPA or subprocessor list was found. SOC 2 Type 2 appears only as a badge image"
        ],
        "agentNotes": [
          "Use the sandbox token against https://api.sandbox.salsa.dev and the production token against https://api.salsa.dev. Each environment has its own token",
          "Call POST /payroll-runs/preview before creating a run, then confirm the PENDING run in a separate call. Confirming starts the employer debit",
          "Send your own externalId on every create. A repeat returns a uniqueness error, which is the only duplicate protection",
          "Make sure externalId values are unique across all employers, since each entity type has one namespace",
          "Mint a user token with the lowest role and the fewest employerIds the task needs, and keep the partner token on the server"
        ],
        "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": 46.1
          }
        ],
        "editorialScores": {
          "ergonomics": 48,
          "maintenance": 50,
          "payments": 5,
          "reliability": 36,
          "schema": 73,
          "security": 56,
          "transparency": 31
        },
        "provenanceScore": 70
      },
      "connect": {
        "http": "curl --location --request GET 'https://api.sandbox.salsa.dev/api/rest/v1/partner-pay-types' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer ${YOUR_API_TOKEN}'"
      },
      "letme": {
        "capability": "https://letme.dev/payroll.run",
        "tool": "https://letme.dev/salsa"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Salsa Software Inc.",
        "domain": "salsa.dev",
        "domainRegistered": "2021-08-06",
        "endpointOnVendorDomain": true,
        "terms": "https://www.salsa.dev/terms-of-use",
        "privacy": "https://www.salsa.dev/privacy-policy",
        "statusPage": "",
        "changelog": "https://www.salsa.dev/blog-category/product-updates",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The privacy policy (last modified 24 September 2025) names Salsa Software Inc., 169 Madison Ave #38368, New York, NY 10016, and says it doesn't cover data processed on behalf of platforms, which is governed by Salsa's agreements with them.",
          "The Terms of Use are dated 7 April 2022 and governed by California law. The partner agreement that covers API use isn't public.",
          "www.salsa.dev/.well-known/security.txt and docs.salsa.dev/.well-known/security.txt return 404.",
          "No status page is linked from salsa.dev or docs.salsa.dev. status.salsa.dev didn't connect. salsa.statuspage.io exists with two components marked \"(example)\" and a last update of 4 November 2022, and nothing ties it to this company.",
          "The changelog link is the product updates category of the blog, whose newest entry is 11 February 2026. docs.salsa.dev/changelog returns 404.",
          "RDAP for salsa.dev gives a registration date of 2021-08-06 and Squarespace Domains II LLC as registrar."
        ],
        "score": 70
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/salsa.json",
      "live": {
        "slug": "salsa",
        "probe": {
          "target": "https://api.salsa.dev/api/rest/v1",
          "method": "get",
          "lastAt": "2026-10-08T23:26:43.292359397Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 480,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 450,
          "p95ms24h": 512,
          "samples24h": 87,
          "samples30d": 87,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 87,
              "ok": 87
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@salsa-payroll/salsa-js",
            "version": "0.3.0",
            "seenAt": "2026-10-08T16:28:07.049435331Z"
          }
        ],
        "npmWeekly": 435,
        "securityTxt": {
          "url": "https://salsa.dev/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:49.425969804Z"
        },
        "pages": [
          {
            "url": "https://www.salsa.dev/blog-category/product-updates",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:07.056601151Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6c036ec0ed44"
          },
          {
            "url": "https://www.salsa.dev/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:09.140715304Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "08a0e2898a35"
          },
          {
            "url": "https://www.salsa.dev/terms-of-use",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:30:11.191316869Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "3bb24864bd0f"
          }
        ],
        "updatedAt": "2026-10-08T23:26:43.292359397Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Profound Platform Inc. (dba Finch)",
        "b": "Salsa Software Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.tryfinch.com",
        "b": "https://api.salsa.dev/api/rest/v1",
        "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 website Terms of Use are public and the partner agreement isn't. The browser library @salsa-payroll/salsa-js on npm is MIT",
        "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-10-07",
        "name": "Last release"
      },
      {
        "a": "2026-08-07",
        "b": "2022-04-07",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2025-09-24",
        "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": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "16k npm/wk, 26k PyPI/wk",
        "b": "435 npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Finch scores 71.6 (BB) on agent readiness against Salsa's 46.1 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Finch or Salsa?"
      },
      {
        "answer": "Finch uses an OAuth sign-in. Salsa needs an API key.",
        "question": "Do Finch and Salsa need an API key?"
      },
      {
        "answer": "Yes. Finch has a hosted endpoint at https://api.tryfinch.com and Salsa at https://api.salsa.dev/api/rest/v1.",
        "question": "Can an agent call Finch and Salsa without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 84 against 36",
          "Schema \u0026 documentation, 87 against 73",
          "Agent ergonomics, 71 against 48",
          "Security \u0026 auth, 66 against 56",
          "Payments \u0026 pricing, 30 against 5",
          "Maintenance \u0026 community, 84 against 50",
          "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 software platform that wants to sell payroll to its own business customers and can sign a partner agreement, with Salsa handling tax filing and money movement.",
        "slug": "salsa",
        "watchFor": "API tokens come from Salsa after a sales contact. No self-serve signup, public price, free tier or trial was found"
      }
    ],
    "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-salsa.json",
        "title": "Argyle vs Salsa",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-salsa"
      },
      {
        "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-zeal.json",
        "title": "Finch vs Zeal",
        "url": "https://www.anchorterminal.com/compare/finch-vs-zeal"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paychex-vs-salsa.json",
        "title": "Paychex vs Salsa",
        "url": "https://www.anchorterminal.com/compare/paychex-vs-salsa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/check-payroll-vs-salsa.json",
        "title": "Check vs Salsa",
        "url": "https://www.anchorterminal.com/compare/check-payroll-vs-salsa"
      },
      {
        "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/everee-vs-salsa.json",
        "title": "Everee vs Salsa",
        "url": "https://www.anchorterminal.com/compare/everee-vs-salsa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gusto-vs-salsa.json",
        "title": "Gusto vs Salsa",
        "url": "https://www.anchorterminal.com/compare/gusto-vs-salsa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salsa-vs-zeal.json",
        "title": "Salsa vs Zeal",
        "url": "https://www.anchorterminal.com/compare/salsa-vs-zeal"
      }
    ],
    "scores": [
      {
        "by": 48,
        "edge": "finch",
        "finch": 84,
        "key": "reliability",
        "name": "Reliability",
        "salsa": 36,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 14,
        "edge": "finch",
        "finch": 87,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "salsa": 73,
        "weight": 13
      },
      {
        "by": 23,
        "edge": "finch",
        "finch": 71,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "salsa": 48,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "finch",
        "finch": 66,
        "key": "security",
        "name": "Security \u0026 auth",
        "salsa": 56,
        "weight": 14
      },
      {
        "by": 25,
        "edge": "finch",
        "finch": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "salsa": 5,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "edge": "finch",
        "finch": 84,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "salsa": 50,
        "weight": 7
      },
      {
        "by": 23,
        "edge": "finch",
        "finch": 74,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "salsa": 51,
        "weight": 7
      }
    ],
    "summary": "Finch scores 71.6 (BB) on agent readiness against Salsa's 46.1 (D), 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.",
      "salsa": "Salsa is reached as an embedded-payroll partner, not through an employer's existing payroll account. The REST API has a public OpenAPI 3.1 spec with 123 operations, a payroll preview, a separate confirm step and short-lived user tokens limited by role. Access starts with a sales conversation, and no public price, self-serve sandbox, status page or API changelog was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/finch-vs-salsa",
    "json": "https://www.anchorterminal.com/compare/finch-vs-salsa.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/finch-vs-salsa.md",
    "slim": "https://www.anchorterminal.com/compare/finch-vs-salsa.min.md"
  },
  "markdown": "Finch scores 71.6 (BB) on agent readiness against Salsa's 46.1 (D), 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- Salsa: grade D, 46.1/100, rank #651 of 722. Markdown https://www.anchorterminal.com/tools/salsa.md · JSON https://www.anchorterminal.com/api/v1/tools/salsa.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 36\n- Schema \u0026 documentation, 87 against 73\n- Agent ergonomics, 71 against 48\n- Security \u0026 auth, 66 against 56\n- Payments \u0026 pricing, 30 against 5\n- Maintenance \u0026 community, 84 against 50\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### Salsa (D)\n\nGood for: A software platform that wants to sell payroll to its own business customers and can sign a partner agreement, with Salsa handling tax filing and money movement.\n\nWatch for: API tokens come from Salsa after a sales contact. No self-serve signup, public price, free tier or trial was found\n\n\n## Score by category\n\n| Category | Weight | Finch | Salsa | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 84 | 36 | Finch +48 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 87 | 73 | Finch +14 |\n| Agent ergonomics | 13% (16.2 this run) | 71 | 48 | Finch +23 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 56 | Finch +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 5 | Finch +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 84 | 50 | Finch +34 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 51 | Finch +23 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **71.6 · BB** | **46.1 · D** | |\n\n## Facts side by side\n\n| Fact | Finch | Salsa |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Profound Platform Inc. (dba Finch) | Salsa Software Inc. |\n| Hosted endpoint | `https://api.tryfinch.com` | `https://api.salsa.dev/api/rest/v1` |\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 website Terms of Use are public and the partner agreement isn't. The browser library @salsa-payroll/salsa-js on npm is MIT |\n| Tools exposed | 2 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-05 | 2026-10-07 |\n| Terms last updated | 2026-08-07 | 2022-04-07 |\n| Privacy policy last updated | no date given | 2025-09-24 |\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 | yes |\n| Popularity | 16k npm/wk, 26k PyPI/wk | 435 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**Salsa.** Salsa is reached as an embedded-payroll partner, not through an employer's existing payroll account. The REST API has a public OpenAPI 3.1 spec with 123 operations, a payroll preview, a separate confirm step and short-lived user tokens limited by role. Access starts with a sales conversation, and no public price, self-serve sandbox, status page or API 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### Salsa\n\n1. Use the sandbox token against https://api.sandbox.salsa.dev and the production token against https://api.salsa.dev. Each environment has its own token\n2. Call POST /payroll-runs/preview before creating a run, then confirm the PENDING run in a separate call. Confirming starts the employer debit\n3. Send your own externalId on every create. A repeat returns a uniqueness error, which is the only duplicate protection\n4. Make sure externalId values are unique across all employers, since each entity type has one namespace\n5. Mint a user token with the lowest role and the fewest employerIds the task needs, and keep the partner token on the server\n\n## Questions\n\n### Which is better for AI agents, Finch or Salsa?\n\nFinch scores 71.6 (BB) on agent readiness against Salsa's 46.1 (D), and leads in every scored category.\n\n### Do Finch and Salsa need an API key?\n\nFinch uses an OAuth sign-in. Salsa needs an API key.\n\n### Can an agent call Finch and Salsa without installing anything?\n\nYes. Finch has a hosted endpoint at https://api.tryfinch.com and Salsa at https://api.salsa.dev/api/rest/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/finch-vs-salsa.json, and with the fewest tokens: https://www.anchorterminal.com/compare/finch-vs-salsa.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"finch\", \"b\": \"salsa\"}`. From a terminal: `anchor compare finch salsa`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/finch.json and https://www.anchorterminal.com/api/v1/tools/salsa.json\n\n## Other comparisons with Finch or Salsa\n\n- [Argyle vs Finch](https://www.anchorterminal.com/compare/argyle-vs-finch.md)\n- [Argyle vs Salsa](https://www.anchorterminal.com/compare/argyle-vs-salsa.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 Zeal](https://www.anchorterminal.com/compare/finch-vs-zeal.md)\n- [Paychex vs Salsa](https://www.anchorterminal.com/compare/paychex-vs-salsa.md)\n- [Check vs Salsa](https://www.anchorterminal.com/compare/check-payroll-vs-salsa.md)\n- [Employment Hero Payroll vs Salsa](https://www.anchorterminal.com/compare/employment-hero-vs-salsa.md)\n- [Everee vs Salsa](https://www.anchorterminal.com/compare/everee-vs-salsa.md)\n- [Gusto vs Salsa](https://www.anchorterminal.com/compare/gusto-vs-salsa.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": "Finch vs Salsa",
        "url": ""
      }
    ],
    "description": "Finch scores 71.6 (BB) on agent readiness against Salsa's 46.1 (D), 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",
      "Salsa D 46.1",
      "scores"
    ],
    "h1": "Finch vs Salsa",
    "image": "https://www.anchorterminal.com/assets/og/compare-finch-vs-salsa.png",
    "path": "/compare/finch-vs-salsa",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Finch vs Salsa for AI agents, BB 71.6 vs D 46.1 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/finch-vs-salsa"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 730
  },
  "version": 1
}
