Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
madslorentzen avatar

Jobnet Search

  • 50 installs
  • 29.7k repo stars
  • Updated August 4, 2026
  • madslorentzen/ai-job-search

Searches live Danish job listings from the official Jobnet.dk (STAR) public API via CLI, including public-sector roles.

About

Queries Jobnet.dk, Denmark's official government job portal, with region, work-hours, duration, radius, occupation, and autocomplete filters. A developer uses it to find and inspect public and private Danish job ads from the terminal.

  • search, detail, occupations, and suggestions commands
  • Region or postal-code radius search; ESCO occupation filters, no auth

Jobnet Search by the numbers

  • 50 all-time installs (skills.sh)
  • +14 installs in the week ending Aug 2, 2026 (Skillselion tracking)
  • Ranked #313 of 550 CLI & Terminal skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/madslorentzen/ai-job-search --skill jobnet-search

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs50
repo stars29.7k
Last updatedAugust 4, 2026
Repositorymadslorentzen/ai-job-search

What it does

Searches live Danish job listings from the official Jobnet.dk (STAR) public API via CLI, including public-sector roles.

Files

SKILL.mdMarkdownGitHub ↗

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>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 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`. 1. Use search to get a list of matching jobs with their jobAdId. 2. 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 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

FormatBest for
jsonDefault — programmatic use, data processing, passing IDs between commands
tableQuick human-readable overviews and comparisons
plainSingle-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/job/{jobAdId}
  • suggestions is tuned for Danish job titles — English terms may return empty results.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.