{
  "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": 377,
        "ranked": true,
        "rankOf": 950,
        "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-10T01:37:43.270792908Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 222,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 209,
          "p95ms24h": 322,
          "samples24h": 250,
          "samples30d": 317,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 17,
              "ok": 17
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.argyle.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T01:33:21.588590244Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "argyle-systems/argyle-link-react-native",
            "version": "5.15.5",
            "released": "2026-05-13",
            "seenAt": "2026-10-09T16:40:13.895729456Z"
          },
          {
            "registry": "npm",
            "name": "@argyleio/argyle-plugin-react-native",
            "version": "5.15.5",
            "seenAt": "2026-10-09T16:40:12.953939746Z"
          }
        ],
        "githubStars": 7,
        "npmWeekly": 467,
        "securityTxt": {
          "url": "https://argyle.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-05-07T00:00:00.000Z",
          "checkedAt": "2026-10-09T15:40:16.564411221Z"
        },
        "llmsTxt": {
          "url": "https://docs.argyle.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:01:26.44244385Z"
        },
        "pages": [
          {
            "url": "https://changelog.argyle.com",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:41.401396473Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fcff96e23a50"
          },
          {
            "url": "https://www.argyle.com/legal/consumers/privacy-notice",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:48:11.100895035Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5cde57fa17d1"
          },
          {
            "url": "https://www.argyle.com/legal/open-payroll/customer-terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:48:13.15889004Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0e7567b0f119"
          }
        ],
        "updatedAt": "2026-10-10T01:37:43.270792908Z"
      }
    },
    "answer": "Argyle scores 63.7 (B) on agent readiness against PayFit's 55.5 (C), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "payfit",
      "name": "PayFit",
      "vendor": "PayFit SAS",
      "vendorUrl": "https://payfit.com",
      "kind": "http-api",
      "category": "payroll",
      "summary": "PayFit is payroll and HR software for small and mid-sized employers in France, the United Kingdom and Spain. Its Partner API reads employees, contracts, payslips, absences and accounting exports, with a customer API key or partner OAuth.",
      "url": "https://www.anchorterminal.com/tools/payfit",
      "markdownUrl": "https://www.anchorterminal.com/tools/payfit.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/payfit.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/payfit.json",
      "license": "Proprietary service under PayFit's general terms of service",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "mixed",
      "authNotes": "Two routes. A customer's company admin creates an API key in the PayFit app at app.payfit.com/integrations/hub/api, picks its scopes, and sees it once. It is sent as a Bearer token and reaches that company only. Partners use the OAuth 2.0 authorisation code grant at oauth.payfit.com with a client ID and secret that PayFit issues after reviewing the use case, and the scopes a partner may request are fixed at approval. The partner guides say PayFit is temporarily not accepting new integration requests.",
      "pricing": "paid",
      "pricingNotes": "No charge for API calls was found. Access comes with a PayFit subscription. In France the API is included from the Paie avancée plan, listed at 27 € a collaborator a month plus a 49 € monthly subscription for 1 to 3 collaborators, before tax. The UK site lists no prices and sends buyers to a demo, and its contract appendix includes API access in the Payroll Core plan. The French site links a free signup and a first month free until 31 October 2026. Whether signup needs a card was not established. A sandbox company is given only to accepted partners (checked 2026-10-09).",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API guides, the OpenAPI file or the French pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://developers.payfit.io/",
      "llmsTxt": "https://developers.payfit.io/llms.txt",
      "openapi": "https://developers.payfit.io/openapi/partner-api.json",
      "capabilities": [
        "payroll.employees",
        "hr.time-off",
        "hr.employees"
      ],
      "tags": [
        "hosted",
        "payroll",
        "hr",
        "api-key",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "france",
        "uk",
        "spain",
        "status-page",
        "iso-27001"
      ],
      "lastRelease": "2026-07-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 55.5,
        "grade": "C",
        "agentReady": false,
        "rank": 656,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 51,
          "maintenance": 28,
          "payments": 10,
          "reliability": 79,
          "schema": 78,
          "security": 51,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.0 file, llms.txt and scoped keys let a paying customer's agent read payroll outputs and write absences. The API cannot run or approve a payroll, new partner integrations are not being accepted, and no idempotency keys or SDKs were found.",
        "bestFor": "An agent working for an employer that already runs payroll on PayFit in France, the UK or Spain and needs employees, contracts, payslips, absences or the payroll journal.",
        "strengths": [
          "Public OpenAPI 3.0 file with 31 operations, each documenting 400, 401, 403 and 404 responses with an example",
          "llms.txt and a Markdown twin for every guide, reference and changelog page",
          "Customer API keys and partner OAuth tokens are limited to chosen scopes from 22, with read and write separate",
          "Rate limits are published as 50 read and 20 write requests a second, with `X-RateLimit` headers on responses",
          "The contract appendix of 15 June 2026 lists sub-processors by purpose and region, and the security page states hosting in France"
        ],
        "weaknesses": [
          "No operation runs, previews or approves a payroll. The API reads payroll status, payslips and accounting exports",
          "The partner guides say PayFit is temporarily not accepting new integration requests, with no reopening date",
          "The webhook guide documents a call that sends `clientSecret` and `clientId` in the URL query string",
          "No idempotency keys, no official SDK and no MCP server were found in the reviewed documentation",
          "Fifteen of 31 operations are France-only and two are UK-only, including contract creation and both accounting exports"
        ],
        "agentNotes": [
          "Have a company admin create the key at app.payfit.com/integrations/hub/api with only the scopes the task needs. The key is shown once",
          "POST the key to `https://oauth.payfit.com/introspect` to get `company_id`, then call `https://partner-api.payfit.com/companies/{companyId}/...`",
          "Page lists with `nextPageToken` and `maxResults`, which defaults to 10 and stops at 50",
          "Check before repeating a failed POST. There is no idempotency key, and `POST /absences` creates an absence that is already validated",
          "A collaborator or contract created through the API stays incomplete until an HR admin finishes it in the PayFit app, and a new contract takes 2 to 5 minutes to appear"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 55.5
          }
        ],
        "editorialScores": {
          "ergonomics": 51,
          "maintenance": 28,
          "payments": 10,
          "reliability": 79,
          "schema": 78,
          "security": 51,
          "transparency": 56
        },
        "provenanceScore": 84
      },
      "connect": {
        "http": "curl --request GET --url https://partner-api.payfit.com/companies/{companyId} --header 'Authorization: Bearer YOUR-API-KEY'"
      },
      "letme": {
        "capability": "https://letme.dev/payroll.employees",
        "tool": "https://letme.dev/payfit"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "PayFit SAS",
        "domain": "payfit.com",
        "domainRegistered": "2006-11-17",
        "endpointOnVendorDomain": true,
        "terms": "https://payfit.com/general-terms-of-service/",
        "privacy": "https://payfit.com/privacy-policy/",
        "statusPage": "https://status.payfit.com",
        "changelog": "https://developers.payfit.io/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The French general conditions (last updated 8 September 2026) name Payfit, a société par actions simplifiée registered in Paris under number 813 487 899, at 37-39 avenue Trudaine, 75009 Paris.",
          "The linked terms and privacy policy are the English ones, both last updated 15 June 2026. They name Payfit Ltd, registered in England and Wales under number 11623900, which contracts with UK clients. French clients contract under https://payfit.com/fr/conditions-generales-de-services/.",
          "No separate API terms were found. Clause 1.4 of the terms covers third-party services connected through the Payfit API, and the appendix lists access to the API as a plan item.",
          "The API answers at partner-api.payfit.com and OAuth at oauth.payfit.com. The documentation is on developers.payfit.io, a second domain.",
          "https://payfit.com/.well-known/security.txt returned 404. The security contact page gives security@payfit.com and a PGP key whose stated expiry is 27 August 2026.",
          "RDAP for payfit.com gives a registration date of 2006-11-17 and Gandi SAS as registrar."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/payfit.json",
      "live": {
        "slug": "payfit",
        "vendorStatus": {
          "page": "https://status.payfit.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:07.656388577Z"
        },
        "pages": [
          {
            "url": "https://developers.payfit.io/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:36:07.999420808Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1d2fd9ebd502"
          },
          {
            "url": "https://payfit.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:03.382729135Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "99ea5438a60b"
          },
          {
            "url": "https://payfit.com/general-terms-of-service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:43:01.261262581Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "816c4583c340"
          }
        ],
        "updatedAt": "2026-10-10T00:51:07.656388577Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Argyle Systems Inc.",
        "b": "PayFit SAS",
        "name": "Vendor"
      },
      {
        "a": "https://api.argyle.com/v2",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or 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 under PayFit's general terms of service",
        "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-23",
        "name": "Last release"
      },
      {
        "a": "2026-10-01",
        "b": "2026-06-15",
        "name": "Terms last updated"
      },
      {
        "a": "2026-10-01",
        "b": "2026-06-15",
        "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": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "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": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Argyle scores 63.7 (B) on agent readiness against PayFit's 55.5 (C), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Argyle or PayFit?"
      },
      {
        "answer": "Argyle needs an API key. PayFit takes an API key or an OAuth sign-in.",
        "question": "Do Argyle and PayFit need an API key?"
      },
      {
        "answer": "Argyle has a hosted endpoint at https://api.argyle.com/v2. No hosted endpoint is listed for PayFit.",
        "question": "Can an agent call Argyle and PayFit without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 86 against 78",
          "Agent ergonomics, 58 against 51",
          "Payments \u0026 pricing, 15 against 10",
          "Maintenance \u0026 community, 75 against 28",
          "Transparency \u0026 trust, 83 against 70"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "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": null,
        "also": null,
        "goodFor": "An agent working for an employer that already runs payroll on PayFit in France, the UK or Spain and needs employees, contracts, payslips, absences or the payroll journal.",
        "slug": "payfit",
        "watchFor": "No operation runs, previews or approves a payroll. The API reads payroll status, payslips and accounting exports"
      }
    ],
    "job": {
      "capability": "payroll.employees",
      "name": "Payroll records"
    },
    "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/argyle-vs-worklio.json",
        "title": "Argyle vs Worklio",
        "url": "https://www.anchorterminal.com/compare/argyle-vs-worklio"
      },
      {
        "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-payfit.json",
        "title": "Check vs PayFit",
        "url": "https://www.anchorterminal.com/compare/check-payroll-vs-payfit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/employment-hero-vs-payfit.json",
        "title": "Employment Hero Payroll vs PayFit",
        "url": "https://www.anchorterminal.com/compare/employment-hero-vs-payfit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/everee-vs-payfit.json",
        "title": "Everee vs PayFit",
        "url": "https://www.anchorterminal.com/compare/everee-vs-payfit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/finch-vs-payfit.json",
        "title": "Finch vs PayFit",
        "url": "https://www.anchorterminal.com/compare/finch-vs-payfit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gusto-vs-payfit.json",
        "title": "Gusto vs PayFit",
        "url": "https://www.anchorterminal.com/compare/gusto-vs-payfit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/paychex-vs-payfit.json",
        "title": "Paychex vs PayFit",
        "url": "https://www.anchorterminal.com/compare/paychex-vs-payfit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/payfit-vs-salsa.json",
        "title": "PayFit vs Salsa",
        "url": "https://www.anchorterminal.com/compare/payfit-vs-salsa"
      },
      {
        "json": "https://www.anchorterminal.com/compare/payfit-vs-worklio.json",
        "title": "PayFit vs Worklio",
        "url": "https://www.anchorterminal.com/compare/payfit-vs-worklio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/payfit-vs-zeal.json",
        "title": "PayFit vs Zeal",
        "url": "https://www.anchorterminal.com/compare/payfit-vs-zeal"
      }
    ],
    "scores": [
      {
        "argyle": 81,
        "by": 2,
        "edge": "argyle",
        "key": "reliability",
        "name": "Reliability",
        "payfit": 79,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "argyle": 86,
        "by": 8,
        "edge": "argyle",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "payfit": 78,
        "weight": 13
      },
      {
        "argyle": 58,
        "by": 7,
        "edge": "argyle",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "payfit": 51,
        "weight": 13
      },
      {
        "argyle": 48,
        "by": 3,
        "edge": "payfit",
        "key": "security",
        "name": "Security \u0026 auth",
        "payfit": 51,
        "weight": 14
      },
      {
        "argyle": 15,
        "by": 5,
        "edge": "argyle",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "payfit": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "argyle": 75,
        "by": 47,
        "edge": "argyle",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "payfit": 28,
        "weight": 7
      },
      {
        "argyle": 83,
        "by": 13,
        "edge": "argyle",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "payfit": 70,
        "weight": 7
      }
    ],
    "summary": "Argyle scores 63.7 (B) on agent readiness against PayFit's 55.5 (C), and leads in 6 of 7 scored categories. Both do payroll records.",
    "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.",
      "payfit": "A public OpenAPI 3.0 file, llms.txt and scoped keys let a paying customer's agent read payroll outputs and write absences. The API cannot run or approve a payroll, new partner integrations are not being accepted, and no idempotency keys or SDKs were found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/argyle-vs-payfit",
    "json": "https://www.anchorterminal.com/compare/argyle-vs-payfit.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/argyle-vs-payfit.md",
    "slim": "https://www.anchorterminal.com/compare/argyle-vs-payfit.min.md"
  },
  "markdown": "Argyle scores 63.7 (B) on agent readiness against PayFit's 55.5 (C), and leads in 6 of 7 scored categories. Both do payroll records.\n\n- Argyle: grade B, 63.7/100, rank #377 of 950. Markdown https://www.anchorterminal.com/tools/argyle.md · JSON https://www.anchorterminal.com/api/v1/tools/argyle.json\n- PayFit: grade C, 55.5/100, rank #656 of 950. Markdown https://www.anchorterminal.com/tools/payfit.md · JSON https://www.anchorterminal.com/api/v1/tools/payfit.json\n- Best payroll APIs and embedded payroll for AI agents: https://www.anchorterminal.com/best/payroll/index.md\n- All 55 payroll comparisons: https://www.anchorterminal.com/compare/payroll/index.md\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- Schema \u0026 documentation, 86 against 78\n- Agent ergonomics, 58 against 51\n- Payments \u0026 pricing, 15 against 10\n- Maintenance \u0026 community, 75 against 28\n- Transparency \u0026 trust, 83 against 70\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\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### PayFit (C)\n\nGood for: An agent working for an employer that already runs payroll on PayFit in France, the UK or Spain and needs employees, contracts, payslips, absences or the payroll journal.\n\nWatch for: No operation runs, previews or approves a payroll. The API reads payroll status, payslips and accounting exports\n\n\n## Score by category\n\n| Category | Weight | Argyle | PayFit | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 81 | 79 | Argyle +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 86 | 78 | Argyle +8 |\n| Agent ergonomics | 13% (16.2 this run) | 58 | 51 | Argyle +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 48 | 51 | PayFit +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 10 | Argyle +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 75 | 28 | Argyle +47 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 83 | 70 | Argyle +13 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.7 · B** | **55.5 · C** | |\n\n## Facts side by side\n\n| Fact | Argyle | PayFit |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Argyle Systems Inc. | PayFit SAS |\n| Hosted endpoint | `https://api.argyle.com/v2` | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth or 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 under PayFit's general terms of service |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-01 | 2026-07-23 |\n| Terms last updated | 2026-10-01 | 2026-06-15 |\n| Privacy policy last updated | 2026-10-01 | 2026-06-15 |\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 | not found in the text |\n| Terms restrict benchmarking | yes | yes |\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 | none |\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**PayFit.** A public OpenAPI 3.0 file, llms.txt and scoped keys let a paying customer's agent read payroll outputs and write absences. The API cannot run or approve a payroll, new partner integrations are not being accepted, and no idempotency keys or SDKs were 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### PayFit\n\n1. Have a company admin create the key at app.payfit.com/integrations/hub/api with only the scopes the task needs. The key is shown once\n2. POST the key to `https://oauth.payfit.com/introspect` to get `company_id`, then call `https://partner-api.payfit.com/companies/{companyId}/...`\n3. Page lists with `nextPageToken` and `maxResults`, which defaults to 10 and stops at 50\n4. Check before repeating a failed POST. There is no idempotency key, and `POST /absences` creates an absence that is already validated\n5. A collaborator or contract created through the API stays incomplete until an HR admin finishes it in the PayFit app, and a new contract takes 2 to 5 minutes to appear\n\n## Questions\n\n### Which is better for AI agents, Argyle or PayFit?\n\nArgyle scores 63.7 (B) on agent readiness against PayFit's 55.5 (C), and leads in 6 of 7 scored categories.\n\n### Do Argyle and PayFit need an API key?\n\nArgyle needs an API key. PayFit takes an API key or an OAuth sign-in.\n\n### Can an agent call Argyle and PayFit without installing anything?\n\nArgyle has a hosted endpoint at https://api.argyle.com/v2. No hosted endpoint is listed for PayFit.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/argyle-vs-payfit.json, and with the fewest tokens: https://www.anchorterminal.com/compare/argyle-vs-payfit.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"argyle\", \"b\": \"payfit\"}`. From a terminal: `anchor compare argyle payfit`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/argyle.json and https://www.anchorterminal.com/api/v1/tools/payfit.json\n\n## Other comparisons with Argyle or PayFit\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- [Argyle vs Worklio](https://www.anchorterminal.com/compare/argyle-vs-worklio.md)\n- [Argyle vs Zeal](https://www.anchorterminal.com/compare/argyle-vs-zeal.md)\n- [Check vs PayFit](https://www.anchorterminal.com/compare/check-payroll-vs-payfit.md)\n- [Employment Hero Payroll vs PayFit](https://www.anchorterminal.com/compare/employment-hero-vs-payfit.md)\n- [Everee vs PayFit](https://www.anchorterminal.com/compare/everee-vs-payfit.md)\n- [Finch vs PayFit](https://www.anchorterminal.com/compare/finch-vs-payfit.md)\n- [Gusto vs PayFit](https://www.anchorterminal.com/compare/gusto-vs-payfit.md)\n- [Paychex vs PayFit](https://www.anchorterminal.com/compare/paychex-vs-payfit.md)\n- [PayFit vs Salsa](https://www.anchorterminal.com/compare/payfit-vs-salsa.md)\n- [PayFit vs Worklio](https://www.anchorterminal.com/compare/payfit-vs-worklio.md)\n- [PayFit vs Zeal](https://www.anchorterminal.com/compare/payfit-vs-zeal.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "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 PayFit",
        "url": ""
      }
    ],
    "description": "Argyle scores 63.7 (B) to PayFit's 55.5 (C) for payroll records. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Argyle B 63.7",
      "PayFit C 55.5",
      "scores"
    ],
    "h1": "Argyle vs PayFit",
    "image": "https://www.anchorterminal.com/assets/og/compare-argyle-vs-payfit.png",
    "path": "/compare/argyle-vs-payfit",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Argyle vs PayFit for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/argyle-vs-payfit"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 630
  },
  "version": 1
}
