Job application API

The API to apply on jobs.

You send a POST request with a job URL and a candidate profile. We fill out the application — every field, every dropdown, every “please re-enter your resume” — and file it with the employer’s ATS. You get a webhook.

40+ ATSs · ~3 min median submit · Consent required

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

Definition

What is a job application API?

A job application API is a web service that applies to jobs programmatically. A developer submits a job posting URL and structured candidate data; the API completes the employer’s ATS form — fields, resume upload, screening questions — and submits it, returning a confirmation. It replaces manual form-filling with a single request.

Products

Which product do you need?

Answer one question and we’ll point you to the right one.

What do you have?

Product A

Apply API

The core primitive. POST a job URL + candidate object, receive a submitted application. Built for job-search products that already know where to apply.

  • REST, JSON in, webhook out
  • 40+ ATSs, one schema
  • Screening-question engine

Product B

Search + Apply

Job discovery bundled with submission. Query open roles by title, location, and ATS, then apply through the same pipeline — one integration, both halves.

  • Structured job feed
  • Dedup + freshness checks
  • Same apply pipeline

Product C

Managed Applies

Send us a spreadsheet, get back confirmations. We run the API on your behalf — no integration, no infrastructure, per-application pricing.

  • CSV in, receipts out
  • Human review queue
  • No code required

Procedure

How the job application API works

Four steps between your request and a filed application, processed in order.

01

You POST

One request: the job posting URL and a candidate object — name, contact, work history, resume file, answers to common screeners.

02

We identify the ATS

The URL resolves to its underlying applicant tracking system — Workday, Greenhouse, Lever, or 40+ others — and the matching form adapter loads.

03

The form gets filled

Every field mapped, resume uploaded, screening questions answered from candidate data. Anything we can’t answer truthfully pauses for input — we never guess.

04

You get a webhook

Every application resolves: submitted, needs_input, or failed — with a screenshot receipt of the confirmation page.

The request

Apply to a job in one request

The entire integration surface of an API to apply on jobs. Send a candidate profile and a job URL; we detect the ATS, fill every field, 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"
}

The alternatives

API vs. building it yourself vs. browser bots

Three ways to apply on jobs programmatically, side by side.

The Boring ProjectBuild in-houseBrowser RPA / scrapers
Time to first applicationUnder an hour3–6 months per ATS familyDays, per site
ATS coverage40+ systems, one schemaWhatever you buildPer-site scripts
Breaks when forms changeOur problem — adapters monitored 24/7Your problemConstantly, silently
Screening questionsAnswered from candidate data; pauses if unsureYou build the logicUsually skipped or guessed
Proof of submissionWebhook + screenshot receiptIf you build itRarely
Cost modelPer application2–3 engineers, indefinitelyCheap until it breaks

Coverage

Is your ATS supported?

Type the name of an applicant tracking system and we’ll check it against the list.

Currently supported: Workday, Greenhouse, Lever, Ashby, Rippling, and more. Missing one? It becomes our backlog, not yours.

Full disclosure

The parts that are genuinely hard

Applying to jobs by API sounds simple. It isn't. Here's what actually breaks, and what we do about it.

Workday is a labyrinth

Multi-step, tenant-specific, occasionally requires account creation. Our Workday adapter handles account provisioning and step detection per tenant, and it's the single largest file in our codebase. Median submit time is longer here — we publish it rather than hide it.

Screening questions have stakes

“Are you willing to relocate?” isn't a field, it's a decision. Anything not answerable from the candidate profile returns needs_input instead of a guess. Fabricated answers get candidates rejected and get APIs banned. We do neither.

Forms change without notice

ATS vendors ship UI updates weekly. Every adapter runs synthetic test applications daily; a failed canary pages us before it fails you. Breakage windows are published on the status page, not discovered in your error logs.

Rate limits protect everyone

Employers don't want a flood, and candidates don't benefit from one. We enforce per-employer pacing and require candidate consent on every application. This keeps the pipes open for everybody — including you.

Common questions

Questions, answered first

What is an API to apply on jobs?

It's a web service that submits job applications programmatically. You send a POST request with a job posting URL and candidate data; the API completes the employer's ATS form — every field, the resume upload, the screening questions — and submits it, returning a confirmation webhook. It turns a 20-minute manual chore into one request.

Which ATSs does the job application API support?

40+ applicant tracking systems, including Workday, Greenhouse, Lever, iCIMS, Taleo, SuccessFactors, SmartRecruiters, Ashby, and Workable. Use the coverage checker above, or ask — unsupported ATSs are typically added within days of a request.

Is applying to jobs through an API allowed?

Yes — when it's a real candidate, with their consent, using accurate data. That's not a loophole, it's our terms of service. We require candidate consent per application, never fabricate answers, and enforce per-employer rate limits. What we automate is the paperwork, not the honesty.

How fast are applications submitted?

Median is about three minutes. Simple forms (Greenhouse, Lever, Ashby) usually finish in under a minute; multi-step enterprise systems like Workday take longer. Every request resolves to a webhook — submitted, needs_input, or failed — with a screenshot receipt.

Who is The Boring Project for?

Developers and founders building job-search products — auto-apply tools, career copilots, staffing platforms, university career services. We're the infrastructure layer, not the consumer app: your users, your interface, our paperwork.

Applying on jobs is boring. Ship the interesting part.

Your product is the matching, the coaching, the experience. The form-filling is ours. Get an API key and file your first application today.