Search Pracuj.pl jobs

GET https://api.api.sh/pracuj/v1/search
1 credit / call jobs & b2b try it in the playground →

Job ads on Pracuj.pl (Poland's largest job board) for keywords and a place, with every filter the site offers: category, position level, contract type, work schedule, work mode, region, radius, posting date, minimum salary and employer. Each result has the title, employer, locations with coordinates, salary text, contract and level labels, work modes, dates and links; ads published in several cities are grouped like on the site. facets lists the ids for every filter. 50 per page.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
q string Keywords (job title, skill or company). Example: python
location string City or place (e.g. warszawa, krakow, wroclaw). Example: warszawa
radius 0 | 10 | 20 | 30 | 50 | 100 Distance around location in km.
category string Category ids, comma separated (see facets.categories; e.g. 5016 IT - software development).
level string Position level ids, comma separated (1 trainee, 3 assistant, 17 junior, 4 mid, 18 senior, 19 expert, 5 team lead, 20 manager, 6 director; see facets.position_levels).
contract string Contract type ids, comma separated (0 employment contract, 1 contract for specific work, 2 mandate contract, 3 B2B, 4 replacement, 5 agency, 6 temporary, 7 internship).
schedule string Work schedule ids, comma separated (0 full time, 1 part time, 2 additional or temporary).
mode string Work modes, comma separated: full-office, hybrid, home-office (remote), mobile. Example: hybrid
region string Region (voivodeship) ids, comma separated (see facets.regions; 7 mazowieckie, 6 malopolskie).
posted 1 | 3 | 7 | 14 | 30 Only ads published in the last N days.
salary_min string Minimum monthly salary in PLN (1 = only ads that show a salary).
company_id string Only this employer's ads (company_id from results).
ukrainian_friendly string 1 = only ads open to candidates from Ukraine.
no_agencies string 1 = leave out recruitment agencies' ads.
whole_poland string 1 = include ads for work anywhere in Poland.
page string Results page (1-based). Pass next_page back; it is null on the last page.

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/pracuj/v1/search?q=python" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.