Start
Agent docs
Set up Dreamwork in Claude Code, Cursor or Claude and apply to jobs from your own agent.
Vision
Dreamwork is the job-search intelligence layer
Dreamwork is not just a job search endpoint. It gives connected agents the candidate-scoped context and workflow surface to find roles, rank opportunities, prepare applications, track outcomes, and improve future decisions over time.
System of record
Profile, listings, pipeline
Durable facts about the candidate, market, and application state.
System of intelligence
Recommendations and actions
Reasoning over context to decide what should happen next.
MCP package
@dreamworkhq/mcp
Gives agents the same candidate-scoped workflow contracts as the web app.
Current surface
What agents can do
Agents can search live listings, read recommendations, update profile preferences, add jobs, generate tailored packs, submit applications, and route uncertain cases back to the candidate.
Discovery
Read platform listings, personalized recommendations, and hidden-listing state. Public listing detail is available without a candidate key; personalized routes use candidate context.
- GET
/listingsPaginated live listings with company, function, seniority, and remote filters.
Stable - GET
/listings/:idFull detail for one listing: description, salary, company, source metadata, and apply URL.
Stable - GET
/listings/recommendedPersonalized matches ranked against the candidate's profile and preferences.
Beta - POST
/listings/:id/dismissHide a listing from future recommendations for the authenticated candidate.
Stabilizing - DELETE
/listings/:id/dismissRestore a hidden listing so it can return to the candidate's recommendations.
Stabilizing - GET
/listings/dismissedPage through listings the candidate has hidden, newest first, with title, company and whether each is still active.
Stabilizing
Profiles
Candidate context for every agent action: identity, resume status, preferences, assets, and analysis.
- GET
/profileReturn profile, resume status, readiness flags, and plan information.
Stable - PUT
/profilePatch candidate profile fields from structured agent input.
Stable - POST
/profile/preferences/natural-languageTurn plain-English preferences into structured search constraints.
Beta - GET
/profile/analysisResume analysis output: skills, seniority, salary range, and fit signals.
Beta - POST
/profile/resume/reprocessRe-run resume parsing and profile analysis for the candidate.
Stabilizing
Pipeline
The candidate's working set of roles across web, HTTP, and MCP clients. Updates are user-scoped and durable.
- GET
/pipelineKanban-shaped response: added, in review, pack-ready, sent, and closed.
Stable - PATCH
/pipeline/:jobId/statusMove one added job between pipeline stages.
Stabilizing - GET
/jobsList added jobs with optional status, listingId and limit filters.
Stable - POST
/listings/:id/addAdd a platform listing to the candidate's pipeline.
Stable - POST
/jobsManually add a job that did not come from the platform listing index.
Stabilizing - GET
/jobs/:id/detailsFetch an added job with application and pack state.
Stable - GET
/jobs/:idRead full details for one added job.
Stable - POST
/jobs/importImport a job from a URL and extract structured details.
Beta - POST
/jobs/:id/skipSkip or dismiss an added job.
Stabilizing
Applications
Generate application materials, trigger submission, and surface cases that require candidate review.
- POST
/jobs/:id/packQueue application materials for an added job. `assets` names a subset (`resume`, `coverLetter`, `answers`); omitting it generates all three.
Beta - GET
/applications/:id/packRead generated pack state and application materials for an application.
Beta - POST
/jobs/:id/applySubmit the prepared application or return a candidate-review state when more context is needed.
Stabilizing - POST
/applications/:id/resumeGenerate a tailored resume for an application.
Beta - GET
/applications/:id/resumesList tailored resumes generated for an application.
Beta