Finn.no Jobs Search Scraper avatar

Finn.no Jobs Search Scraper

Deprecated

Pricing

from $2.99 / 1,000 finn.no job records

Go to Apify Store
Finn.no Jobs Search Scraper

Finn.no Jobs Search Scraper

Deprecated

Scrape job listings from Finn.no, Norway's largest job board. Extract job titles, companies, locations, deadlines, and job URLs.

Pricing

from $2.99 / 1,000 finn.no job records

Rating

0.0

(0)

Developer

Jobs API

Jobs API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

This Actor searches public FINN job result cards and sequentially verifies each selected public detail page before emitting a record. It uses ordinary direct HTTPS requests only. It does not use proxies, stealth, fingerprint changes, custom identities, retries, or raw source payloads.

Input

The public input contains only:

  • keyword — search keyword or employer.
  • jobType — fulltime, parttime, management, or it.
  • maxItems — maximum complete detail-verified records.
  • maxPages — maximum result pages inspected sequentially.

Temporary fixture, context, raw-payload, timeout, retry, proxy, and user-agent controls are intentionally not part of the input schema.

Dataset

Each emitted record is source-grounded and keeps listing/detail/canonical URLs and HTTP receipts. It includes the public title, heading, employer, location, employment, sector, industries, occupations, remote options, languages, keywords, skills, description HTML/text/paragraphs/sections, responsibilities, requirements, benefits, compensation when published, application metadata, public media/branding, dates, and run-quality evidence. Contact objects and raw FINN payloads are omitted; contact details found in public text are redacted.

Records are buffered until the requested complete details are verified, so partial jobs are not published. A successful record must have a readable public description, employer, and application link and must contain more than 20 meaningful source-grounded fields.

Access policy

The platform run status is always SUCCEEDED or FAILED; the separate resultStatus reports COMPLETE, LIMITED, SKIPPED, DEFERRED, NO_DATA, or FAILED. Only HTTP 401, 403, 429, 451, visible source-authored denial/challenge text, or a challenge-platform marker without expected public content is treated as SKIPPED; this stops requests and discards staged rows. Generic transport/body failures, HTTP 407, unverified redirects, and server unavailability remain DEFERRED, not evidence that FINN blocked access. A non-block fatal failure with no stored rows calls Actor.fail() and is FAILED/FAILED; successfully pushed rows survive later non-block failures as SUCCEEDED/LIMITED. If Actor finalization rejects, the run records KVS evidence and retries exit once; a zero-row finalization failure is FAILED/FAILED, while stored rows remain SUCCEEDED/LIMITED. Diagnostics and request evidence are stored in the key-value store, never as dataset rows. The Actor never attempts to bypass a site barrier.

Local validation

npm install --ignore-scripts --no-audit --no-fund
npm test
npm run check
npm run lint
apify validate-schema
apify run --purge --input-file ./INPUT.json
npm run validate:dataset -- storage --require-data