Cost to Build a Custom ATS: A 2026 Scope-Driver Breakdown
Search "cost to build a custom ATS" and most of what Google returns answers a different question. Workable, Toggl, ITQlick and SelectSoftwareReviews all rank on that phrase with per-seat subscription pricing — plan tiers, per-user rates, annual discounts. That is the cost of renting an applicant tracking system.
This post is about the other number: what it costs to build one. A codebase you own, running on your infrastructure, with no per-seat licence and no vendor roadmap deciding what ships next.
One more thing worth saying before the numbers. The two pages that do genuinely address build cost on this query — GoHire and HiringThing — are both ATS vendors, and both articles exist to talk you out of building. The offshore development shops ranking underneath them have the opposite bias: they sell builds, and none of them has ever run a recruiting desk.
First Bridge does both. We run a contract-staffing desk — bill/pay-rate spreads, margin tracking, VMS submissions, timesheet-to-invoice — and we build software for clients. We are genuinely indifferent to which way you go, and most of the agencies who ask us this question should buy Recruiterflow or JobAdder rather than build anything. What follows is the scoping model we use before that conversation, not a sales pitch for either outcome.
TL;DR
- Published market ranges: RaftLabs puts an agency-software MVP — ATS pipeline, candidate database, client CRM, contingency placement billing — at $140,000–$230,000 over 14–18 weeks, and a full platform adding temp billing, timesheets, I-9/E-Verify and white-label config at $260,000–$420,000 over 22–30 weeks. GoHire breaks a build into planning ($15,000–$40,000), development ($80,000–$300,000) and QA ($15,000–$60,000), and concludes the complete picture "can easily exceed $700,000".
- That spread is 10× wide because "ATS" is not one product. Scope, not seat count, sets the number.
- Seven drivers move it: integration count, résumé-parsing accuracy target, compliance surface, multi-tenancy, role/permission depth, reporting depth, and migration volume.
- The four line items most cost guides omit — maintenance run-rate, data migration, SOC 2 / ISO 27001 scope, and vendor-continuity risk — are typically where a build stops paying for itself, not the initial quote.
- We don't publish our rates. Every figure above is somebody else's published number, attributed. Ours are quoted per engagement after scoping.
Why the published ranges are so wide
A $50,000 ATS and a $400,000 ATS both do "requisitions, candidates, pipeline, offers". The difference is almost never the CRUD screens — those are commodity work in any modern stack (Next.js, Django, Rails, .NET). The difference is in the seams: what the system talks to, whose auditors look at it, and how many tenants and rate rules it has to keep straight.
An in-house ATS for a 200-person employer with one hiring workflow and no external clients is a genuinely small build. An agency-side recruitment CRM with per-client bill-rate tiers, VMS submission formatting, contractor timesheets feeding an invoice run, and GDPR retention rules across two jurisdictions is a different product wearing the same name. Vendors quoting "$15k" and vendors quoting "$400k" are frequently both being honest about different scopes.
If you have not yet decided whether to build at all, read build vs buy: ATS for a staffing agency first. This post assumes you have a reason to build and want to know what sets the price.
The seven cost drivers
| Cost driver | Cheapest defensible version | What pushes it up | Effort swing |
|---|---|---|---|
| Integrations | Email + calendar (Google/Microsoft Graph), one job board | Each VMS, ATS, payroll, background-check, e-sign or accounting endpoint added | +1–4 eng-weeks each |
| Résumé parsing accuracy | Third-party API (Affinda, Sovren/Textkernel, RChilli); accept vendor accuracy | In-house parsing, custom taxonomy, skills normalisation, multilingual CVs | Low → High |
| Compliance surface | Single jurisdiction, standard privacy policy, no certification | GDPR + EEOC/OFCCP + right-to-work, SOC 2 Type II or ISO 27001, audit logging | Low → Very high |
| Multi-tenancy | Single agency, single database | Client-facing portals, per-client data isolation, white-label branding, tenant-scoped auth | +4–10 eng-weeks |
| Roles and permissions | Two roles (admin, recruiter) | Per-desk visibility, split-placement ownership, client users, contractor self-service, field-level permissions | +2–6 eng-weeks |
| Reporting depth | Ten fixed dashboards | Bill/pay-spread and margin reporting, cohort time-to-fill, custom report builder, exportable client SLA packs | +3–8 eng-weeks |
| Data migration | Clean CSV, one source, <10k records | Multiple legacy systems, attachments, deduplication, activity history, note threading, live cutover | +2–8 eng-weeks |
Effort swings are our own planning heuristics used during scoping — not published market figures. They are useful for comparing options against each other, not for producing a quote.
Integrations
This is the single most reliable predictor of cost. Every integration carries authentication, field mapping, error handling, rate-limit backoff, retry logic, and a permanent maintenance obligation when the other side changes its API. A build with two integrations and a build with eleven are not the same project, even if the screens look identical. Count them precisely before anyone quotes you. If you are integrating with an incumbent ATS rather than replacing it, the unbundled approach is usually cheaper than a full platform.
Résumé parsing
Almost nobody should build this. Commercial parsing APIs are mature and priced per document; the accuracy gap between a licensed parser and a first in-house attempt is enormous. Building your own only makes sense when your taxonomy is genuinely non-standard — clinical credentialing, defence clearances, trade certifications — and even then, wrapping a commercial parser with a custom normalisation layer beats starting from scratch.
Compliance surface
The most under-scoped item on this list, covered below.
Multi-tenancy
Agency-side systems eventually want client-facing portals: a hiring manager logging in to review submissions with your branding. That single feature converts a single-tenant app into a multi-tenant one, and multi-tenancy touches authentication, every database query, every report, and your entire test surface. Decide it at architecture time. Retrofitting tenancy after launch is one of the more expensive rewrites in this category.
Roles and reporting
Where staffing-specific logic actually lives. A generic ATS build gives you "recruiter" and "admin". A staffing desk needs split-placement credit, desk-level pipeline visibility, contractors who see only their own timesheets, and clients who see only their own reqs. Reporting has the same problem: bill/pay-rate spread by client, by recruiter, and by contract with per-client tiered rate rules is not a chart you get for free from any framework.
Data migration
Covered below — it is routinely quoted at zero and delivered at considerable cost.
Worked scope example
A 40-recruiter contract staffing agency, US and UK desks, currently on OpenCATS plus a shared spreadsheet for margins. They want to replace both.
| Module | Scope decided | Relative effort |
|---|---|---|
| Core candidate + client CRM | Contacts, companies, notes, activity, document store | Baseline |
| Requisition + pipeline | Stages, submissions, right-to-represent tracking, interview scheduling | Baseline |
| Résumé parsing | Licensed third-party API, no custom taxonomy | Low |
| Integrations | Microsoft Graph, LinkedIn Recruiter export, two VMS portals, Xero, DocuSign | 6 integrations — high |
| Client portal | Branded submission review for 12 key accounts | Multi-tenant — high |
| Timesheet → invoice | Contractor entry, manager approval, weekly batch to Xero | Medium-high |
| Margin reporting | Bill/pay spread by client, recruiter, contract; per-client rate tiers | Medium-high |
| Compliance | GDPR retention + consent, UK right-to-work, audit log. No SOC 2 in year one | Medium |
| Migration | 34k candidates, 180k activity records, 61k attachments from OpenCATS | High |
Six integrations, multi-tenancy, timesheet-to-invoice and a real migration put this squarely in — and likely above — the $140,000–$230,000 MVP band RaftLabs publishes for agency software, before any compliance certification. Cut the client portal and two of the VMS integrations and it moves materially down the same range. That is the point of the exercise: scope is the lever, and it is a lever you control.
The same dynamic applies in adjacent build categories — our Shopify app development cost breakdown shows an identical 10× spread driven by which surfaces the software has to touch.
The four things most cost guides leave out
1. Maintenance and hosting run-rate
A custom ATS is not a purchase, it is a subscription you pay yourself. Ongoing spend covers hosting and managed database, backups and disaster recovery, dependency and framework upgrades, integration breakage when a VMS or payroll provider changes its API, security patching, support, and the feature work every live system generates. The published figures for this are worth more attention than the build quote. GoHire puts maintenance and updates at $18,000–$90,000 annually and hosting and security at a further $12,000–$84,000 annually; RaftLabs puts post-launch infrastructure alone at $1,000–$4,000 per month. If a proposal you receive names a build price and no run-rate at all, that omission is the finding. Compare the run-rate against the per-seat subscription you are replacing — for many agencies under 30 recruiters, that comparison ends the project.
2. Data migration
Vendors give migration away free as a sales incentive when you buy their ATS. Nobody gives it away when you build. Extracting from a legacy system is the easy half; the expensive half is deduplication, mapping activity history and note threads into a new schema, moving attachments without breaking references, and running a cutover that doesn't lose a week of recruiter activity. Ask for migration to be a separately priced work package with a named record count and a dry-run rehearsal. A migration quoted as a bullet point inside "launch" is not a plan.
3. SOC 2 / ISO 27001 scope
If you sell into enterprise or work through VMS programmes, a security questionnaire is coming. SOC 2 Type II and ISO 27001 are not features you add to a sprint — they are audit-window commitments involving access control, encryption at rest and in transit, comprehensive audit logging, change-management evidence, vendor management, and an observation period. Building the technical controls in from the start is far cheaper than retrofitting them under deal pressure. Certification also carries auditor and tooling costs entirely separate from the build. Decide before architecture whether you are in scope; that single decision moves the total more than any feature on your list.
4. Vendor-continuity risk
The risk nobody quoting the build wants to discuss. If the shop that built your ATS disappears, gets acquired, or simply loses the two engineers who knew the codebase, you own a system nobody can safely change. Protect against it contractually and technically: source code in your repository from commit one, infrastructure in your cloud accounts, IP assignment in writing, no proprietary framework you cannot hire for, documented runbooks, and a second team's code review before final payment. Mainstream stacks matter here — .NET, Django, Rails, Node and Next.js are all hireable in any market. A bespoke framework is not.
How to read a custom ATS proposal
- Is every integration named and individually estimated? "Third-party integrations" as one line means nobody counted.
- Is multi-tenancy an explicit architectural decision? Not "we can add clients later".
- Is migration a separate work package with a record count and a rehearsal?
- Is there a named annual maintenance figure, or silence?
- Whose GitHub org and whose AWS/Azure account? Yours, from day one.
- Is compliance scoped in or explicitly out? Both are fine; ambiguity is not.
- What's the handover artefact? Runbooks, architecture docs, and a working local setup another team can run.
- Is parsing licensed or built? If built, ask why, and don't accept "for accuracy".
FAQ
How much does it cost to build a recruitment CRM versus an ATS? Usually more. An employer-side ATS serves one company and one hiring workflow. An agency-side recruitment CRM carries multiple clients, bill/pay-rate spreads, submission tracking and often contractor payroll — more entities, more permissions, more reporting. Published ranges don't distinguish the two, which is part of why they look so wide.
Can we build only part of it? Frequently the best answer. Agencies that already own Bullhorn or JobAdder often need one missing layer — a client submission portal, VMS submission automation, or timesheet-to-invoice with margin reporting — built against an existing ATS via its API. Scope is a fraction of a platform build, and it lands inside an existing operating budget rather than requiring a capital decision.
How long does a custom ATS take? Effort, not calendar, is what you should negotiate. The variables in the table above swing timelines by multiples, and the two things that reliably extend them are integration count and unresolved compliance scope.
Is offshore development cheaper for this? Rates differ by market, and so does the continuity risk. The mitigations in the vendor-continuity section — your repository, your cloud accounts, mainstream stack, documented handover — matter more as the team gets further from you, not less.
Will a custom ATS beat a $149/user subscription? For most agencies under about 30 recruiters, no. Build wins on narrow grounds: niche compliance credentialing an off-the-shelf product won't model, per-client bill-rate tier logic no vendor supports, or white-label client-facing branding. If none of those apply, buy.
Scoping a build and want a straight answer about whether it's worth it? First Bridge Consulting runs a contract-staffing desk and a software development practice, and builds custom recruitment software — including the single-workflow bolt-ons that sit on top of an ATS you already own. We price per engagement after scoping, and we will tell you when buying is the better call. Get in touch or email success@firstbridgeconsulting.com.
Sources
Every dollar figure in this post is a range published by one of the following, attributed inline where it appears. None are First Bridge figures.
- RaftLabs — How to build recruiting and staffing agency software (MVP, full-platform and infrastructure figures)
- GoHire — The cost of building an ATS (phase breakdown, hosting, maintenance, and the $700,000 total)