{
  "data": {
    "a": {
      "slug": "deel",
      "name": "Deel",
      "vendor": "Deel, Inc.",
      "vendorUrl": "https://www.deel.com",
      "kind": "http-api",
      "category": "hr",
      "summary": "Deel is a global HR, payroll and employer-of-record platform. Its REST API and hosted MCP server let an agent read and update people records, time off, organisation structure, onboarding, contracts and compliance documents.",
      "url": "https://www.anchorterminal.com/tools/deel",
      "markdownUrl": "https://www.anchorterminal.com/tools/deel.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/deel.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/deel.json",
      "repo": "https://github.com/letsdeel/deel-cli",
      "license": "Proprietary service under Deel's platform terms. The Deel CLI on GitHub is MIT",
      "transports": [
        "http",
        "streamable-http",
        "sse"
      ],
      "remoteUrl": "https://api.letsdeel.com/rest",
      "packages": [
        {
          "registry": "npm",
          "name": "@deel-org/cli"
        },
        {
          "registry": "npm",
          "name": "@deel-developers/deel"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve for an existing Deel customer. An admin creates an organisation or personal token in the Developer Centre (More, Developer, Access Tokens), choosing scopes and what sensitive data it can read, or registers an OAuth 2 app. No partner or sales approval is documented for a company's own data. Publishing to the Deel App Store has its own submission step, and worker tokens need the Embedded partnership. The MCP server takes OAuth with PKCE and dynamic client registration, or a personal token. Scopes follow `{resource}:read` and `{resource}:write`.",
      "pricing": "paid",
      "pricingNotes": "No separate API charge was found. Access comes with a Deel account, priced per person a month. Deel HR is $5 (Core), $19 (Advanced) or $29 (Elite) per employee, contractor management $49 per contractor and EOR $599 per employee. No free plan is on the pricing page, whose buttons book a demo. The quickstart says a sandbox can be created from the Developer Centre after signing up at app.deel.com. We didn't sign up, so whether that needs a card or a contract is unconfirmed (https://www.deel.com/pricing/, checked 2026-10-07).",
      "priceSummary": "$5 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI specs or the pricing page (checked 2026-10-07).",
        "endpoints": []
      },
      "toolCount": 86,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 17,
        "pypiWeekly": null,
        "asOf": "2026-10-07"
      },
      "docsUrl": "https://developer.deel.com",
      "llmsTxt": "https://developer.deel.com/llms.txt",
      "openapi": "https://developer.deel.com/openapi/endpoints-5.json",
      "capabilities": [
        "hr.employees",
        "hr.time-off",
        "hr.org",
        "hr.onboarding",
        "hr.documents"
      ],
      "tags": [
        "hosted",
        "official",
        "mcp",
        "closed-source",
        "oauth",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "scim",
        "typescript",
        "status-page",
        "soc2",
        "sales-led"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.1,
        "grade": "B",
        "agentReady": false,
        "rank": 168,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 70,
          "payments": 30,
          "reliability": 88,
          "schema": 85,
          "security": 64,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-07"
        },
        "negative": 0,
        "verdict": "The API has 506 operations in public OpenAPI 3.1 specs, about 90 read and write OAuth scopes, a sandbox and a dated versioning policy with one year of deprecation notice. The limit is 5 requests a second for a whole organisation, and the legal documents load only with JavaScript, so data handling terms weren't read.",
        "bestFor": "A company that already runs HR, contractors, EOR or payroll on Deel and wants an agent to read the directory, update personal information, file and review time off, follow onboarding and fetch compliance documents.",
        "strengths": [
          "Public OpenAPI 3.1 specs with 506 operations and 55 webhook events, plus llms.txt and a Markdown copy of every docs page",
          "OAuth 2 with PKCE and dynamic client registration, about 90 scopes split into read and write, and single-use refresh tokens",
          "Date-based versions with at least one year stable, one year deprecated, and `Deprecation` and `Sunset` response headers",
          "Changelog with 20 dated entries between 2 September and 5 October 2026",
          "Sandbox at api-staging.letsdeel.com with sample data, simulated payments and no emails sent to workers"
        ],
        "weaknesses": [
          "5 requests a second shared by every token in an organisation, with no rate limit headers on REST responses per the rate limits page",
          "The OpenAPI links in the docs index return 404. The working specs sit under developer.deel.com/openapi/",
          "The idempotency guide covers POST and PATCH, but the spec declares the `Idempotency-Key` header on one operation",
          "TypeScript SDK last published on 13 March 2025, and no Python SDK found",
          "Privacy policy, DPA and platform terms render only with JavaScript, and no public sub-processor list or SLA was read"
        ],
        "agentNotes": [
          "Queue calls to stay under 5 requests a second for the whole organisation. Other integrations on the same account share the limit",
          "Send `X-Version: 2026-01-01` on REST calls, and watch `X-State`, `Deprecation` and `Sunset` response headers",
          "Send a UUID `Idempotency-Key` on POST and PATCH. Only retry a 5xx on a write when the request carried one",
          "Test against https://api-staging.letsdeel.com/rest with a sandbox token. Production and sandbox tokens aren't interchangeable",
          "Request read scopes only (people:read, time-off:read) for a read-only agent. Rejecting a time-off request is irreversible"
        ],
        "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": 69.1
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 70,
          "payments": 30,
          "reliability": 88,
          "schema": 85,
          "security": 64,
          "transparency": 43
        },
        "provenanceScore": 94
      },
      "connect": {
        "install": "npm install -g @deel-org/cli",
        "http": "curl -X GET 'https://api.letsdeel.com/rest/contracts' \\\n  -H 'Authorization: Bearer YOUR-TOKEN-HERE' \\\n  -H 'X-Version: 2026-01-01'",
        "config": {
          "mcpServers": {
            "deel": {
              "url": "https://api.letsdeel.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/hr.employees",
        "tool": "https://letme.dev/deel"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Deel HR Core",
          "unit": "seat-month",
          "usd": 5,
          "note": "per employee"
        },
        {
          "item": "Deel HR Advanced",
          "unit": "seat-month",
          "usd": 19,
          "note": "per employee"
        },
        {
          "item": "Deel HR Elite",
          "unit": "seat-month",
          "usd": 29,
          "note": "per employee"
        },
        {
          "item": "Contractor management",
          "unit": "seat-month",
          "usd": 49,
          "note": "per contractor"
        },
        {
          "item": "Employer of record",
          "unit": "seat-month",
          "usd": 599,
          "note": "per EOR employee"
        }
      ],
      "provenance": {
        "legalEntity": "Deel, Inc.",
        "domain": "deel.com",
        "domainRegistered": "1998-04-21",
        "endpointOnVendorDomain": true,
        "terms": "https://www.deel.com/legal/platform-terms-of-service",
        "privacy": "https://www.deel.com/legal/privacy-policy/",
        "statusPage": "https://status.deel.com",
        "changelog": "https://developer.deel.com/api/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-07",
        "notes": [
          "The entity name comes from the copyright line of the MIT licence in letsdeel/deel-cli (Copyright (c) 2026 Deel, Inc.). The legal pages on deel.com returned no document text without JavaScript, so the contracting entity in the terms wasn't read.",
          "The API and MCP server answer on api.letsdeel.com and the sandbox on api-staging.letsdeel.com. letsdeel.com is Deel's second domain, registered 2018-10-16 per RDAP, and the docs on developer.deel.com name it.",
          "https://www.deel.com/.well-known/security.txt gives a Contact and Policy of https://www.deel.com/security and expires on 21 July 2027. api.letsdeel.com and app.deel.com return 404 for the same path.",
          "RDAP for deel.com gives a registration date of 1998-04-21.",
          "trust.deel.com is a JavaScript application and returned no readable content."
        ],
        "score": 94
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/deel.json",
      "live": {
        "slug": "deel",
        "probe": {
          "target": "https://api.letsdeel.com/rest",
          "method": "get",
          "lastAt": "2026-10-08T21:53:20.210856612Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 72,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 94,
          "p95ms24h": 207,
          "samples24h": 71,
          "samples30d": 71,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 71,
              "ok": 71
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.deel.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:25.168604503Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "letsdeel/deel-cli",
            "version": "v0.2.0",
            "released": "2026-09-24",
            "seenAt": "2026-10-08T16:08:05.333667497Z"
          },
          {
            "registry": "npm",
            "name": "@deel-developers/deel",
            "version": "2.1.56",
            "seenAt": "2026-10-08T16:08:05.112276669Z"
          },
          {
            "registry": "npm",
            "name": "@deel-org/cli",
            "version": "0.2.0",
            "seenAt": "2026-10-08T16:08:01.624087654Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 17,
        "securityTxt": {
          "url": "https://deel.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-07-21T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:48.747560221Z"
        },
        "pages": [
          {
            "url": "https://developer.deel.com/api/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:10.934265548Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "541eae2b1eb3"
          },
          {
            "url": "https://www.deel.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:22.883042038Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "79b3e637c08d"
          },
          {
            "url": "https://www.deel.com/legal/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:20.979435538Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f7a94d8b42c7"
          },
          {
            "url": "https://www.deel.com/legal/platform-terms-of-service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:27:18.776153643Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a1f1b096748e"
          }
        ],
        "updatedAt": "2026-10-08T21:53:20.210856612Z"
      }
    },
    "answer": "Deel scores 69.1 (B) on agent readiness against Factorial's 66.3 (B), and leads in 3 of 7 scored categories. Factorial leads on maintenance \u0026 community and transparency \u0026 trust.",
    "b": {
      "slug": "factorial",
      "name": "Factorial",
      "vendor": "Everyday Software, S.L.",
      "vendorUrl": "https://factorial.com",
      "kind": "http-api",
      "category": "hr",
      "summary": "Factorial is an HR platform from Barcelona for employee records, time off, attendance, payroll data, recruiting and expenses. Agents reach it through a versioned REST API with API keys or OAuth 2.0, webhooks and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/factorial",
      "markdownUrl": "https://www.anchorterminal.com/tools/factorial.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/factorial.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/factorial.json",
      "repo": "https://github.com/factorialco/factorial-api-sdks",
      "license": "Proprietary service under Factorial's terms and conditions. The TypeScript and Python SDKs are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.factorialhr.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@factorialco/api-client"
        },
        {
          "registry": "pypi",
          "name": "factorial-api-client"
        }
      ],
      "auth": "mixed",
      "authNotes": "A company administrator creates credentials in Factorial's settings, with no registration or approval queue for a company's own use. An API key goes in `x-api-key`, grants every scope and does not expire. OAuth 2.0 apps use the authorisation code grant through Factorial ID (PKCE for public clients), choose from 33 scopes and receive 1-hour company or user tokens with a refresh token. A user token is limited by that employee's permission group. Integrations for other companies must use OAuth, with scopes agreed with Factorial. The MCP server uses OAuth with dynamic client registration and runs as the signed-in employee.",
      "pricing": "paid",
      "pricingNotes": "The pricing page says Factorial starts at $8 per user per month and asks for a tailored quote for everything else. The terms describe a free trial of at most 15 days granted at Factorial's discretion, and the sign-up page is drawn by script, so its conditions were not read. The demo API environment is provisioned by an account manager, so an agent cannot start without a customer account. Factorial One requests through the MCP server consume plan credits (https://factorial.com/pricing, checked 2026-10-08).",
      "priceSummary": "$8 / seat-mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI definition, the terms or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 7,
        "npmWeekly": 1367,
        "pypiWeekly": 1075,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://apidoc.factorialhr.com",
      "llmsTxt": "https://apidoc.factorialhr.com/llms.txt",
      "openapi": "https://api.factorialhr.com/oas/",
      "capabilities": [
        "hr.employees",
        "hr.time-off",
        "hr.org",
        "hr.documents",
        "recruiting.applications",
        "recruiting.jobs",
        "recruiting.candidates",
        "spend.expenses",
        "tasks.create"
      ],
      "tags": [
        "hosted",
        "paid",
        "sales-led",
        "api-key",
        "oauth",
        "mcp",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "typescript",
        "python",
        "status-page",
        "sla",
        "bug-bounty",
        "soc2",
        "eu"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.3,
        "grade": "B",
        "agentReady": false,
        "rank": 239,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 58,
          "maintenance": 84,
          "payments": 10,
          "reliability": 88,
          "schema": 77,
          "security": 65,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 definition covers 615 operations, including leave approval and employee termination, and OAuth apps can be limited to 33 scopes. API keys always grant every scope and never expire. No idempotency keys exist, and a request to an expired API version is answered in an older schema with no error.",
        "bestFor": "An agent working for a company that already runs Factorial and needs employee records, leave requests with approval, attendance clock-ins, recruiting or expenses through one API.",
        "strengths": [
          "OpenAPI 3.1.0 definition at `https://api.factorialhr.com/oas/` with 615 operations and 137 webhook events, plus `llms.txt` and a Markdown twin of every docs page",
          "OAuth 2.0 with 33 scopes, PKCE for public clients, 1-hour access tokens and a revoke endpoint. User tokens are bound to an employee's permission group",
          "Time off can be requested, approved and rejected through the API (`/timeoff/leaves/approve` and `/timeoff/leaves/reject`)",
          "Dated API versions ship each quarter and are supported for one year, with release notes that mark removed endpoints and fields",
          "A 99.9 per cent monthly uptime commitment with a 5 per cent service credit is published in the trust centre, and the status page shows no incident since 1 June 2026"
        ],
        "weaknesses": [
          "An API key grants every scope, cannot be narrowed and does not expire",
          "No idempotency keys. The docs say the API does not deduplicate requests, so a blind retry can create a duplicate record",
          "A request to an unsupported API version is served in the oldest supported schema with no error",
          "The only published rate limit is 200 `POST` requests a minute, and no `Retry-After` header is documented",
          "The terms prohibit benchmarking, competitive evaluation and monitoring of availability, and pricing beyond a $8 starting figure is by quote"
        ],
        "agentNotes": [
          "Send an API key in `x-api-key` and an OAuth token in `Authorization: Bearer`. The key is JWT-formatted but is rejected as a bearer token",
          "Pin the version in the path, such as `/api/2026-10-01/resources/...`, and migrate within a year. Expired versions answer in an older schema without an error",
          "Treat a 200 with an empty body as a credential from the other environment. Production is `api.factorialhr.com` and demo is `api.eu2.demo.factorial.dev`",
          "Page with `limit=100` and pass `meta.end_cursor` as `after_id`. A larger limit is capped at 100",
          "Check whether a record exists before retrying a create. Retry only 429 and 5xx with backoff, and branch on `code` for 422 because messages are localised"
        ],
        "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": 66.3
          }
        ],
        "editorialScores": {
          "ergonomics": 58,
          "maintenance": 84,
          "payments": 10,
          "reliability": 88,
          "schema": 77,
          "security": 65,
          "transparency": 73
        },
        "provenanceScore": 82
      },
      "connect": {
        "install": "npm install @factorialco/api-client",
        "http": "curl --request GET \\\n     --url 'https://api.factorialhr.com/api/2026-10-01/resources/api_public/credentials' \\\n     --header 'accept: application/json' \\\n     --header 'x-api-key: \u003capi_key\u003e'"
      },
      "letme": {
        "capability": "https://letme.dev/hr.employees",
        "tool": "https://letme.dev/factorial"
      },
      "area": "business",
      "unitPrices": [
        {
          "item": "Starting price",
          "unit": "seat-month",
          "usd": 8,
          "note": "Headline figure on the pricing page. Plans are quoted by modules and company size"
        }
      ],
      "provenance": {
        "legalEntity": "Everyday Software, S.L.",
        "domain": "factorialhr.com",
        "domainRegistered": "2016-11-10",
        "endpointOnVendorDomain": true,
        "terms": "https://factorial.com/terms-of-use",
        "privacy": "https://factorial.com/privacy",
        "statusPage": "https://status.factorialhr.com",
        "changelog": "https://apidoc.factorialhr.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms and conditions of contract of the Factorial platform (last amended 12 December 2025) name EVERYDAY SOFTWARE, S.L., Carrer de Llacuna 56, Building C, 08005 Barcelona, tax number B-66854530, and its subsidiaries. They govern the platform and mention the public API in clause 13.8. No separate API terms were found.",
          "The privacy policy (last update January 2026) names the same company as controller and describes its role as processor for data that customers' employees enter on the platform. It refers to a Data Processing Agreement that we did not read.",
          "The API answers at api.factorialhr.com, OAuth at id.factorialhr.com and the MCP server at mcp.factorialhr.com. The marketing site factorialhr.com redirects to factorial.com.",
          "RDAP gives 2016-11-10 as the registration date of factorialhr.com and 1998-04-24 for factorial.com.",
          "factorialhr.com/.well-known/security.txt and factorial.com/.well-known/security.txt both returned 404. The trust centre has a vulnerability report form and names a HackerOne programme.",
          "The SLA linked from clause 11.2 of the terms resolves to the trust centre at trust.factorial.co."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/factorial.json",
      "live": {
        "slug": "factorial",
        "probe": {
          "target": "https://api.factorialhr.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:21.948149603Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 96,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 82,
          "p95ms24h": 165,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.factorialhr.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:57:54.551194094Z"
        },
        "updatedAt": "2026-10-08T21:57:54.551194094Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Deel, Inc.",
        "b": "Everyday Software, S.L.",
        "name": "Vendor"
      },
      {
        "a": "https://api.letsdeel.com/rest",
        "b": "https://api.factorialhr.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, SSE (legacy)",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Deel's platform terms. The Deel CLI on GitHub is MIT",
        "b": "Proprietary service under Factorial's terms and conditions. The TypeScript and Python SDKs are MIT",
        "name": "Licence"
      },
      {
        "a": "86",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-05",
        "b": "2026-10-05",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-01-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "17 npm/wk",
        "b": "7 stars, 1.4k npm/wk, 1.1k PyPI/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Deel scores 69.1 (B) on agent readiness against Factorial's 66.3 (B), and leads in 3 of 7 scored categories. Factorial leads on maintenance \u0026 community and transparency \u0026 trust.",
        "question": "Which is better for AI agents, Deel or Factorial?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Deel and Factorial need an API key?"
      },
      {
        "answer": "Yes. Deel has a hosted endpoint at https://api.letsdeel.com/rest and Factorial at https://api.factorialhr.com.",
        "question": "Can an agent call Deel and Factorial without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 85 against 77",
          "Agent ergonomics, 65 against 58",
          "Payments \u0026 pricing, 30 against 10"
        ],
        "also": null,
        "goodFor": "A company that already runs HR, contractors, EOR or payroll on Deel and wants an agent to read the directory, update personal information, file and review time off, follow onboarding and fetch compliance documents.",
        "slug": "deel",
        "watchFor": "5 requests a second shared by every token in an organisation, with no rate limit headers on REST responses per the rate limits page"
      },
      {
        "aheadOn": [
          "Maintenance \u0026 community, 84 against 70",
          "Transparency \u0026 trust, 78 against 69"
        ],
        "also": null,
        "goodFor": "An agent working for a company that already runs Factorial and needs employee records, leave requests with approval, attendance clock-ins, recruiting or expenses through one API.",
        "slug": "factorial",
        "watchFor": "An API key grants every scope, cannot be narrowed and does not expire"
      }
    ],
    "job": {
      "capability": "hr.employees",
      "name": "Hr employees"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/bamboohr-vs-deel.json",
        "title": "BambooHR vs Deel",
        "url": "https://www.anchorterminal.com/compare/bamboohr-vs-deel"
      },
      {
        "json": "https://www.anchorterminal.com/compare/bamboohr-vs-factorial.json",
        "title": "BambooHR vs Factorial",
        "url": "https://www.anchorterminal.com/compare/bamboohr-vs-factorial"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deel-vs-hibob.json",
        "title": "Deel vs HiBob",
        "url": "https://www.anchorterminal.com/compare/deel-vs-hibob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deel-vs-humaans.json",
        "title": "Deel vs Humaans",
        "url": "https://www.anchorterminal.com/compare/deel-vs-humaans"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deel-vs-rippling.json",
        "title": "Deel vs Rippling",
        "url": "https://www.anchorterminal.com/compare/deel-vs-rippling"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deel-vs-zoho-people.json",
        "title": "Deel vs Zoho People",
        "url": "https://www.anchorterminal.com/compare/deel-vs-zoho-people"
      },
      {
        "json": "https://www.anchorterminal.com/compare/factorial-vs-hibob.json",
        "title": "Factorial vs HiBob",
        "url": "https://www.anchorterminal.com/compare/factorial-vs-hibob"
      },
      {
        "json": "https://www.anchorterminal.com/compare/factorial-vs-humaans.json",
        "title": "Factorial vs Humaans",
        "url": "https://www.anchorterminal.com/compare/factorial-vs-humaans"
      },
      {
        "json": "https://www.anchorterminal.com/compare/factorial-vs-rippling.json",
        "title": "Factorial vs Rippling",
        "url": "https://www.anchorterminal.com/compare/factorial-vs-rippling"
      },
      {
        "json": "https://www.anchorterminal.com/compare/factorial-vs-zoho-people.json",
        "title": "Factorial vs Zoho People",
        "url": "https://www.anchorterminal.com/compare/factorial-vs-zoho-people"
      }
    ],
    "scores": [
      {
        "by": 0,
        "deel": 88,
        "edge": "",
        "factorial": 88,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "deel": 85,
        "edge": "deel",
        "factorial": 77,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 7,
        "deel": 65,
        "edge": "deel",
        "factorial": 58,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 1,
        "deel": 64,
        "edge": "factorial",
        "factorial": 65,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 20,
        "deel": 30,
        "edge": "deel",
        "factorial": 10,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 14,
        "deel": 70,
        "edge": "factorial",
        "factorial": 84,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 9,
        "deel": 69,
        "edge": "factorial",
        "factorial": 78,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Deel scores 69.1 (B) on agent readiness against Factorial's 66.3 (B), and leads in 3 of 7 scored categories. Factorial leads on maintenance \u0026 community and transparency \u0026 trust. Both do hr employees.",
    "verdicts": {
      "deel": "The API has 506 operations in public OpenAPI 3.1 specs, about 90 read and write OAuth scopes, a sandbox and a dated versioning policy with one year of deprecation notice. The limit is 5 requests a second for a whole organisation, and the legal documents load only with JavaScript, so data handling terms weren't read.",
      "factorial": "A public OpenAPI 3.1 definition covers 615 operations, including leave approval and employee termination, and OAuth apps can be limited to 33 scopes. API keys always grant every scope and never expire. No idempotency keys exist, and a request to an expired API version is answered in an older schema with no error."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/deel-vs-factorial",
    "json": "https://www.anchorterminal.com/compare/deel-vs-factorial.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deel-vs-factorial.md",
    "slim": "https://www.anchorterminal.com/compare/deel-vs-factorial.min.md"
  },
  "markdown": "Deel scores 69.1 (B) on agent readiness against Factorial's 66.3 (B), and leads in 3 of 7 scored categories. Factorial leads on maintenance \u0026 community and transparency \u0026 trust. Both do hr employees.\n\n- Deel: grade B, 69.1/100, rank #168 of 722. Markdown https://www.anchorterminal.com/tools/deel.md · JSON https://www.anchorterminal.com/api/v1/tools/deel.json\n- Factorial: grade B, 66.3/100, rank #239 of 722. Markdown https://www.anchorterminal.com/tools/factorial.md · JSON https://www.anchorterminal.com/api/v1/tools/factorial.json\n\n## Which one, for what\n\n### Deel (B)\n\nGood for: A company that already runs HR, contractors, EOR or payroll on Deel and wants an agent to read the directory, update personal information, file and review time off, follow onboarding and fetch compliance documents.\n\nAhead on:\n- Schema \u0026 documentation, 85 against 77\n- Agent ergonomics, 65 against 58\n- Payments \u0026 pricing, 30 against 10\n\nWatch for: 5 requests a second shared by every token in an organisation, with no rate limit headers on REST responses per the rate limits page\n\n### Factorial (B)\n\nGood for: An agent working for a company that already runs Factorial and needs employee records, leave requests with approval, attendance clock-ins, recruiting or expenses through one API.\n\nAhead on:\n- Maintenance \u0026 community, 84 against 70\n- Transparency \u0026 trust, 78 against 69\n\nWatch for: An API key grants every scope, cannot be narrowed and does not expire\n\n\n## Score by category\n\n| Category | Weight | Deel | Factorial | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 88 | 88 | even |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 77 | Deel +8 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 58 | Deel +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 65 | Factorial +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 10 | Deel +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 84 | Factorial +14 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 69 | 78 | Factorial +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.1 · B** | **66.3 · B** | |\n\n## Facts side by side\n\n| Fact | Deel | Factorial |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Deel, Inc. | Everyday Software, S.L. |\n| Hosted endpoint | `https://api.letsdeel.com/rest` | `https://api.factorialhr.com` |\n| Transports | HTTP, Streamable HTTP, SSE (legacy) | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Deel's platform terms. The Deel CLI on GitHub is MIT | Proprietary service under Factorial's terms and conditions. The TypeScript and Python SDKs are MIT |\n| Tools exposed | 86 | none |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-05 | 2026-10-05 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | couldn't be read | 2026-01-01 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | 17 npm/wk | 7 stars, 1.4k npm/wk, 1.1k PyPI/wk |\n\n## Verdicts\n\n**Deel.** The API has 506 operations in public OpenAPI 3.1 specs, about 90 read and write OAuth scopes, a sandbox and a dated versioning policy with one year of deprecation notice. The limit is 5 requests a second for a whole organisation, and the legal documents load only with JavaScript, so data handling terms weren't read.\n\n**Factorial.** A public OpenAPI 3.1 definition covers 615 operations, including leave approval and employee termination, and OAuth apps can be limited to 33 scopes. API keys always grant every scope and never expire. No idempotency keys exist, and a request to an expired API version is answered in an older schema with no error.\n\n## Before you call either\n\n### Deel\n\n1. Queue calls to stay under 5 requests a second for the whole organisation. Other integrations on the same account share the limit\n2. Send `X-Version: 2026-01-01` on REST calls, and watch `X-State`, `Deprecation` and `Sunset` response headers\n3. Send a UUID `Idempotency-Key` on POST and PATCH. Only retry a 5xx on a write when the request carried one\n4. Test against https://api-staging.letsdeel.com/rest with a sandbox token. Production and sandbox tokens aren't interchangeable\n5. Request read scopes only (people:read, time-off:read) for a read-only agent. Rejecting a time-off request is irreversible\n\n### Factorial\n\n1. Send an API key in `x-api-key` and an OAuth token in `Authorization: Bearer`. The key is JWT-formatted but is rejected as a bearer token\n2. Pin the version in the path, such as `/api/2026-10-01/resources/...`, and migrate within a year. Expired versions answer in an older schema without an error\n3. Treat a 200 with an empty body as a credential from the other environment. Production is `api.factorialhr.com` and demo is `api.eu2.demo.factorial.dev`\n4. Page with `limit=100` and pass `meta.end_cursor` as `after_id`. A larger limit is capped at 100\n5. Check whether a record exists before retrying a create. Retry only 429 and 5xx with backoff, and branch on `code` for 422 because messages are localised\n\n## Questions\n\n### Which is better for AI agents, Deel or Factorial?\n\nDeel scores 69.1 (B) on agent readiness against Factorial's 66.3 (B), and leads in 3 of 7 scored categories. Factorial leads on maintenance \u0026 community and transparency \u0026 trust.\n\n### Do Deel and Factorial need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Deel and Factorial without installing anything?\n\nYes. Deel has a hosted endpoint at https://api.letsdeel.com/rest and Factorial at https://api.factorialhr.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/deel-vs-factorial.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deel-vs-factorial.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deel\", \"b\": \"factorial\"}`. From a terminal: `anchor compare deel factorial`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deel.json and https://www.anchorterminal.com/api/v1/tools/factorial.json\n\n## Other comparisons with Deel or Factorial\n\n- [BambooHR vs Deel](https://www.anchorterminal.com/compare/bamboohr-vs-deel.md)\n- [BambooHR vs Factorial](https://www.anchorterminal.com/compare/bamboohr-vs-factorial.md)\n- [Deel vs HiBob](https://www.anchorterminal.com/compare/deel-vs-hibob.md)\n- [Deel vs Humaans](https://www.anchorterminal.com/compare/deel-vs-humaans.md)\n- [Deel vs Rippling](https://www.anchorterminal.com/compare/deel-vs-rippling.md)\n- [Deel vs Zoho People](https://www.anchorterminal.com/compare/deel-vs-zoho-people.md)\n- [Factorial vs HiBob](https://www.anchorterminal.com/compare/factorial-vs-hibob.md)\n- [Factorial vs Humaans](https://www.anchorterminal.com/compare/factorial-vs-humaans.md)\n- [Factorial vs Rippling](https://www.anchorterminal.com/compare/factorial-vs-rippling.md)\n- [Factorial vs Zoho People](https://www.anchorterminal.com/compare/factorial-vs-zoho-people.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": "Deel vs Factorial",
        "url": ""
      }
    ],
    "description": "Deel scores 69.1 (B) on agent readiness against Factorial's 66.3 (B), and leads in 3 of 7 scored categories. Factorial leads on maintenance \u0026 community and transparency \u0026 trust. Both do hr employees. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Deel B 69.1",
      "Factorial B 66.3",
      "scores"
    ],
    "h1": "Deel vs Factorial",
    "image": "https://www.anchorterminal.com/assets/og/compare-deel-vs-factorial.png",
    "path": "/compare/deel-vs-factorial",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Deel vs Factorial for AI agents, B 69.1 vs B 66.3 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/deel-vs-factorial"
  },
  "tokens": {
    "markdown": 2050,
    "slim": 730
  },
  "version": 1
}
