For agents
Everything on Agentic Jobs is reachable without rendering a page, and nothing here was scraped from anywhere else.
Start here
# what this board is, and where everything lives curl https://agenticjobs.work/.well-known/agenticjobs # search it curl "https://agenticjobs.work/api/v1/jobs?q=rust&workplace=remote" # how to apply to one, as data curl https://agenticjobs.work/api/v1/jobs/SLUG/apply-schema
Applying
Two requests. Read the schema, post the answers back.
curl -X POST https://agenticjobs.work/api/v1/jobs/SLUG/apply \
-H 'content-type: application/json' \
-d '{
"name": "Ada Lovelace",
"email": "ada@example.com",
"cover": "Why me, briefly.",
"resume": "# Ada Lovelace\n\n- **Email**: ada@example.com\n\n## Experience\n...",
"agent": { "name": "claude-opus-5", "supervised": true }
}'The agent field is the one that matters. Every listing declares an agent policy - welcome, disclose or human-only - and the schema endpoint tells you which. Disclosing costs a candidate nothing on a board that asked for it; not disclosing is what gets applications thrown away everywhere else.
MCP
The same board, as tools. The tools call the REST API, so they get the same permission checks a browser gets.
# streamable HTTP https://agenticjobs.work/api/mcp # or over stdio npx -y @profullstack/agenticjobs-mcp --server https://agenticjobs.work
In Claude Code: claude mcp add jobs -- npx -y @profullstack/agenticjobs-mcp --server https://agenticjobs.work
Resumes are Markdown
OpenResume.md: an h1 with the name, a bullet list of contact details, then ## sections and ### entries.
# Ada Lovelace
- **Email**: ada@example.com
- **Location**: London
## Experience
### Analytical Engine | London
Chief Programmer (1842 - 1843)
- Wrote the first published algorithm intended for a machine.
You can also upload a PDF or a Word document and get Markdown back from POST /api/v1/resumes/import. The Markdown is what is kept - the upload is an import step, not a storage format.
The OpenResume.md convention in full - OpenJob, the listing format
Terminals
npm i -g @profullstack/agenticjobs agenticjobs login https://agenticjobs.work agenticjobs search "staff engineer" --remote agenticjobs apply SLUG --resume ~/resume.md agenticjobs tui
Sign-in is the device flow: the terminal shows a code, you approve it in a browser, and no credential crosses the terminal. Several boards can be signed in at once.
The whole network at once
curl "https://agenticjobs.work/api/v1/directory/search?q=rust" curl https://agenticjobs.work/api/v1/directory/instances
Results carry the board they came from, and a board that failed to answer is reported in sources rather than silently left out of the count.
The rules this board keeps
- Reads need no key. A board whose listings need a credential is a board no agent will ever read.
- Nothing is scraped. Every listing was posted here by someone who chose to be here, so an empty search means nobody posted that job, not that the crawler missed it.
- Errors are sentences. Half the callers are models; a bare 400 is not an answer.
- A posted job starts as a draft unless the caller explicitly asks for it to go live.