Jobdanmark Search Skill
Access live Danish job listings from the Jobdanmark.dk public API. No authentication needed.
Covers ~15,000+ active job listings across 10 categories and all Danish municipalities.
When to use this skill
Invoke this skill when the user wants to:
- Search for job listings in Denmark (by keyword, location, category, or job type)
- Browse available jobs in a specific Danish city, municipality, zip code, or region
- Filter jobs by employment type (full-time, part-time, student job, apprentice, etc.)
- Look up the full details of a specific job posting including description and deadline
- List all job categories with current live job counts
- Resolve a job search term into a job title ID or category ID for precise filtering
- Find location suggestions (municipalities, zip codes, regions) for job search filters
Commands
Search job listings
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search [flags]
Key flags:
--text <keyword> — free-text search, e.g. elektriker, sygeplejerske, softwareudvikler
--category <id> — category ID (see Categories table below)
--jobtitle-id <id> — job title ID from autocomplete results
--municipality <name> — e.g. Odense, København, Aarhus
--zip <code> — zip code, e.g. 5000, 8000, 2100
--region <name> — region name, e.g. Midtjylland, Sjælland
--job-type <types> — comma-separated: fuldtid, deltid, fleksjob, elev, studiejob, praktik
--page <n> — page number (30 items per page, server-enforced)
--limit <n> — cap total results returned by CLI
--format json|table|plain
Per-page is fixed at 30 by the API. Use --page to paginate.
Full job detail
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts detail <slug> [--format json|plain]
slug is the URL path segment returned as slug in search results (e.g. it-chef-soeges-til-rah).
Returns full structured job data from the job page. The CLI prefers Schema.org JSON-LD when present and falls back to parsing the rendered HTML when Jobdanmark omits JSON-LD.
List categories with live counts
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts categories [--format json|table|plain]
Returns all 10 job categories with current live job counts. Useful for giving the user an overview of the job market.
Autocomplete job titles and categories
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts autocomplete --query "<text>" [--limit <n>]
Use this to resolve search terms into precise job title IDs (--jobtitle-id) or category IDs (--category) for search. The value field in results is the ID to pass to search.
Suggest locations
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts locations --query "<text>" [--limit <n>]
Returns matching municipalities, zip codes, and regions. Use value from results as --municipality or --zip in search.
Categories
| ID | Danish | English |
|---|
| 227972 | Pædagogik, Uddannelse og Forskning | Education, Research |
| 227973 | Håndværk, Industri, Transport og Landbrug | Crafts, Industry, Transport, Agriculture |
| 227974 | Salg, Kommunikation, Marketing, og Design | Sales, Communication, Marketing, Design |
| 227975 | Pleje, Social og Sundhed | Care, Social, Health |
| 227976 | Hotel, Service, Restauration og Sikkerhed | Hotel, Service, Restaurant, Security |
| 227977 | Kontor, Finans og Økonomi | Office, Finance, Economy |
| 227978 | IT, Ingeniør og Energi | IT, Engineering, Energy |
| 227979 | Ledelse, HR og projektstyring | Management, HR, Project Management |
| 543415 | Kirke, Kultur og Underholdning | Church, Culture, Entertainment |
| 227980 | Øvrige job | Other jobs |
How to use effectively
Resolve locations first. Use locations to find the correct municipality name or zip code before passing them to search:
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts locations --query "Aarhus" --format plain
Resolve job titles for precision. Use autocomplete to get the exact job title ID when the user wants a specific role:
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts autocomplete --query "sygeplejerske" --format plain
Natural workflow: search → detail.
- Use
search to get a list of matching jobs with their slug.
- Call
detail <slug> to get the full job posting with description, deadline, and organization details.
Use --format table for comparisons, --format json for data processing, and --format plain for single-record detail views.
Pagination: The API returns 30 items per page (server-enforced). Use --page to navigate through results. Use --limit to cap CLI output regardless of page size.
Combine filters for precise results — e.g. --text + --job-type + --municipality all work together in a single search request.
Usage examples
IT jobs in Copenhagen
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--category 227978 \
--municipality "København" \
--job-type fuldtid \
--format table
Nursing jobs anywhere in Denmark
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--text "sygeplejerske" \
--category 227975 \
--format table
Student jobs in Aarhus
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--municipality "Aarhus" \
--job-type studiejob \
--format table
What job categories are most active right now?
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts categories --format table
Full details for a specific job posting
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts detail it-chef-soeges-til-rah --format plain
Find jobs in zip code 8000
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search --zip 8000 --format table
What electrician jobs are available?
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--text "elektriker" \
--category 227973 \
--job-type "fuldtid,deltid" \
--format table
Apprentice positions in all of Denmark
bun run .agents/skills/jobdanmark-search/cli/src/cli.ts search \
--job-type elev \
--page 1 \
--format table
Output formats
| Format | Best for |
|---|
json | Default — programmatic use, data processing, passing IDs between commands |
table | Quick human-readable overviews and comparisons |
plain | Single-record detail views (detail) |
All errors are written to stderr as { "error": "...", "code": "..." } and the process exits with code 1.
Notes
- All data is from the public Jobdanmark.dk API — no credentials required.
- Pagination is 1-indexed (
--page 1 is the first page). 30 items per page, server-enforced.
- The
detail command fetches the HTML job page and parses embedded JSON-LD when available, with a rendered-HTML fallback for pages that omit structured data. It does not use a separate JSON API.
slug in search results is extracted from the API's relative url field (the path after /job/).
applicationDeadline in search results can be null (no deadline set).
- Job type values for filters:
fuldtid, deltid, fleksjob, elev, studiejob, praktik.