Skip to content

JustJoin.it Scraper

Try for free

Scrape IT job offers from justjoin.it: title, company, salary per contract type, experience level, workplace type, skills with levels, locations, apply link and optional full description. Search by keyword, city, category or URL.

💼 JustJoin.it Scraper

Scrape IT job offers from justjoin.it, the largest IT job board in Poland: job title, company, salary for every contract type (B2B, permanent, mandate), experience level, remote / hybrid / office, required skills with levels, locations, apply link and, if you want it, the full job description. Search by keyword, city, category and filters, or paste justjoin.it URLs. No login, no browser, a few seconds per hundred jobs.

✨ Why use JustJoin.it Scraper?

  • ⚡ Fast — reads the site's own data feed, up to 100 offers per request, so a hundred jobs take a few seconds.
  • 💰 Salaries done right — every published salary per contract type, net or gross, per month or per hour, plus the site's monthly equivalent and its EUR / USD / CHF / GBP conversions.
  • 🧠 Skills with levels — required and nice-to-have skills as a plain list for tables, and with their 1–5 level for analysis.
  • 🔎 Every filter the site has — city, category, experience level, contract type, workplace type, working time, salary only, minimum salary, publication date, required languages and sort order.
  • 📝 Full descriptions on demand — switch on one option to add the description (text and HTML), company website and size, and whether the offer is still active, at the same price per job.
  • 🔓 No login needed — only public offers, no account and no cookies.

🎯 Use cases

  • 📊 Salary benchmarking — compare B2B and permanent pay for Python, Java or data roles by seniority and city.
  • 🧭 Tech market research — track which skills, levels and workplace types Polish employers ask for, week by week.
  • 🤝 Recruiting and lead generation — find companies hiring for a stack in a city and reach them through their apply links.
  • 🔔 Job alerts — schedule a daily run with "Published within: Last 24 hours" and get new offers in your inbox, Slack or sheet.
  • 🗂️ Job aggregators — feed a job site or newsletter with clean, structured offers.

🚀 How to use

  1. Type one or more search keywords (for example python, react developer), or paste justjoin.it URLs (a search page with filters, or single job offers).
  2. Optionally set a city, categories and the filters you need.
  3. Set Max results (0 means no limit).
  4. Switch on Include full job description if you need the description text.
  5. Click Start and download the results as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
keywordsSearch keywords; each runs as its own search. Empty lists every offer that matches the filters.
startUrlsjustjoin.it search pages (filters are read from the URL) or job offer URLs.
maxItemsMaximum jobs in total (default 20, 0 = no limit).
maxItemsPerSearchOptional cap per keyword or URL.
locationCity, e.g. Warszawa, Kraków, Berlin, or remote.
categoriesTechnology categories: python, java, javascript, data, devops, ai, ...
experienceLevelsintern, junior, mid, senior, manager, c_level.
employmentTypesb2b, permanent, mandate_contract, contract, internship, freelance.
workplaceTypesremote, hybrid, office, mobile.
workingTimesfull_time, part_time, internship, freelance, b2b_contract.
withSalary / minSalaryOnly offers with a salary / with at least this monthly PLN amount.
publishedWithinDays1, 7, 14 or 30 days.
languagesRequired languages, e.g. en, pl, de.
sortBypublished (default), newest or salary.
extractFullDetailsAdds the full description and company details.
{
  "keywords": ["python"],
  "location": "Warszawa",
  "experienceLevels": ["senior"],
  "employmentTypes": ["b2b"],
  "withSalary": true,
  "maxItems": 100,
  "extractFullDetails": false
}

Or paste URLs:

{
  "startUrls": [
    "https://justjoin.it/job-offers/all-locations/python?experience-level=senior&with-salary=yes",
    "https://justjoin.it/job-offers/warszawa/java"
  ],
  "maxItems": 200
}

📤 Output

One row per job offer.

FieldDescription
title, companyName, companyLogoUrlJob title, company and logo
city, street, latitude, longitude, locationsMain location and every other location of the offer
category, experienceLevel, workplaceType, workingTimeCategory, seniority, remote / hybrid / office and working time
salary, salaryMin, salaryMax, salaryCurrency, salaryUnit, salaryType, salaryGrossFirst published salary, per the unit the employer used
salaryMonthlyMin, salaryMonthlyMaxThe same salary as a monthly amount (hourly rates converted by the site)
salaryTexts, employmentTypes, allEmploymentTypesEvery salary per contract type, and its currency conversions
requiredSkills, niceToHaveSkills (+ ...Detailed)Skills, and skills with their 1–5 level
languages, hybridOfficeDays, hybridRemoteDays, remoteInterviewLanguage requirements, hybrid schedule, remote recruitment
isPromoted, isSuperOffer, openToHireUkrainiansOffer badges
applyMethod, applyUrl, jobUrlHow to apply and the offer page
publishedAt, lastPublishedAt, expiredAt, scrapedAtDates (ISO 8601)
description, descriptionHtml, companyWebsite, companySize, countryCode, isActiveWith Include full job description

