# Factorial > 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. - Canonical: https://www.anchorterminal.com/tools/factorial - Markdown: https://www.anchorterminal.com/tools/factorial.md (~8,350 tokens) - Slim: https://www.anchorterminal.com/tools/factorial.min.md (~2,280 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/tools/factorial.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-08 ## Overview **Grade B · 66.3/100 · rank #239 of 722 · #2 in HR & employee operations · not agent-ready · confidence medium** ## Assessment 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. ## Facts | Field | Value | | --- | --- | | Vendor | Everyday Software, S.L. (https://factorial.com) | | Kind | HTTP API | | Category | HR & employee operations (https://www.anchorterminal.com/categories/hr) | | Transport | HTTP | | Endpoint | `https://api.factorialhr.com` | | Auth | OAuth or key · 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 ($8 / seat-mo) · 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). | | x402 | No · No x402, MPP or L402 in the developer docs, the OpenAPI definition, the terms or the pricing page (checked 2026-10-08). | | Licence | Proprietary service under Factorial's terms and conditions. The TypeScript and Python SDKs are MIT | | Packages | npm: `@factorialco/api-client`; pypi: `factorial-api-client` | | Source | https://github.com/factorialco/factorial-api-sdks | | Docs | https://apidoc.factorialhr.com | | llms.txt | https://apidoc.factorialhr.com/llms.txt | | Last release | 2026-10-05 | | GitHub stars | 7 (as of 2026-10-08) | | npm downloads / week | 1,367 | | PyPI downloads / week | 1,075 | | Surface graded | The public REST API at `https://api.factorialhr.com/api/2026-10-01/resources/...`. The hosted MCP server is described but its tool definitions sit behind an OAuth login and were not read | | API coverage | 615 operations in 38 groups. The largest are performance (56), project management (52), ATS (45), time off (43), finance (42), contracts (41), attendance (34) and trainings (34). Employees has 8, including create with contract, invite, terminate and unterminate | | Credentials | API key in `x-api-key`, company-wide, all scopes, no expiry, revocable in settings. OAuth 2.0 authorisation code (PKCE for public clients) through Factorial ID at `id.factorialhr.com`, with company tokens and user tokens that last 1 hour and renew by refresh token | | Scopes | 33 OAuth scopes in the definition, with `read` and `write` plus areas such as `employees`, `time_off`, `time_tracking`, `documents`, `payroll`, `recruitment` and `tasks`. A user token is further limited by the employee's permission group, and fields outside it come back as null | | MCP server | `https://mcp.factorialhr.com`, Streamable HTTP, OAuth 2.0 with dynamic client registration. Its metadata lists 10 scopes (`one:read`, `one:write`, `employees`, `tasks`, `time_off`, `time_tracking` and four more). Factorial One requests consume plan credits, direct tools currently do not | | Rate limits | 200 `POST` requests a minute per the FAQ. No limit for other methods and no `Retry-After` header found in the reviewed documentation. Suggested backoff is 2, 4, 8 then 16 seconds | | Errors | 400, 401, 403, 404, 422, 429 and 5xx explained in the FAQ. Some 422 responses carry a machine-readable `code`, and messages may be in Spanish, French or German. The OpenAPI definition documents only 200 and 201 responses. An unauthenticated call returned 401 with `{"errors":null}` | | Pagination | Cursor-based on every list endpoint, 100 records by default and at most, with `after_id` and `before_id` and a `meta` block holding `has_next_page`, `end_cursor` and `total` | | Webhooks | 137 event types, managed through `/api_public/webhook_subscriptions`. The payload is the resource itself with no envelope or delivery ID. A `challenge` secret is echoed in `x-factorial-wh-challenge`. Up to 20 attempts over 48 hours, then the subscription is disabled | | Time off | Create, update and delete leaves, approve, approve all and reject, plus leave types, allowances, policies and blocked periods | | Versioning | Dated versions in the path (2026-10-01 current, released 5 October 2026, with 2027-01-01 as release candidate). One version a quarter, each supported for one year. Webhook subscriptions carry their own `api_version` | | SDKs | `@factorialco/api-client` 3.0.0 on npm and `factorial-api-client` 3.0.0 on PyPI (both 5 October 2026, MIT, Python 3.11 or later), a Ruby SDK in the same repository, and a `factorial-api-sdks` skill installed with `npx skills add`. The SDK major version tracks the API version | | Sandbox | A demo environment at `api.eu2.demo.factorial.dev` with separate credentials, requested through an account manager or account executive. Its data can be deleted at any time | | SLA | 99.9 per cent monthly uptime, with a service credit of 5 per cent of the period's charges when missed, per the trust centre. Support target of 90 per cent of tickets answered within 4 hours | | Certifications | SOC 2 Type 2, SOC 3, ISO/IEC 27001:2022 and ENS RD311/2022 High per trust.factorial.co. The trust centre names a HackerOne bug bounty and annual third-party penetration tests | | Status | status.factorialhr.com on Statuspage, 14 components including API & backend and Authentication system. The newest incident in the feed is dated 1 June 2026 | | Data location | Customer data stored in the EU on AWS (Frankfurt) and Azure (Frankfurt and Sweden). AI functions use Azure OpenAI, Gemini and Cloudflare AI under contracts that bar training on customer data, per the trust centre | | 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 | | JSON | https://www.anchorterminal.com/api/v1/tools/factorial.json | ## Score breakdown (methodology v0.4, October 2026 research run) Assessed 2026-10-08 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. "This run" is each category's share of the 100 points. | Category | Weight | This run | Score (0–100) | Points | | --- | --- | --- | --- | --- | | Reliability | 16% | 20 | 88 | 17.6 | | Performance | 10% | pending | pending | n/a | | Schema & documentation | 13% | 16.2 | 77 | 12.5 | | Agent ergonomics | 13% | 16.2 | 58 | 9.4 | | Security & auth | 14% | 17.5 | 65 | 11.4 | | Payments & pricing | 10% | 12.5 | 10 | 1.2 | | Task success | 10% | pending | pending | n/a | | Maintenance & community | 7% | 8.8 | 84 | 7.3 | | Transparency & trust (editorial 73, provenance 82) | 7% | 8.8 | 78 | 6.8 | | Negative events | up to −15 | up to −15 | none recorded | 0 | | **Total** | | | | **66.3 → B** | ### Why each score - Reliability 88: Graded on the public REST API with the hosted lines. Statuspage at status.factorialhr.com with 14 components, API & backend among them (20). The incident feed's newest entry is 1 June 2026 (6 hours of degraded performance), so the 90 days to 8 October are clean (30). The FAQ gives one number, 200 `POST` requests a minute, and nothing for other methods (8). The docs advise exponential backoff on 429 and 5xx and a check before retrying a create, but no `Retry-After` header or idempotency key is documented (10). The trust centre publishes a 99.9 per cent monthly uptime SLA with a 5 per cent service credit, referenced from the terms (10). The API is generally available, with dated stable versions (10). - Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes. - Schema & documentation 77: A public OpenAPI 3.1.0 definition at `https://api.factorialhr.com/oas/` covers 615 operations and 137 webhook events (25). `llms.txt` and a Markdown twin of every page (10). Every operation has a description, but most only restate the action, such as Creates a Leave, with few saying when to use an endpoint (9). Inputs are typed with required fields and 359 enum declarations, with IDs passed as strings (11). 566 operations carry examples, but the definition documents only 200 and 201 responses and errors are explained in one FAQ table (7). Dated versions in the path and quarterly release notes that mark new and removed items (15). - Agent ergonomics 58: List responses are capped at 100 records and can be narrowed by ID and date filters. No field selection was found, and the full definition is 1.2 MB (12). Cursor pagination on every list endpoint with `meta.total`, and filters such as `ids[]`, `emails[]` and `updated_at_gteq` (18). Status codes come with recovery advice and some 422 responses carry a `code`, but messages are localised, a credential from the wrong environment yields 200 with an empty body, and an expired version is served in an older schema with no error (9). No idempotency keys, and the docs say the API does not deduplicate requests. The MCP tool annotations were not read (4). Few required parameters, with official SDKs in TypeScript and Python and a Ruby SDK in the repository (15). - Security & auth 65: OAuth 2.0 with 33 scopes, PKCE for public clients, 1-hour tokens, refresh and a revoke endpoint, and user tokens bound to a permission group. API keys are revocable and sent in a header, but grant every scope and never expire (25). An OAuth app without the `write` scope is read-only and a user token inherits one employee's permissions. No confirmation step was found for terminate or bulk delete calls (13). The API returns text written by employees. The webhook guide says to treat payloads as untrusted input, and no injection guidance was found for API or MCP responses (3). The trust centre says audit logs exist and links a help centre article that our reader could not extract, so API coverage is not established (7). SOC 2 Type 2, SOC 3, ISO/IEC 27001:2022, ENS High, annual third-party penetration tests and a HackerOne bounty per the trust centre. No security.txt (17). - Payments & pricing 10: No x402, MPP or L402 (0). The pricing page gives one figure, from $8 per user per month, and quotes everything else, which we scored between contact sales and public plan pricing (5). The terms describe a trial of at most 15 days at Factorial's discretion. Whether it needs a card could not be read from the script-drawn sign-up page, and the demo API environment comes from an account manager (5). API keys and OAuth apps are created by an administrator in a browser, and the MCP server's dynamic client registration still ends in a human login (0). - Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored. - Maintenance & community 84: API version 2026-10-01 was released on 5 October 2026, with SDK 3.0.0 the same day (30). In the 90 days before, the changelog has the MCP server on 14 July and entries on 1 and 5 October, and the SDK repository has five Python releases from 22 July to 5 October (20). A dated changelog with RSS, two support forms, a published first-response target of 4 hours for 90 per cent of tickets, and a public SDK repository whose issues we could not read (11). Current official SDKs in TypeScript and Python (15). The SDK repository has CI, release automation and npm trusted publishing, with daily beta builds for the next API version (8). - Transparency & trust 78: Closed service with public terms amended 12 December 2025, and MIT SDKs. Clauses 9.6 and 9.8 prohibit benchmarking, competitive evaluation and monitoring of availability (15). The terms and the trust centre agree on retention (30 days to request return of data, one year blocked for authorities, then deletion), the privacy policy of January 2026 covers Factorial's role as processor, and the trust centre says customer data is not used to train models. The DPA was not read (24). Each API version is supported for one year with dated release notes, but an expired version is served silently in an older schema, API keys for marketplace use are being phased out with no date, and the terms reserve the right to change or remove the public API (16). The trust centre lists sub-processors with purpose and location, and states EU storage on AWS Frankfurt and Azure Frankfurt and Sweden (18). Fix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (20 items): https://www.anchorterminal.com/fixes/factorial.md (JSON https://www.anchorterminal.com/fixes/factorial.json) ### What we couldn't check - unchecked: the MCP server's tool list, input schemas and annotations, which need an OAuth login - unchecked: the sign-up page at app.factorialhr.com/users/sign_up, which is drawn by script, so the trial's length and whether it needs a card are not established - unchecked: the help centre article on audit logs, whose text our reader could not extract, so whether API calls are logged is not established - unchecked: the Data Processing Agreement and the full SLA exclusions - unchecked: the official MCP registry, which did not answer from our shell - unchecked: the HackerOne programme page named in the trust centre, and open issues on the SDK repository - Whether rate limits apply to GET, PUT and DELETE requests, and whether 429 responses carry `Retry-After` - Whether API access or the MCP server depends on the plan. The pricing page does not say - The lead gave factorialhr.com as the site, which now redirects to factorial.com, and did not mention the MCP server or the SDKs ### Sources - developer docs index (llms.txt): (seen 2026-10-08) - getting started, environments and first call: (seen 2026-10-08) - authentication methods: (seen 2026-10-08) - API keys: (seen 2026-10-08) - OAuth 2 token types and endpoints: (seen 2026-10-08) - OAuth scopes: (seen 2026-10-08) - FAQ, rate limits, errors and retries: (seen 2026-10-08) - pagination: (seen 2026-10-08) - API versioning: (seen 2026-10-08) - production and demo environments: (seen 2026-10-08) - webhook policies: (seen 2026-10-08) - webhook best practices: (seen 2026-10-08) - MCP server guide: (seen 2026-10-08) - MCP OAuth metadata: (seen 2026-10-08) - SDKs guide: (seen 2026-10-08) - OpenAPI definition, version 2026-10-01: (seen 2026-10-08) - changelog feed: (seen 2026-10-08) - 2026-10-01 release notes: (seen 2026-10-08) - SDK repository (clone): (seen 2026-10-08) - npm package: (seen 2026-10-08) - PyPI package: (seen 2026-10-08) - status incidents: (seen 2026-10-08) - status components: (seen 2026-10-08) - pricing: (seen 2026-10-08) - terms and conditions: (seen 2026-10-08) - privacy policy: (seen 2026-10-08) - trust centre (SLA, certifications, sub-processors, AI, retention): (seen 2026-10-08) - legal notice: (seen 2026-10-08) - domain registration (RDAP): (seen 2026-10-08) ## Who's behind it (provenance 82/100, checked 2026-10-08) | Check | Finding | Points | | --- | --- | --- | | Legal entity named | Everyday Software, S.L. | 20/20 | | Domain age | factorialhr.com, registered 2016-11-10 (9 years) | 11/15 | | Endpoint on the vendor's domain | api.factorialhr.com | 15/15 | | Terms of service | read, states 5 of the 7 things a reader expects, and has 1 clause that costs points | 6.3/10 | | Privacy policy | read, states 7 of the 8 things a reader expects | 9.3/10 | | Status page | status.factorialhr.com | 10/10 | | Changelog | published | 10/10 | | security.txt | not found | 0/10 | 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. ### Terms and privacy, as read A reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice. **Terms of service** (https://factorial.com/terms-of-use), read 2026-10-08, gives no date, states 5 of the 7 things a reader expects. - To know. Restricts benchmarking or competitive use (costs points). "…or any other means to obtain the source code, transformation or publication of any unauthorised benchmark test results of any of the elements and utilities integrated within the Platform are prohibited and constitute an infringement of Factorial’s Industrial and Intellectual Property rights and, consequently, agrees n…" - To know. Says access can be ended without notice or for any reason. "may result in the immediate adoption by Factorial of any other actions that might correspond to them, possibly leading to the termination of the Licence or any other right granted to the Customer or User, without prior notice" - Not found in the text. Gives the date it was last updated. - Names the governing law or courts. Disputes go to the courts of Munich. - States a limit on its liability. Capped at the fees paid in the 12 months before the claim. - Not found in the text. Says how changes to the terms are announced. - Also in the text (2026-10-08). Factorial accepts no liability for decisions, approvals, payments or actions taken on the basis of AI outputs, including incorrect or incomplete outputs. "Factorial is not responsible or liable for any decisions, approvals, payments, or actions you (or your Users) take (or fail to take) based on Outputs, including any incorrect, incomplete, or inappropriate Output." - Also in the text (2026-10-08). Subscriptions renew automatically for periods identical to the plan contracted. "The duration of the subscription is determined by the type of Plan contracted (or conditions agreed upon), and is automatically renewed for identical periods." - Also in the text (2026-10-08). Factorial is not liable for a detrimental event unless the customer notifies the claim in writing within 20 calendar days of becoming aware of it. "In addition, Factorial will not be liable to the Customer for any detrimental event unless the Customer has notified their claim in writing to Factorial, within a period of twenty (20) calendar days from the date on which the Customer became aware of it." **Privacy policy** (https://factorial.com/privacy), read 2026-10-08, dated 2026-01-01, states 7 of the 8 things a reader expects. - To know. Says it sells personal data or shares it for advertising. "In addition to email, Factorial will communicate with you for advertising purposes through various online channels, in particular social media or third-party platforms (e.g. social networks such as Instagram, Linkedin, WhatsApp, etc. and through methods as custom and/or lookalike audiences)." - Gives the date it was last updated. Last updated 2026-01-01. - Not found in the text. Says whether personal data is sold or shared for advertising. - Gives a privacy contact. Names a data protection officer. - Says where data is transferred or stored. Relies on standard contractual clauses. - Also in the text (2026-10-08). Factorial uses data about client organisations and their contacts to train and improve the predictive models behind its customer scoring. "In order to improve the predictive models or patterns mentioned above, we incorporate the aforementioned data for the purpose of training and improving them." ## Live (updated 2026-10-08 21:12 UTC) - Right now: up, HTTP 404, 93 ms, checked 2026-10-08 21:12 UTC (get on `https://api.factorialhr.com`) - Uptime 24h 100.0% (21 probes) · 30 days 100.0% (21 probes) · p50 83 ms · p95 165 ms - Vendor status page: none, All Systems Operational - Always current: https://www.anchorterminal.com/api/v1/live/factorial.json ## Probe metrics Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score. ## Prices | Item | Price | Unit | Note | | --- | --- | --- | --- | | Starting price | $8 | per seat per month | Headline figure on the pricing page. Plans are quoted by modules and company size | Across all listings: https://www.anchorterminal.com/prices/index.md ## 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 ## Before you call it (notes for agents) 1. 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 2. 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 3. 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` 4. Page with `limit=100` and pass `meta.end_cursor` as `after_id`. A larger limit is capped at 100 5. 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 ## Connect Install: ```bash npm install @factorialco/api-client ``` First request: ```bash curl --request GET \ --url 'https://api.factorialhr.com/api/2026-10-01/resources/api_public/credentials' \ --header 'accept: application/json' \ --header 'x-api-key: ' ``` Through letme (picks today, calling later): https://letme.dev/factorial (letme picks it for recruiting.applications, the top-graded tool for the job, letme picks it for recruiting.candidates, the top-graded tool for the job, letme picks it for recruiting.jobs, the top-graded tool for the job). letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md ## Similar tools Ranked by shared capabilities, then score. Same-category tools with no shared capability key are listed last. | Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown | | --- | --- | --- | --- | --- | --- | --- | | BambooHR | C | 61.7 | 357 | hr.employees, hr.time-off, hr.org, hr.documents, recruiting.applications, recruiting.jobs | no | https://www.anchorterminal.com/tools/bamboohr.md | | Workable | C | 61.7 | 359 | recruiting.candidates, recruiting.jobs, recruiting.applications, hr.employees, hr.time-off, hr.org | no | https://www.anchorterminal.com/tools/workable.md | | Rippling | C | 60.8 | 386 | hr.employees, hr.time-off, hr.org, hr.documents, recruiting.candidates | no | https://www.anchorterminal.com/tools/rippling.md | | Deel | B | 69.1 | 168 | hr.employees, hr.time-off, hr.org, hr.documents | no | https://www.anchorterminal.com/tools/deel.md | | HiBob | C | 57 | 484 | hr.employees, hr.time-off, hr.org, hr.documents | no | https://www.anchorterminal.com/tools/hibob.md | | Zoho People | C | 55 | 523 | hr.employees, hr.time-off, hr.org, hr.documents | no | https://www.anchorterminal.com/tools/zoho-people.md | ## Panel reviews (0) Reviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): . Desk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md ## Notable - The OpenAPI 3.1.0 definition for version 2026-10-01 lists 431 paths, 615 operations (316 GET, 188 POST, 63 PUT, 48 DELETE) and 137 webhook events, and accepts a `?version=` parameter (source: ) - API keys grant every scope and do not expire. OAuth 2.0 tokens last 1 hour and are limited to the app's scopes, and API keys are deprecated for marketplace integrations (source: ) - A hosted MCP server at `https://mcp.factorialhr.com` (Streamable HTTP, OAuth 2.0 with dynamic client registration) was announced on 14 July 2026. It runs as the signed-in employee and covers attendance, tasks, time off, employee lookup and a bridge to the Factorial One assistant (source: ) - A new API version ships each quarter and is supported for one year. Requests to an unsupported version are served with the oldest supported version's schema, with no error (source: ) - The FAQ states one rate limit, 200 `POST` requests a minute, and says the API does not deduplicate requests (source: ) - Official TypeScript and Python SDKs were announced on 9 July 2026, generated from the OpenAPI definition, with an installable skill for coding agents. The repository also holds a Ruby SDK (source: ) - The trust centre publishes a platform SLA of 99.9 per cent monthly uptime with a 5 per cent service credit, and lists SOC 2 Type 2, SOC 3, ISO/IEC 27001:2022 and ENS High (source: ) - Clauses 9.6 and 9.8 of the terms (amended 12 December 2025) prohibit publishing unauthorised benchmark results and using the service for benchmarking, competitive evaluation or monitoring its availability (source: ) - factorialhr.com now redirects to factorial.com, while the API, docs and status page remain on factorialhr.com subdomains (source: ) ## Compare - [BambooHR vs Factorial](https://www.anchorterminal.com/compare/bamboohr-vs-factorial.md): C 61.7 vs B 66.3 - [Deel vs Factorial](https://www.anchorterminal.com/compare/deel-vs-factorial.md): B 69.1 vs B 66.3 - [Factorial vs HiBob](https://www.anchorterminal.com/compare/factorial-vs-hibob.md): B 66.3 vs C 57 - [Factorial vs Humaans](https://www.anchorterminal.com/compare/factorial-vs-humaans.md): B 66.3 vs C 54.4 - [Factorial vs Rippling](https://www.anchorterminal.com/compare/factorial-vs-rippling.md): B 66.3 vs C 60.8 - [Factorial vs Zoho People](https://www.anchorterminal.com/compare/factorial-vs-zoho-people.md): B 66.3 vs C 55 ## Verify this listing For the vendor. The badge or a plain link to this page verifies the listing, from a page on factorialhr.com or factorial.com or one of their subdomains, or the README of github.com/factorialco/factorial-api-sdks. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{"slug": "factorial", "url": "…"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify HTML badge: ```html Factorial on Anchor Terminal ``` Markdown badge, for a README: ```markdown [![Factorial on Anchor Terminal](https://www.anchorterminal.com/badges/factorial.svg)](https://www.anchorterminal.com/tools/factorial) ``` Plain link: ```html Factorial on Anchor Terminal ``` ## Share this listing For the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Factorial is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score. - Dark: https://www.anchorterminal.com/assets/share/factorial-dark.png - Light: https://www.anchorterminal.com/assets/share/factorial-light.png