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

Application · GreenhouseAgent running
Full name
Email
Resume
Why do you want to work here?
Authorized to work · Yes
Requires sponsorship · No
Submitted ✓
Filling fields…0.0s

Submits to 40+ ATS platforms

GreenhouseLeverWorkdayAshbyRipplingWorkableBambooHRiCIMS+ 32 more

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.

40+
ATS platforms, one integration
97.8%
Submission success rate
10 min
To your first API call
<24h
From signup to production

The reality

Nobody fills out job applications manually anymore

01

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.

02

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.

03

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.

Request
# 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"
    }
  ]
}
Response
{
  "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

01

Connect

Get an API key, install the SDK, or set up White Label. Takes 10 minutes.

02

Send a profile + job

Pass a candidate profile and a job URL — or use the Search API to find jobs first.

03

We apply

Our AI fills the ATS form, handles CAPTCHAs, and submits. You do nothing.

04

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 APIDIY browser automationOpen-source bots
Setup time10 minutes to first callWeeks per ATS integrationHours of local config per user
ATS coverage40+ platforms, one APIOnly what you buildUsually one board (e.g. LinkedIn)
When forms changeWe update. Your code doesn't change.Your scripts break silentlyWait for a repo maintainer
CAPTCHAs & anti-botHandled per platformYour problemMostly unhandled
Runs whereOur cloud — purpose-built ATS integrations, not PuppeteerYour infrastructureThe end user's laptop
Status trackingWebhooks + dashboardBuild it yourselfLog files
Cost modelPer application. Failures not billed.Engineering headcountFree, 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.

Screening questions

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

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.

Duplicates

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

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 started

Custom

Volume pricing

Custom pricing based on your volume, with dedicated support and SLAs included. For platforms submitting at serious scale.

Talk to sales
Search APIAll 40+ ATSCareer pagesCloud executionWebhooksWhite-labelSandbox

Your in-house AI agent for job applications. Live in under 24 hours.

Buy credits · Self-serve · Live in under 24 hours