jobnet-search
Jobnet-Search Skill
Access live Danish job listings from the Jobnet.dk public API. No authentication needed. Jobnet is operated by STAR (Styrelsen for Arbejdsmarked og Rekruttering) and is Denmark's official government job portal — covering public sector positions as well as many private sector listings. Approximately 21,000+ active jobs at any time.
When to use this skill
Invoke this skill when the user wants to:
- Search for job openings in Denmark by keyword, title, or employer
- Filter jobs by region, work hours (full/part time), or employment duration (permanent/temporary)
- Find jobs near a specific postal code within a given radius
- Get full details for a specific job ad including description, contact persons, and application URL
- Discover occupation types and ESCO categories for more precise job filtering
- Explore autocomplete suggestions for Danish job titles or keywords
- Find jobs in the public sector, healthcare, IT, education, or any other Danish industry
Commands
Search for job ads
bun run skills/jobnet-search/cli/src/cli.ts search [flags]
Key flags:
--search-string <text>— keyword search, e.g.sygeplejerske,ingeniør,pædagog--region <region>—HovedstadenOgBornholm,Midtjylland,Syddanmark,OevrigeSjaelland,Nordjylland--postal-code <code>— postal code for radius-based search, e.g.2100--radius <km>— radius in km from postal code (default:50)--work-hours <type>—FullTimeorPartTime--duration <type>—PermanentorTemporary--job-type <type>—Ordinaert,Efterloenner,Foertidspension--occupation-area <id>— occupation area identifier, e.g.10000--occupation-group <id>— occupation group identifier, e.g.10060--order <type>—PublicationDate(default),BestMatch,ApplicationDate--page / --per-page / --limit--format json|table|plain
Full job ad detail
bun run skills/jobnet-search/cli/src/cli.ts detail <jobAdId> [--format json|plain]
jobAdId is the UUID from search results (the jobAdId field). Returns the complete job
description, contact persons, application deadline, employer details, and direct application URL.
Search occupation types
bun run skills/jobnet-search/cli/src/cli.ts occupations --search-string <text> [--per-page <n>]
Use this to discover ESCO occupation identifiers before passing them to search with
--occupation-area or --occupation-group.
Typeahead suggestions
bun run skills/jobnet-search/cli/src/cli.ts suggestions --query <text> [--limit <n>]
Returns Danish job title autocomplete strings. Useful for exploring valid Danish
job titles before constructing a search query.
How to use effectively
Discover occupations first. Use occupations or suggestions to find the right Danish
term or ESCO identifier before running a search:
bun run skills/jobnet-search/cli/src/cli.ts suggestions --query "syge"
bun run skills/jobnet-search/cli/src/cli.ts occupations --search-string "sygeplejerske"
Natural workflow: search → detail.
- Use
searchto get a list of matching jobs with theirjobAdId. - Call
detail <jobAdId>to get the full job description, contact persons, and direct application link.
Use --format table for comparisons, --format json for data processing, and
--format plain for single-record detail views (strips HTML from job body).
Pagination: --per-page controls server-side results per page. --limit caps what the
CLI outputs. Use --page + --per-page to iterate through large result sets.
Geographic search modes:
- Use
--regionfor broad regional filtering (e.g. all of Midtjylland) - Use
--postal-code+--radiusfor jobs near a specific location - Do not combine
--regionand--postal-codein the same query
Order matters for intent:
PublicationDate— newest postings first (default, good for "what's new")BestMatch— relevance score (best when--search-stringis provided)ApplicationDate— earliest deadline first (good for urgent applications)
Usage examples
Jobs in Copenhagen area
bun run skills/jobnet-search/cli/src/cli.ts search \
--region HovedstadenOgBornholm \
--per-page 10 \
--format table
Nurse jobs nationwide
bun run skills/jobnet-search/cli/src/cli.ts search \
--search-string "sygeplejerske" \
--work-hours FullTime \
--duration Permanent \
--order BestMatch \
--per-page 10 \
--format table
IT jobs near Aarhus within 30km
bun run skills/jobnet-search/cli/src/cli.ts search \
--search-string "udvikler" \
--postal-code 8000 \
--radius 30 \
--work-hours FullTime \
--format table
Full details of a job ad
bun run skills/jobnet-search/cli/src/cli.ts detail 9ef43bce-d82b-4ea1-a098-7ff6520f99be --format plain
Jobs sorted by application deadline (urgent first)
bun run skills/jobnet-search/cli/src/cli.ts search \
--search-string "pædagog" \
--region OevrigeSjaelland \
--order ApplicationDate \
--per-page 10
Discover occupation terms
bun run skills/jobnet-search/cli/src/cli.ts suggestions --query "ingeniør" --limit 5
bun run skills/jobnet-search/cli/src/cli.ts occupations --search-string "lærer" --per-page 5
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), strips HTML from job descriptions |
All errors are written to stderr as { "error": "...", "code": "..." } and the process exits with code 1.
Notes
- All data is from the public
jobnet.dk/bffREST API — no credentials required. - The API requires the
x-csrf: 1header; the CLI adds this automatically. - Pagination is 1-indexed (
--page 1is the first page). searchresults omit the HTML job description — usedetailto get it.detail --format plainstrips HTML tags for readable text output.- Job ad detail pages on jobnet.dk:
https://jobnet.dk/job/{jobAdId} suggestionsis tuned for Danish job titles — English terms may return empty results.