# PayFit (slim) > 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. - Full: https://www.anchorterminal.com/tools/payfit.md (~7,300 tokens) · this version ~1,480 tokens · JSON https://www.anchorterminal.com/tools/payfit.json · canonical https://www.anchorterminal.com/tools/payfit - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-09 **C · 55.5/100 · rank #656 of 950 · #5 in Payroll infrastructure · not agent-ready · confidence medium** Assessment: 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. ## Facts - Kind: HTTP API · vendor: PayFit SAS · category: Payroll infrastructure · legal entity: PayFit SAS · provenance 84/100 - Local only (HTTP) - Auth: OAuth or key · pricing: Paid · x402: no · licence: Proprietary service under PayFit's general terms of service - Probe metrics: not measured yet (probes haven't run) - API: Partner API 1.0, OpenAPI 3.0.0, 31 operations at https://partner-api.payfit.com. 22 GET, 5 POST, 2 PUT (France only), 1 DELETE and 1 billing declaration for partners - Coverage by country: 12 operations for France, the UK and Spain, 15 for France only (French contracts, accounting exports, health insurance, meal vouchers, worked time, contract creation), 2 for the UK only (income tax and auto enrolment documents) - Credentials: Customer API key created by a company admin with chosen scopes, sent as a Bearer token. Partners use the OAuth 2.0 authorisation code grant with a client ID and secret issued by PayFit, and one token per company per client - Scopes: 22 in the OpenAPI file, such as `collaborators:read`, `collaborators:bank-info:read`, `contracts:payslips:read`, `accounting:read`, `time:write` and `health-insurance:write` - Rate limits: 50 requests a second for reads and 20 for writes, per client application. 429 answers `{"message": "API rate limit exceeded"}` with `X-RateLimit-Limit-Second` and `X-RateLimit-Remaining-Second` headers - Pagination: `nextPageToken` and `maxResults` (default 10, maximum 50) on six list operations. Filters by email, contract, status and date range - Webhooks: Delivered through Svix for partners, on request to PayFit - Plans with the API (France): Paie avancée at 27 € a collaborator a month plus a 49 € monthly subscription for 1 to 3 collaborators, and RH+ at 30 € plus 49 €, both before tax. Not in the Paie plan at 20 € - Status page: https://status.payfit.com on StatusPal, ten components including Run Payroll and Custom integrations, with incident history - Scores: Reliability 79, Performance pending, Schema & documentation 78, Agent ergonomics 51, Security & auth 51, Payments & pricing 10, Task success pending, Maintenance & community 28, Transparency & trust 70 · total over the 7 assessed categories - Why: Reliability, Read with the hosted lines. · Schema & documentation, A public OpenAPI 3.0.0 file, linked from the FAQ, with 31 operations and 19 named schemas (25). · Agent ergonomics, List operations take `maxResults` (default 10, maximum 50), one operation takes a `fields` parameter, and the FAQ says responses carry ETags… · Security & auth, Customer API keys are created by a company admin with chosen scopes and shown once. · Payments & pricing, Read with the hosted rubric. · Maintenance & community, Closed service. · Transparency & trust, Closed service. - Sources: 23, open questions: 12, both in the full twin - Capabilities: payroll.employees, hr.time-off, hr.employees - JSON: https://www.anchorterminal.com/api/v1/tools/payfit.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/payfit.svg` or a link to https://www.anchorterminal.com/tools/payfit from a page on payfit.com or one of its subdomains, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. 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 2. POST the key to `https://oauth.payfit.com/introspect` to get `company_id`, then call `https://partner-api.payfit.com/companies/{companyId}/...` 3. Page lists with `nextPageToken` and `maxResults`, which defaults to 10 and stops at 50 4. Check before repeating a failed POST. There is no idempotency key, and `POST /absences` creates an absence that is already validated 5. 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 ## Connect ```bash curl --request GET --url https://partner-api.payfit.com/companies/{companyId} --header 'Authorization: Bearer YOUR-API-KEY' ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/payfit ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Finch | BB | 71.6 | payroll.employees, hr.employees | https://www.anchorterminal.com/tools/finch.min.md | | Remote | BB | 70.7 | hr.employees, hr.time-off | https://www.anchorterminal.com/tools/remote.min.md | | Deel | B | 69.1 | hr.employees, hr.time-off | https://www.anchorterminal.com/tools/deel.min.md | | Factorial | B | 66.3 | hr.employees, hr.time-off | https://www.anchorterminal.com/tools/factorial.min.md | | Gusto | B | 63.3 | payroll.employees, hr.time-off | https://www.anchorterminal.com/tools/gusto.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)