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 .agents/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> — FullTime or PartTime
--duration <type> — Permanent or Temporary
--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 .agents/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 .agents/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 .agents/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 .agents/skills/jobnet-search/cli/src/cli.ts suggestions --query "syge"
bun run .agents/skills/jobnet-search/cli/src/cli.ts occupations --search-string "sygeplejerske"
Natural workflow: search → detail.
- Use
search to get a list of matching jobs with their jobAdId.
- 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
--region for broad regional filtering (e.g. all of Midtjylland)
- Use
--postal-code + --radius for jobs near a specific location
- Do not combine
--region and --postal-code in the same query
Order matters for intent:
PublicationDate — newest postings first (default, good for "what's new")
BestMatch — relevance score (best when --search-string is provided)
ApplicationDate — earliest deadline first (good for urgent applications)
Usage examples
Jobs in Copenhagen area
bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
--region HovedstadenOgBornholm \
--per-page 10 \
--format table
Nurse jobs nationwide
bun run .agents/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 .agents/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 .agents/skills/jobnet-search/cli/src/cli.ts detail 9ef43bce-d82b-4ea1-a098-7ff6520f99be --format plain
Jobs sorted by application deadline (urgent first)
bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
--search-string "pædagog" \
--region OevrigeSjaelland \
--order ApplicationDate \
--per-page 10
Discover occupation terms
bun run .agents/skills/jobnet-search/cli/src/cli.ts suggestions --query "ingeniør" --limit 5
bun run .agents/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/bff REST API — no credentials required.
- The API requires the
x-csrf: 1 header; the CLI adds this automatically.
- Pagination is 1-indexed (
--page 1 is the first page).
search results omit the HTML job description — use detail to get it.
detail --format plain strips HTML tags for readable text output.
- Job ad detail pages on jobnet.dk:
https://jobnet.dk/find-job/{jobAdId}
suggestions is tuned for Danish job titles — English terms may return empty results.
1---2name: jobnet-search3description: Make sure to use this skill whenever the user mentions anything related to Danish job searching, job listings, job vacancies, employment opportunities in Denmark, or the Danish government job portal — even if they don't mention jobnet.dk explicitly. Also invoke this skill for questions about specific job titles, occupations, employers, or regions in a Danish employment context. This skill covers the official Danish public job portal operated by STAR (Styrelsen for Arbejdsmarked og Rekruttering). Trigger phrases include: danish jobs, danish job search, jobnet, jobnet.dk, find job denmark, danish employment, job i danmark, job på jobnet, offentlige job, stillinger i det offentlige, public sector jobs denmark, government jobs denmark, STAR jobs, job ledige stillinger, ledig stilling, søg job, job opslag, job vacancy denmark, stillingopslag, jobopslag, sygepleje job, ingeniør job, lærer job, pædagog job, it-job denmark, jobs in copenhagen, jobs in aarhus, jobs in odense, deltidsjob, fuldtidsjob, fastansættelse, t4---5
6# Jobnet-Search Skill
7
8Access live Danish job listings from the Jobnet.dk public API. No authentication needed.
9Jobnet is operated by STAR (Styrelsen for Arbejdsmarked og Rekruttering) and is Denmark's
10official government job portal — covering public sector positions as well as many private
11sector listings. Approximately 21,000+ active jobs at any time.
12
13## When to use this skill
14
15Invoke this skill when the user wants to:
16
17- Search for job openings in Denmark by keyword, title, or employer
18- Filter jobs by region, work hours (full/part time), or employment duration (permanent/temporary)
19- Find jobs near a specific postal code within a given radius
20- Get full details for a specific job ad including description, contact persons, and application URL
21- Discover occupation types and ESCO categories for more precise job filtering
22- Explore autocomplete suggestions for Danish job titles or keywords
23- Find jobs in the public sector, healthcare, IT, education, or any other Danish industry
24
25## Commands
26
27### Search for job ads
28
29```bash
30bun run .agents/skills/jobnet-search/cli/src/cli.ts search [flags]
31```
32
33Key flags:
34- `--search-string <text>` — keyword search, e.g. `sygeplejerske`, `ingeniør`, `pædagog`
35- `--region <region>` — `HovedstadenOgBornholm`, `Midtjylland`, `Syddanmark`, `OevrigeSjaelland`, `Nordjylland`
36- `--postal-code <code>` — postal code for radius-based search, e.g. `2100`
37- `--radius <km>` — radius in km from postal code (default: `50`)
38- `--work-hours <type>` — `FullTime` or `PartTime`
39- `--duration <type>` — `Permanent` or `Temporary`
40- `--job-type <type>` — `Ordinaert`, `Efterloenner`, `Foertidspension`
41- `--occupation-area <id>` — occupation area identifier, e.g. `10000`
42- `--occupation-group <id>` — occupation group identifier, e.g. `10060`
43- `--order <type>` — `PublicationDate` (default), `BestMatch`, `ApplicationDate`
44- `--page / --per-page / --limit`
45- `--format json|table|plain`
46
47### Full job ad detail
48
49```bash
50bun run .agents/skills/jobnet-search/cli/src/cli.ts detail <jobAdId> [--format json|plain]
51```
52
53`jobAdId` is the UUID from `search` results (the `jobAdId` field). Returns the complete job
54description, contact persons, application deadline, employer details, and direct application URL.
55
56### Search occupation types
57
58```bash
59bun run .agents/skills/jobnet-search/cli/src/cli.ts occupations --search-string <text> [--per-page <n>]
60```
61
62Use this to discover ESCO occupation identifiers before passing them to `search` with
63`--occupation-area` or `--occupation-group`.
64
65### Typeahead suggestions
66
67```bash
68bun run .agents/skills/jobnet-search/cli/src/cli.ts suggestions --query <text> [--limit <n>]
69```
70
71Returns Danish job title autocomplete strings. Useful for exploring valid Danish
72job titles before constructing a `search` query.
73
74---
75
76## How to use effectively
77
78**Discover occupations first.** Use `occupations` or `suggestions` to find the right Danish
79term or ESCO identifier before running a `search`:
80
81```bash
82bun run .agents/skills/jobnet-search/cli/src/cli.ts suggestions --query "syge"
83bun run .agents/skills/jobnet-search/cli/src/cli.ts occupations --search-string "sygeplejerske"
84```
85
86**Natural workflow: `search` → `detail`.**
871. Use `search` to get a list of matching jobs with their `jobAdId`.
882. Call `detail <jobAdId>` to get the full job description, contact persons, and direct application link.
89
90**Use `--format table` for comparisons**, `--format json` for data processing, and
91`--format plain` for single-record detail views (strips HTML from job body).
92
93**Pagination**: `--per-page` controls server-side results per page. `--limit` caps what the
94CLI outputs. Use `--page` + `--per-page` to iterate through large result sets.
95
96**Geographic search modes:**
97- Use `--region` for broad regional filtering (e.g. all of Midtjylland)
98- Use `--postal-code` + `--radius` for jobs near a specific location
99- Do not combine `--region` and `--postal-code` in the same query
100
101**Order matters for intent:**
102- `PublicationDate` — newest postings first (default, good for "what's new")
103- `BestMatch` — relevance score (best when `--search-string` is provided)
104- `ApplicationDate` — earliest deadline first (good for urgent applications)
105
106---
107
108## Usage examples
109
110### Jobs in Copenhagen area
111
112```bash
113bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
114 --region HovedstadenOgBornholm \
115 --per-page 10 \
116 --format table
117```
118
119### Nurse jobs nationwide
120
121```bash
122bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
123 --search-string "sygeplejerske" \
124 --work-hours FullTime \
125 --duration Permanent \
126 --order BestMatch \
127 --per-page 10 \
128 --format table
129```
130
131### IT jobs near Aarhus within 30km
132
133```bash
134bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
135 --search-string "udvikler" \
136 --postal-code 8000 \
137 --radius 30 \
138 --work-hours FullTime \
139 --format table
140```
141
142### Full details of a job ad
143
144```bash
145bun run .agents/skills/jobnet-search/cli/src/cli.ts detail 9ef43bce-d82b-4ea1-a098-7ff6520f99be --format plain
146```
147
148### Jobs sorted by application deadline (urgent first)
149
150```bash
151bun run .agents/skills/jobnet-search/cli/src/cli.ts search \
152 --search-string "pædagog" \
153 --region OevrigeSjaelland \
154 --order ApplicationDate \
155 --per-page 10
156```
157
158### Discover occupation terms
159
160```bash
161bun run .agents/skills/jobnet-search/cli/src/cli.ts suggestions --query "ingeniør" --limit 5
162bun run .agents/skills/jobnet-search/cli/src/cli.ts occupations --search-string "lærer" --per-page 5
163```
164
165---
166
167## Output formats
168
169| Format | Best for |
170|--------|----------|
171| `json` | Default — programmatic use, data processing, passing IDs between commands |
172| `table` | Quick human-readable overviews and comparisons |
173| `plain` | Single-record detail views (`detail`), strips HTML from job descriptions |
174
175All errors are written to **stderr** as `{ "error": "...", "code": "..." }` and the process exits with code `1`.
176
177---
178
179## Notes
180
181- All data is from the public `jobnet.dk/bff` REST API — no credentials required.
182- The API requires the `x-csrf: 1` header; the CLI adds this automatically.
183- Pagination is 1-indexed (`--page 1` is the first page).
184- `search` results omit the HTML job description — use `detail` to get it.
185- `detail --format plain` strips HTML tags for readable text output.
186- Job ad detail pages on jobnet.dk: `https://jobnet.dk/find-job/{jobAdId}`
187- `suggestions` is tuned for Danish job titles — English terms may return empty results.