Example (trimmed, from a test run with full descriptions):

{
  "guid": "ed141feb-1c3f-40e2-8a46-0ebc9d634b1b",
  "title": "Inżynier ds. Wytwarzania i Modyfikacji Systemu",
  "companyName": "Code and Pepper",
  "city": "Warszawa",
  "street": "Sienna",
  "locations": [
    {"city": "Warszawa", "street": "Sienna", "latitude": 52.230823, "longitude": 20.9964345, "jobUrl": "https://justjoin.it/job-offer/code-and-pepper-inzynier-ds-wytwarzania-i-modyfikacji-systemu-warszawa-java-23920c59"},
    {"city": "Kraków", "street": "Wielicka", "latitude": 50.0646501, "longitude": 19.9449799, "jobUrl": "https://justjoin.it/job-offer/code-and-pepper-inzynier-ds-wytwarzania-i-modyfikacji-systemu-krakow-java-bfe73578"}
  ],
  "category": "java",
  "experienceLevel": "senior",
  "workplaceType": "remote",
  "workingTime": "full_time",
  "salary": "18,000 - 24,000 PLN/month (net, b2b)",
  "salaryMin": 18000,
  "salaryMax": 24000,
  "salaryCurrency": "PLN",
  "salaryType": "b2b",
  "salaryUnit": "month",
  "salaryGross": false,
  "salaryMonthlyMin": 18000,
  "salaryMonthlyMax": 24000,
  "salaryTexts": ["18,000 - 24,000 PLN/month (net, b2b)", "15,000 - 20,000 PLN/month (gross, permanent)"],
  "employmentTypes": ["b2b", "permanent"],
  "requiredSkills": ["Java", "Spring Boot", "REST API", "PostgreSQL", "Elasticsearch"],
  "requiredSkillsDetailed": [{"name": "Java", "level": 4}, {"name": "Spring Boot", "level": 4}],
  "languages": [{"code": "pl", "level": "C1"}, {"code": "en", "level": "C1"}],
  "remoteInterview": false,
  "isPromoted": false,
  "applyMethod": "external",
  "applyUrl": "https://careers.codeandpepper.com/o/inzynier-ds-wytwarzania-i-modyfikacji-systemu/c/new",
  "publishedAt": "2026-10-21T15:05:03.3483726Z",
  "expiredAt": "2026-10-27T22:59:59.999Z",
  "jobUrl": "https://justjoin.it/job-offer/code-and-pepper-inzynier-ds-wytwarzania-i-modyfikacji-systemu-warszawa-java-23920c59",
  "description": "Code & Pepper wspiera klientów w wymagających branżach, pomagając im w skalowaniu zespołów i budowaniu nowoczesnych produktów. ...",
  "countryCode": "PL",
  "isActive": true
}

💰 Pricing

You pay $0.70 per 1,000 jobs ($0.0007 per job saved), with or without full descriptions, plus a small platform usage charge (compute and proxy traffic). 1,000 jobs ≈ $0.70 in job fees plus well under a cent of platform usage for a listing run. Runs that find nothing cost only that usage. Set a maximum total charge on a run and the scraper stops cleanly when it is reached.

❓ FAQ

Is it legal to scrape justjoin.it? The scraper only reads public job offers that anyone can see without an account. Check the site's terms and your local rules (such as GDPR) for how you use the data.

Do I need a login or my own proxy? No. It works without an account, and the built-in datacenter proxy is enough; if the site starts refusing it, the scraper moves to Polish residential proxies by itself.

How many results can I get? As many as the site has: set Max results to 0 for no limit. justjoin.it serves at most 10,000 offers per search; a bigger search without a category is split by category automatically, and a narrower search that still hits 10,000 says so in the run status.

Why is a field empty? The employer did not publish it: many offers have no salary, no nice-to-have skills or no hybrid schedule. Description, company website and size come only with Include full job description.

Can I schedule it or use the API? Yes. Schedule runs in the console, or start them through the API and read the dataset as JSON, CSV or Excel.

I used a similar actor on another platform. Will my input work? Mostly yes: keyword, location, category, experienceLevel, employmentType, workplaceType, withSalary, sortBy, maxItems, extractFullDetails and startUrls are all read.

⚠️ Limits

  • 10,000 offers per single search (the site's limit); unfiltered searches are split by category to go beyond it.
  • Only public offers on justjoin.it; offers that have expired are not listed.
  • Some offers are posted once per city: the site gives each city its own offer, so they appear as separate rows.
  • Company website and size are often empty because employers rarely fill them in.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.