Coding agent documentation index Fetch the complete documentation index at: https://docs.worklittle.com/docs-agent-manifest.json Use this file to discover all available pages before exploring further.

Apply for jobs

Worklittle lets you apply to up to 200 jobs at once, including support for over 4 million open listings. Connect your API key to apply for jobs and track jobs you applied to.

Quickstart

POST /jobs/apply starts an application. Worklittle opens the employer's form, fills it from the account's resume, and submits it.

You need a key with jobs:read and jobs:apply. Create one on API keys. Pick a job from Search jobs and only apply when can_apply is true.

curl -s -X POST "https://api.worklittle.com/jobs/apply" \
  -H "Authorization: Bearer $WORKLITTLE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "job_id": "JOB_ID" }'

The response has kind: "session" and a session object. Poll GET /jobs/apply/SESSION_ID with session.id until session.status is completed:

curl -s "https://api.worklittle.com/jobs/apply/SESSION_ID" \
  -H "Authorization: Bearer $WORKLITTLE_API_KEY"

Only completed means the application was submitted. Other statuses are queued (waiting for a free browser slot), running, awaiting_input, paused, failed, cancelled, and stopped. Worklittle runs up to 200 at once, and Apply with AI works on more than 3 million open jobs. To cancel, send POST /jobs/apply/SESSION_ID/stop. Send an Idempotency-Key header to make retries safe.

A successful session typically costs $0.01 to $0.03. See Pricing.

| Client | Start | Poll | Stop |
| --- | --- | --- | --- |
| SDK | `wl.apply.start({ job_id })` | `wl.apply.status(id)` | `wl.apply.stop(id)` |
| MCP | `apply_for_job` | `check_application_status` | `stop_application` |

MCP also has list_active_applications. Setup: Jobs MCP.

Request fields and scopes

| Field | Description |
| --- | --- |
| `job_id` | Required. The `id` from search results. |
| `resume_html`, `cover_letter_html` | Optional. Seed documents for the application. |
| `webhook_url` | Optional. Receives a POST when the session reaches `awaiting_submit`, `awaiting_input`, `paused`, `completed`, `failed`, `stopped`, or `cancelled`. |
| Scope | Allows |
| --- | --- |
| `jobs:read` | Search jobs and read details. |
| `jobs:apply` | `POST /jobs/apply` (MCP `apply_for_job`), `POST /jobs/:id/apply` (MCP `submit_job_application`), session poll and stop. |

For jobs posted on Worklittle, send hosted apply fields (name, email, resume_text, resume_file, or answers) with job_id and the application is submitted directly (kind: "submitted"). Otherwise Worklittle starts a browser session (kind: "session"). Hosted apply payloads are in Public job board.

Track applied jobs

Applications started with your key show up on the account automatically.

curl -s "https://api.worklittle.com/jobs/applied" \
  -H "Authorization: Bearer $WORKLITTLE_API_KEY"
| Status | Meaning |
| --- | --- |
| `in_progress` | The apply has started. |
| `applied` | The application was submitted. |
| `interview`, `offer`, `rejected`, `withdrawn` | You moved it to this stage. |

Tracking is free. GET /jobs/saved returns status counts, and GET /jobs/saved?status=saved returns the list. MCP: list_applied_jobs.

Related

| You are building | Go here |
| --- | --- |
| A careers site for one employer | [Public job board](/business/api/public-job-board) |
| ATS pipeline after someone applies | [ATS automation](/use-cases/ats-automation) |
| Resume or cover letter, then apply | [Resumes and cover letters](/use-cases/resume-cover-letter) |
| Prompting an apply agent | [Prompting for applications](/use-cases/prompting-applications) |