Jobindex Scraper - Danish Job Listings by Region · $3/1K
Pricing
from $1.50 / 1,000 result items
Jobindex Scraper - Danish Job Listings by Region · $3/1K
Scrape Jobindex.dk job listings: title, company, location, posted date and application deadline. No proxy needed, one flat price per result, no contact details collected.
Pricing
from $1.50 / 1,000 result items
Rating
0.0
(0)
Developer
Yusuke Suda
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Jobindex Scraper — Danish job listings by region and keyword
Jobindex is Denmark's largest job site. This Actor turns its search results into a clean table: the job title, the company, where it is, when it was posted — and, since September 2026, the application deadline, the workplace address and coordinates, the employer's own website and Jobindex's rating of the employer. All of it comes from the search-results page, so no extra requests are made and nothing is charged beyond the rows you receive.
Press Start. With no input, the Actor searches Jobindex's thirteen regions in
turn, largest first, taking the first page of each. The default maxItems of
100 stopped a test run after nine of them, because overlapping regions share
listings; set maxItems to 300 to cover all thirteen.
What a row looks like
{"title": "Lindex åbner i Field's – vil du være med på holdet?","company": "Lindex Denmark ApS","location": "København S","remote": false,"posted_at": "2026-09-28","application_deadline": "2026-11-01","company_url": "https://www.lindex.com/dk","company_rating": 4.0,"workplace_postal_code": "2300","workplace_address": "Fields, Arne Jacobsens Allé 12, 2300 København S","latitude": 55.630999,"longitude": 12.575893,"source_url": "https://www.jobindex.dk/vis-job/h1701679","external_id": "h1701679"}
Every row also carries source_site and scraped_at.
| Field | What it holds | How often it is filled |
|---|---|---|
title, company, location, posted_at | The listing as shown in the search results; posted_at is the day Jobindex shows | Always |
remote | true when Jobindex marks the job as home-based | Always |
application_deadline | The last day to apply, as Jobindex shows it (Copenhagen day). Empty when the employer writes "as soon as possible" | About half of listings |
company_url | The employer's own website, as given on Jobindex | Nearly all listings |
company_rating | Jobindex's own score for the employer (1–5) | Where Jobindex has one — roughly 4 in 10 |
workplace_postal_code, workplace_address, latitude, longitude | The workplace (the employer's address, never a person's) | Nearly all listings |
apply_url | The employer's own application link, only when Jobindex publishes it. Click-tracking redirects are blanked, not passed on, so this is empty on many rows; source_url always reaches the posting | Some listings |
employment_type, salary_min, salary_max, salary_currency, salary_period, categories | Catalogue-wide columns; Jobindex does not show them on the results page | Always empty here |
Company names are included. Contact persons, email addresses and phone numbers are not — this Actor reads the listing summary only and never opens the job text, which is where personal contact details usually live. The address and coordinates are the workplace's, which Jobindex publishes for the company.
What people use it for
Tracking which companies in a region are hiring, week by week. Feeding a job board or a newsletter with Danish openings in a niche. Watching a competitor's hiring. And research on the Danish labour market that needs structured rows rather than a page of links.
Input
| Field | What it does |
|---|---|
searchTerms | Keywords, one or two words each. Leave empty for everything. |
location | A Jobindex region slug, such as fyn, region-nordjylland or storkoebenhavn. Leave empty to sweep all regions. |
postedAfter | Only keep listings posted on or after this date (ISO 8601). Handy for daily runs that should return just what is new. |
sinceDays | The same, as a rolling window: 1 keeps yesterday and today, 7 the last week. Set it once on a scheduled task and never edit the date again. |
maxItems | Hard stop, so your bill is predictable. |
proxyConfiguration | Off by default. Most runs do not need one. |
How much one run returns
Jobindex asks crawlers not to page through results, and this Actor respects
that. Each query therefore returns Jobindex's first page of twenty listings.
To get more, add queries: with no input the Actor fans out across the
thirteen regions and removes duplicates, which comes to at most about 260
listings (set maxItems high enough — the default of 100 stops sooner). Each
search term is one query of twenty: nationwide, or within the one region you
set in location, so five search terms return up to 100 listings. Search terms
of three or more words, or that look like a web address, are refused before any
request is made, because Jobindex's robots.txt disallows them.
Pricing
$3.00 per 1,000 listings, dropping to $1.50 per 1,000 on higher Apify plans, plus $0.005 each time a run starts. There is no separate charge for anything else, and platform usage is not passed on to you.
You are charged for rows you actually receive. If you set a maximum charge for the run, it stops cleanly at that limit instead of overshooting it.
Worked example: a full sweep of the thirteen regions, about 260 listings, costs
$0.78 plus the $0.005 start ($0.395 on the higher plans). A daily task with
sinceDays: 1 on five search terms typically returns 10–40 new listings —
a few cents a day.
Daily new listings
Make a task from this Actor, set sinceDays to 1 and your search terms, and
schedule it each morning. Every run then returns only what was posted since
the previous day, deduplicated within the run, in the same columns as a full
sweep. Because the deadline, employer site and workplace are on every row, a
daily feed can go straight into a spreadsheet or a job board without a second
lookup.
How this compares
Other Jobindex Actors on the Store exist; the differences that matter are these. This one reads the results page only and never opens job pages, so it sends Jobindex one request per twenty listings and takes no description text, logos or personal contact details. It respects Jobindex's robots.txt: no paging past the first page, no long search phrases — breadth comes from regions, and the README says so rather than leaving it to guesswork. The application deadline, employer website, employer rating and workplace coordinates are in every row without a "details" mode or an extra charge per row. A run that is blocked or comes back short fails visibly instead of reporting success with fewer rows. And there are no third-party notification tokens to paste into the input — schedule it and read the dataset.
Scope and limits
Public listings only, from the search results page. The job description text, salary, employment type and category are not on that page, so they are not in the output.
If the region slug is not one Jobindex recognises, the run fails and tells you, rather than quietly returning every job in Denmark and charging you for them.
If Jobindex changes its page structure, the run goes red. It does not return zero rows and report success — a silent scraper is worse than a broken one, because you find out weeks later.
A run that is blocked or cut short partway also goes red, even though the rows it did collect are in the dataset and yours to keep. Red here means "this is not the complete answer", not "you lost the data" — on a schedule, a run that quietly came back short is the thing you most need to hear about.
Every run also publishes the site's own result count next to the rows it delivered, so you can see "60 rows of 9,969 the site reports" without going back to the site to check. That number is what the site says, not a promise about what one run returns.
Same data, other countries
Job listings from other sites in this catalogue come back in exactly this shape, so a parser you write once keeps working when you add a country.
Support
Open an issue on this Actor with the run ID and your input. Answered within one business day.