Auto-apply infrastructure
The API to Apply on Jobs.
One REST call submits a complete job application — AI form filling, resume upload, screening questions, CAPTCHAs — across 40+ ATS platforms. You send a profile and a job URL. We do the boring part.
Self-serve · First call in 10 minutes · 97.8% submission success
Submits to 40+ ATS platforms
Definition
What is a job application API?
A job application API is a programmatic interface that submits job applications on a candidate's behalf. Instead of a person filling out ATS forms manually, your platform sends a candidate profile and a job URL — the API completes the form, uploads the resume, answers screening questions, and returns a structured status response.
The reality
Nobody fills out job applications manually anymore
Completion rates are collapsing
Users expect one-click apply. If your platform redirects them to an ATS form, they bounce — and the application never happens.
AI auto-apply is the new baseline
Every job platform, AI tool, and staffing firm is shipping automated applications. If you don't, your competitors already did.
Not having it is a churn risk
If your business depends on people applying to jobs, auto-apply isn't a feature anymore. It's table stakes.
The interface
One request. One application. Done.
Send a candidate profile and a job URL. We detect the ATS, fill every field, upload documents, answer screening questions, and confirm submission — then fire a webhook.
# POST https://apply-api.boringproject.ai/api/v1/sessions/apply
{
"candidateProfileId": "prof_xyz789",
"jobs": [
{
"companyName": "Acme Corp",
"title": "Senior Software Engineer",
"jobId": "12345",
"link": "https://boards.greenhouse.io/acme/jobs/12345"
}
]
}{
"sessionId": "sess_abc123",
"type": "run_once",
"userId": "usr_abc123",
"candidateProfileId": "prof_xyz789",
"status": "active",
"stats": {
"totalRuns": 1,
"totalApplications": 0,
"successfulApplications": 0,
"failedApplications": 0,
"applicationsSkipped": 0,
"jobsQueued": 1
},
"searchContext": { "titles": ["Senior Software Engineer"], "locations": [] },
"createdAt": "2024-02-14T11:00:00Z"
}Capabilities
Everything you need to auto-apply at scale
40+ ATS platforms
Greenhouse, Lever, Workday, iCIMS, Ashby, and more. One integration covers them all — and when an ATS changes, we update, not you.
AI form filling
AI reads every field, maps candidate data, and fills forms — including custom questions and free-text answers.
CAPTCHA & anti-bot
CAPTCHAs, proxies, OTPs, rate limits. All handled automatically, per platform, in the cloud.
Webhooks & tracking
Real-time status for every application, from submitted to confirmed. Know exactly what happened and when.
Resume parsing
Send a JSON profile or a raw resume. We extract, structure, and map it to every ATS schema.
Playground & SDKs
Test in the live playground before going live. SDKs for Python and Node, plus plain REST and a sandbox.
Procedure
From zero to live in under 24 hours
Connect
Get an API key, install the SDK, or set up White Label. Takes 10 minutes.
Send a profile + job
Pass a candidate profile and a job URL — or use the Search API to find jobs first.
We apply
Our AI fills the ATS form, handles CAPTCHAs, and submits. You do nothing.
Get status
Webhooks fire in real time. Track every application from submitted to confirmed.
The alternatives
API vs. building it yourself vs. open-source bots
Three ways to automate job applications. Two of them become your full-time job.
| The Boring Project API | DIY browser automation | Open-source bots | |
|---|---|---|---|
| Setup time | 10 minutes to first call | Weeks per ATS integration | Hours of local config per user |
| ATS coverage | 40+ platforms, one API | Only what you build | Usually one board (e.g. LinkedIn) |
| When forms change | We update. Your code doesn't change. | Your scripts break silently | Wait for a repo maintainer |
| CAPTCHAs & anti-bot | Handled per platform | Your problem | Mostly unhandled |
| Runs where | Our cloud — purpose-built ATS integrations, not Puppeteer | Your infrastructure | The end user's laptop |
| Status tracking | Webhooks + dashboard | Build it yourself | Log files |
| Cost model | Per application. Failures not billed. | Engineering headcount | Free, plus your weekends |
Full disclosure
How we handle the hard parts
Anyone can fill a text field. These are the parts that make auto-apply infrastructure actually hard — and how we solve each one.
Custom & free-text questions
Every ATS form has custom questions. Our AI answers them from the candidate's structured profile — never inventing qualifications. Answers you provide in the profile always take priority over generated ones.
CAPTCHAs, OTPs & rate limits
Each platform gets purpose-built handling: CAPTCHA solving, rotating proxies, one-time-password flows, and per-ATS rate limiting. This is why we're not Puppeteer.
Duplicate-application prevention
We track every (candidate, job) pair. Re-submitting the same application returns the existing record instead of spamming the employer — protecting your users' reputation.
Failures & retries
When an ATS is down or a job closes, the application fails cleanly, a webhook tells you why, and you aren't billed. Transient errors retry automatically before we ever report a failure.
Common questions
Frequently asked questions
Can I try it without a sales call?
Yes. Sign up, get an API key, buy credits, and submit your first application. Completely self-serve.
How long does integration take?
First API call in 10 minutes. Production-ready in under 24 hours.
What happens when an ATS changes their forms?
We update our integration. Your API calls don't change. You won't even notice.
Is this browser automation?
No. Purpose-built cloud integrations for each ATS — form logic, validations, file uploads, CAPTCHAs. Not Puppeteer.
What's the success rate?
97.8%. Failures are mostly ATS downtime or closed jobs. Failed submissions aren't billed.
Do users see your brand?
No. Everything runs under your brand. We're invisible.
Can I apply on behalf of my users?
Yes — that's the core use case. Your users provide their profile and consent inside your product; you pass it to the API per application.
Which product is right for me?
Building a platform → API Platform. Have an audience → White Label. Have a team applying for clients → Auto-Apply Engine.
Pricing
Start self-serve. Scale when you're ready.
Pay as you go
Buy credits
Purchase credits from your dashboard and start applying right away. Per-application pricing, failures not billed, no sales call required.
Get startedCustom
Volume pricing
Custom pricing based on your volume, with dedicated support and SLAs included. For platforms submitting at serious scale.
Talk to salesYour in-house AI agent for job applications. Live in under 24 hours.
Buy credits · Self-serve · Live in under 24 hours