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) |