Jobindex Scraper - Jobindex.dk Job Listings
Pricing
Pay per event
Jobindex Scraper - Jobindex.dk Job Listings
Scrape Jobindex.dk job listings by keyword or URL. One row per job: title, company, location + coordinates, publish & deadline dates, apply URL, teaser and optional full ad text. Export to JSON, CSV or Excel.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
6 hours ago
Last modified
Share
Jobindex Scraper
Turn any Jobindex.dk search into clean, structured data. Search by keyword or paste search-result URLs and single job URLs — and get one flat row per job with title, company, location + coordinates, publish and deadline dates, apply URL and a teaser. Flip on detail mode to add the full job-ad body text.
Built for recruitment-market research, salary and hiring-trend analysis, job aggregation and lead generation across the Danish job market.
How it works

✨ Why use this scraper?
- Rich rows out of the box — ~30 fields per job from the search results alone: title, company name + profile, location with latitude/longitude, first-seen and drop-off dates, apply deadline, apply URL, teaser text, logo and flags (remote, sponsored, archived).
- Two ways in — keyword searches, or paste Jobindex search-result URLs (with any filters you set on the site) and single
/vis-job/{id}URLs. Mix them in one run. - Danish-IP ready — Jobindex is a Danish site; every request routes through Danish residential IPs so you get the real page, not a geo-block.
- Full ad text on demand — turn on Scrape job detail pages (or paste a job URL) to add the complete job-ad body text.
- Geocoded locations — each job carries structured addresses (street, zip, city) with coordinates, ready to drop onto a map.
- JSON, CSV, Excel or API — pipe straight into your sheet, BI tool or pipeline. Billed per job.
🎯 Use cases
| You are a… | Use it to… |
|---|---|
| Recruiter / agency | Track live openings by keyword, company and location across Denmark |
| Market researcher | Measure hiring volume, remote-work share and posting velocity per sector |
| Job-board / aggregator | Seed a Danish jobs dataset with structured, deduplicated listings |
| Data / app builder | Build a geocoded map of open roles from the address coordinates |
| Sales / lead-gen | Find hiring companies with their profile, homepage and follower count |
📥 Supported inputs
- Search keywords — e.g.
ingeniør,sygeplejerske,developer,marketing. Each is searched and paginated. - Search-result URLs —
https://www.jobindex.dk/jobsoegning?...with any filters you applied on the site (area, category, etc.). - Single job URLs —
https://www.jobindex.dk/vis-job/{id}. Auto-classified and always fully detailed.
⚙️ How it works
- Collect search-result pages from your keywords / URLs (20 jobs per page, up to 50 pages).
- Parse each job card into a flat row — company, location + coordinates, dates, apply URL, teaser.
- Enrich each job from its detail page (when Scrape job detail pages is on): full ad body text.
- Export one row per job to the dataset — JSON, CSV, Excel or API.
⚙️ Input parameters
| Field | Type | Default | What it does |
|---|---|---|---|
searchQueries | array | ["ingeniør"] | Keyword searches. Each is searched and paginated. |
startUrls | array | [] | Jobindex search-result URLs and/or single /vis-job/{id} URLs. Auto-classified. |
scrapeDetails | boolean | false | Also fetch each job's detail page for the full ad body text (fullText). ~2× requests. Pasted job URLs are always fully detailed. |
maxItems | integer | 1000 | Hard cap on rows for the whole run. Each row is one paid job event. |
maxItemsPerSearch | integer | 1000 | Cap per keyword / URL. |
maxConcurrency | integer | 6 | Parallel HTTP requests (1–15). |
maxRequestRetries | integer | 12 | Retry budget on 403 / 429 / 5xx; each retry rotates to a fresh Danish residential IP. |
proxy | object | DK Residential | Proxy config (defaults to Apify Residential, country DK). |
📊 Output overview
Each dataset record is one job listing. Rows carry the search-card fields (title, company block, location + coordinates, dates, apply URL, teaser, logo, flags) and — when Scrape job detail pages is on, or for pasted job URLs — the full ad body text (fullText).
📦 Output sample
{"rowType": "job","jobId": "h1677520","headline": "Product Developer, Footwear","jobUrl": "https://www.jobindex.dk/vis-job/h1677520","applyUrl": "https://www.jobindex.dk/c?t=e6185324&ctx=w","companyName": "hummel","companyId": 955,"companyProfileUrl": "https://www.jobindex.dk/virksomhed/955/hummel#om-virksomhed","companyHomeUrl": "https://www.hummel.dk/","companyFollowers": 1140,"area": "Aarhus C","addresses": [{"line": "Balticagade 20","zipcode": "8000","city": "Aarhus C","simpleString": "Balticagade 20, 8000 Aarhus C","latitude": 56.155226,"longitude": 10.221049}],"latitude": 56.155226,"longitude": 10.221049,"firstDate": "2026-06-26","lastDate": "2026-07-09","applyDeadline": "2026-07-09T21:59:59Z","applyDeadlineAsap": false,"homeWorkplace": false,"hasSpo": true,"summary": "Do you have a sharp eye for what makes a collection come together? …","sourceUrl": "https://www.jobindex.dk/jobsoegning?q=developer","sourceMode": "search","scrapedAt": "2026-07-06T03:24:12.172Z"}
🗂 Key output fields
| Field | Description |
|---|---|
jobId | Jobindex job id (tid), e.g. h1677520 |
headline | Job title |
jobUrl | Canonical /vis-job/{id} URL |
applyUrl | Outbound redirect to the employer's apply flow |
companyName / companyId | Employer name and Jobindex company id |
companyProfileUrl / companyHomeUrl | Jobindex profile and employer homepage |
companyFollowers | Follower count on the company's Jobindex profile |
area | Primary display area |
addresses | Structured addresses: street, zip, city + latitude / longitude |
latitude / longitude | Coordinates of the first address (convenience) |
firstDate / lastDate | First published / drops-off-search dates (YYYY-MM-DD) |
applyDeadline / applyDeadlineAsap | ISO deadline, or ASAP flag |
homeWorkplace | Remote / home-working flagged |
hasSpo | Sponsored / promoted placement |
summary | Listing-card teaser text |
fullText | Full job-ad body text (when scrapeDetails is on) |
❓ FAQ
Do I need a Jobindex account or API key? No. Paste keywords or URLs and run.
What does Scrape job detail pages add? The search row is already rich (~30 fields including a teaser). Turning it on visits each job's detail page to add the full ad body text (fullText) — at roughly double the requests. Job URLs you paste are always fully detailed.
Can I use my own Jobindex filters? Yes. Apply any filters on jobindex.dk (area, category, contract type), copy the resulting jobsoegning?... URL, and paste it into startUrls.
Which locations does it cover? All of Denmark. Each job carries structured addresses with coordinates where Jobindex provides them.
What format is the output? JSON, CSV, Excel or via API — one row per job.
💬 Support
Found a missing field or a page that won't parse? Open an issue on the actor's Issues tab with the input you used — fixes usually ship within a day or two.
🛠 Additional services
Need a custom field, a different Danish job board, or a scheduled feed into your database? Reach out via the Issues tab.
🔎 Explore more scrapers
Browse the full portfolio of job-board and directory scrapers on the Apify Store.
⚠️ Disclaimer
This scraper collects only publicly available job-listing data from Jobindex.dk. It does not access private accounts, bypass authentication, or collect personal data beyond what employers publish on public job ads. You are responsible for using the scraped data in compliance with Jobindex's terms, Danish and EU law (including GDPR), and any applicable regulations. Use it for legitimate research, aggregation and analysis.
SEO Keywords
Jobindex scraper, Jobindex.dk scraper, Denmark jobs scraper, Danish job listings API, scrape Jobindex, job board scraper Denmark, Jobindex jobs data, danish jobs dataset, recruitment data Denmark, hiring trends Denmark, job posting scraper, vis-job scraper, jobsoegning scraper, Apify Jobindex, extract Jobindex jobs, Danish vacancies data.