Jobindex Jobs Scraper avatar

Jobindex Jobs Scraper

Pricing

from $0.02 / 1,000 job listing saveds

Go to Apify Store
Jobindex Jobs Scraper

Jobindex Jobs Scraper

🇩🇰 Scrape Jobindex.dk jobs by keyword or URL. Extract titles, companies, locations, dates, descriptions, apply links, and job URLs.

Pricing

from $0.02 / 1,000 job listing saveds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Extract structured Danish job listings from Jobindex.dk by keyword or search URL.

What does Jobindex Jobs Scraper do?

Jobindex Jobs Scraper turns public Jobindex.dk search pages into clean dataset rows. It captures titles, companies, locations, posting dates, deadlines, descriptions, apply links, Jobindex URLs, and source metadata.

Use it when you need repeatable Danish labor-market data without copying job cards by hand.

Who is it for?

Recruiters use it to monitor new Danish roles by skill, city, or client niche.

Job aggregators use it to feed internal search indexes and deduplicate Jobindex links.

HR-tech teams use it to benchmark hiring demand in Denmark.

Labor-market analysts use it to track recurring demand for roles such as Python developer, nurse, electrician, accountant, or sales manager.

Why scrape Jobindex.dk?

Jobindex is one of Denmark's best-known job boards.

Many regional and Danish-language roles appear there before they are easy to find in broader international job boards.

A focused Jobindex scraper helps teams cover Denmark alongside larger multi-board workflows.

Why use this actor?

  • 🇩🇰 Built for Jobindex.dk search result pages
  • 🔎 Search by keyword, location keyword, or direct Jobindex search URL
  • 📄 Optional detail-page fetching for richer descriptions
  • 🔗 Includes apply URLs and canonical Jobindex job URLs
  • 🧾 Saves source query, source URL, and scrape timestamp for audits
  • ⚙️ HTTP-first implementation without a heavy browser by default

Data you can extract

FieldDescription
titleJob title from Jobindex
companyNameEmployer name
locationCity or area
salaryTextSalary cue when visible
employmentTypeEmployment cue when visible
postedAtFirst publication date
deadlineApplication deadline
descriptionTextPlain-text job description
descriptionHtmlHTML description
applyUrlApply link or Jobindex redirect
jobUrlJobindex job page URL
jobIdJobindex listing id
sourceQueryQuery used for the run
sourceUrlSearch page that produced the item
scrapedAtISO timestamp

How much does it cost to scrape Jobindex jobs?

The actor uses pay-per-event pricing.

You pay a small run-start fee and then a per-job-listing fee for each saved result.

Set maxItems to a low number for testing, then increase it for production monitoring.

The default prefill is designed to be inexpensive while still proving the output shape.

How to scrape Jobindex jobs

  1. Open the actor on Apify.
  2. Enter a search query such as python, sygeplejerske, marketing, or data analyst.
  3. Optionally enter a location keyword such as København or Aarhus.
  4. Set maxItems.
  5. Keep includeDetails disabled for fast monitoring, or enable it for richer descriptions.
  6. Run the actor.
  7. Export results as JSON, CSV, Excel, XML, or through the Apify API.

Input options

query

A Jobindex keyword search term.

Examples:

  • python
  • data engineer
  • projektleder
  • sygeplejerske

location

An optional Danish location keyword.

The actor appends it to the search query for simple regional targeting.

Examples:

  • København
  • Aarhus
  • Odense
  • Aalborg

startUrls

Use direct Jobindex search URLs if you already built a filtered search in the browser.

Example:

[
{ "url": "https://www.jobindex.dk/jobsoegning?q=python" }
]

maxItems

Maximum number of listings to save.

Start with 25 or 100 for validation.

includeDetails

When enabled, the actor opens each Jobindex detail page and tries to replace the search-card description with richer detail-page text.

Keep this disabled for faster recurring runs.

maxPages

Safety cap for pagination.

Jobindex usually displays about 20 jobs per search page.

Example input

{
"query": "python",
"location": "København",
"maxItems": 100,
"includeDetails": false,
"maxPages": 10
}

