Pracuj.pl Search Scraper avatar

Pracuj.pl Search Scraper

Pricing

from $2.99 / 1,000 pracuj.pl job records

Go to Apify Store
Pracuj.pl Search Scraper

Pracuj.pl Search Scraper

Scrape job listings from Pracuj.pl, Poland's largest job board. Extract job titles, companies, locations, salary ranges, contract types, and descriptions for Polish recruitment and job market analysis.

Pricing

from $2.99 / 1,000 pracuj.pl 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

Categories

Share

Pracuj.pl public jobs scraper

This Actor retrieves publicly visible Pracuj.pl vacancies with bounded native HTTPS requests. It parses official JobPosting JSON-LD, embedded Pracuj.pl state, and semantic HTML from the search and detail pages, then writes only complete, detail-verified records to the default dataset.

The current Chrome audit reached the official host but showed a source-authored Cloudflare security-verification page (Performing security verification; the page says the site is verifying the visitor is not a bot). The Actor fails closed in that case: no challenge is solved, no further request is made, and any dataset remains empty while the response evidence is retained in RUN_DIAGNOSTICS when an ordinary local request has already been made. It does not use a reader proxy, Apify proxy, browser automation, fingerprint spoofing, CAPTCHA/WAF bypass, private endpoint, apify call, or cloud push.

Modes

  • search: one official search page followed by detail enrichment.
  • searchMultiple: bounded, deduplicated searches from searchQueries or queries.
  • single: one exact official job URL from jobUrl.
  • multiple: exact official job URLs from jobUrls or jobs.
  • startUrls: a mixed list of official search and job URLs.
  • jobUrls: compatibility mode that maps to single or multiple.

Every search/detail request is bounded by maxPages, maxCandidates, maxRequests, and timeoutMs, and uses one ordinary direct attempt. Optional source fields are omitted rather than emitted as null, blank, placeholder, or empty values. Application links are retained only when Pracuj.pl publishes them. Complete rows must contain more than 20 meaningful source-grounded fields.

Local verification

From this directory:

npm ci
npm run check
npm test
npx --yes apify-cli validate-schema .actor/input_schema.json
npx --yes apify-cli run --resurrect --input-file INPUT.json
npm run validate -- storage

Before a local run, confirm the selected relative storage directory and legacy apify_storage are absent; never use --purge or reuse an existing dataset directory. The validator accepts an explicit store path (for example, npm run validate -- storage-pracuj-final-20260926-01). A local run writes complete jobs to storage/datasets/default and four evidence objects to storage/key_value_stores/default: RUN_SUMMARY, RUN_DIAGNOSTICS, RUN_METADATA, and RUN_HEALTH.

Dataset contract

Each job contains stable identity and provenance (recordId, jobId, canonical/detail URLs, source receipts, status, and timestamps), company and location data, employment/work-mode/taxonomy values, salary when published, application links, dates, and a rich description with sanitized text, HTML, headings, sections, bullets, and links. The required fields and types are defined in .actor/dataset_schema.json.

Only official HTTPS www.pracuj.pl or pracuj.pl URLs are accepted. A detail record is written only when its numeric posting ID matches the requested URL, its canonical URL is official and verified, the public detail response is successful, and the description is at least 120 characters.

Example inputs

INPUT.json is the primary search run. INPUT-single.json, INPUT-multiple.json, INPUT-search-multiple.json, and INPUT-start-urls.json exercise the supported direct and search modes. The checked-in direct URLs are official-shaped public Pracuj.pl URLs and may be blocked by the target at audit time.

Responsible use

Collect only public job information, respect Pracuj.pl terms and robots directives, keep request budgets conservative, and do not use the Actor to access authenticated pages, bypass access controls, or collect candidate personal data.

Cloud execution and privacy

The Actor supports ordinary local execution. It uses direct HTTPS only; proxy, cookie, browser, identity, fingerprint, retry, fixture, debug, and temporary context controls are not public inputs. If Pracuj.pl presents a source-authored 401, 403, 429, 451, CAPTCHA, human-verification, or security-challenge response, the Actor stops, discards staged rows, preserves the exact receipt/evidence, and records SKIPPED. Generic transport failures are DEFERRED and are not treated as proof of a source block.

Every single request counts toward maxRequests. Responses are size-limited, requests are paced, and only identity-verified official detail pages become dataset rows. Public email addresses and Polish phone numbers are recursively removed from parsed and raw-source fields; output rows declare contactDetailsRedacted: true.