Example output

{
"title": "Python Software Developer",
"companyName": "Minerva Imaging ApS",
"location": "Ølstykke",
"salaryText": null,
"employmentType": null,
"postedAt": "2026-06-16",
"deadline": "2026-07-31T21:59:59Z",
"descriptionText": "Python Software Developer ...",
"descriptionHtml": "<div>...</div>",
"applyUrl": "https://www.jobindex.dk/c?t=...",
"jobUrl": "https://www.jobindex.dk/vis-job/h1674866",
"jobId": "h1674866",
"sourceQuery": "python",
"sourceUrl": "https://www.jobindex.dk/jobsoegning?q=python",
"scrapedAt": "2026-06-21T00:00:00.000Z"
}

Tips for better results

Use Danish job titles when you want local-language coverage.

Use English skill terms when you want international or tech roles.

Run separate tasks for separate cities if you need clean regional monitoring.

Keep detail fetching off for high-volume daily monitoring.

Enable detail fetching for smaller research exports where description richness matters more than speed.

Integrations

Send new Jobindex roles to Google Sheets for recruiter review.

Feed job URLs into an ATS enrichment workflow.

Monitor daily changes with Apify schedules and webhooks.

Export JSON to a data warehouse for labor-market dashboards.

Combine Jobindex output with omni-jobs-board-scraper for broader multi-board coverage.

API usage with Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/jobindex-jobs-scraper').call({
query: 'python',
location: 'København',
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 3));

API usage with Python

from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/jobindex-jobs-scraper').call(run_input={
'query': 'python',
'location': 'København',
'maxItems': 100,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items[:3])

API usage with cURL

curl "https://api.apify.com/v2/acts/automation-lab~jobindex-jobs-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"query":"python","location":"København","maxItems":100}'

MCP usage

Use this actor through Apify MCP when working in Claude Desktop or Claude Code.

MCP URL:

https://mcp.apify.com/?tools=automation-lab/jobindex-jobs-scraper

Claude Code setup:

$claude mcp add apify-jobindex "https://mcp.apify.com/?tools=automation-lab/jobindex-jobs-scraper"

Claude Desktop JSON configuration:

{
"mcpServers": {
"apify-jobindex": {
"url": "https://mcp.apify.com/?tools=automation-lab/jobindex-jobs-scraper"
}
}
}

Example prompts:

  • "Find 100 Python jobs on Jobindex in Copenhagen and summarize the hiring companies."
  • "Monitor Jobindex for new data engineer roles and send me the dataset link."
  • "Extract Danish nursing jobs from Jobindex and group them by location."

Scheduling and monitoring

Create an Apify task with your chosen query.

Schedule it daily or weekly.

Use the jobUrl and jobId fields for deduplication.

Send webhook notifications when a run finishes.

Handling duplicate listings

The actor deduplicates within a run by jobUrl.

For long-term monitoring, deduplicate across runs in your database using jobId or jobUrl.

Performance notes

Search pages are fetched with HTTP and parsed from the initial HTML.

This is lighter than browser automation and suitable for recurring monitoring.

Detail pages add extra requests, so use them only when needed.

FAQ

Can I scrape a specific Jobindex search URL?

Yes. Paste the URL into startUrls and the actor will use it instead of query and location.

Why are descriptions sometimes short?

Search cards contain summaries. Enable includeDetails when you need richer detail-page descriptions.

How do I monitor new jobs over time?

Schedule the actor daily and deduplicate downstream by jobId or jobUrl.

Troubleshooting

If you receive fewer jobs than expected, increase maxPages or broaden the query.

If descriptions look short, enable includeDetails for richer detail-page content.

If a location query is too narrow, try the Danish city name without extra filters.

Legality and responsible use

This actor extracts publicly available Jobindex search data.

Use the data responsibly, respect applicable laws, and follow Jobindex terms and robots guidance for your use case.

Do not collect personal data beyond what is necessary for a legitimate workflow.

Changelog

Initial version extracts Jobindex search results by query or URL with optional detail-page fetching.