theprotocol.it Job Scraper avatar

theprotocol.it Job Scraper

Under maintenance

Pricing

from $17.00 / 1,000 results

Go to Apify Store
theprotocol.it Job Scraper

theprotocol.it Job Scraper

Under maintenance

Scrapes IT job listings from theprotocol.it – Poland's leading IT job board. Extracts title, company, salary, tech stack, location, seniority, and full job descriptions. Supports keyword search, multi-filter (technology, city, category, seniority, contract type), pagination, and incremental mode.

Pricing

from $17.00 / 1,000 results

Rating

0.0

(0)

Developer

Wiktor

Wiktor

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Extract structured IT job listings from theprotocol.it — Poland's leading IT job board. Filter by technology, city, seniority, contract type, or keyword and get clean, ready-to-use data in JSON, CSV, or Excel.

No coding required. Runs entirely in the cloud.

What does it do?

This Actor visits theprotocol.it, applies your filters, and collects detailed information from every matching job listing — automatically navigating through all result pages. For each offer it extracts:

  • Job title, company name, and direct link to the offer
  • Salary range (min / max / currency / pay period / contract type)
  • Work location with remote / hybrid / on-site flags
  • Required technologies and skills
  • Job category and seniority level
  • Publication date
  • Full job description

How to use

  1. Go to the Actor page and click Try for free
  2. Fill in the Input form — all fields are optional, leave them empty to scrape all listings
  3. Click Start and wait a few minutes for the run to finish
  4. Open the Output tab and download your results as JSON, CSV, or Excel

Input

All fields are optional. Combining multiple fields narrows the search (AND logic); multiple values within one field broaden it (OR logic).

FieldTypeDescriptionExample
keywordstringJob title, company name, or any keyword"React Developer"
technologiesstring[]Technology / skill filter["javascript", "react"]
categoriescheckboxesSpecialization categoryFrontend, Backend, DevOps…
locationsstring[]City filter (Polish diacritics handled)["Warszawa", "Kraków"]
seniorityLevelscheckboxesExperience levelJunior, Mid, Senior…
contractTypescheckboxesContract typeB2B, Employment contract…
maxResultsintegerMax offers to collect (0 = all)100
incrementalModebooleanSkip offers scraped in previous runstrue
proxyConfigurationobjectProxy settings (Residential recommended)

Example input (JSON)

{
"technologies": ["javascript", "typescript"],
"categories": ["frontend"],
"locations": ["Warszawa"],
"seniorityLevels": ["senior"],
"contractTypes": ["b2b"],
"maxResults": 50
}

Output

Each job offer is saved as one JSON record in the dataset.

{
"title": "Senior Frontend Developer",
"company": "Example Sp. z o.o.",
"url": "https://theprotocol.it/szczegoly/praca/senior-frontend-developer-warszawa,oferta,abc123",
"postedAt": "2026-05-20T09:00:00.000Z",
"locations": [
{ "city": "Warszawa", "isRemote": false, "isHybrid": true, "isOnsite": false }
],
"salary": {
"min": 18000,
"max": 26000,
"currency": "PLN",
"period": "mies.",
"kind": "netto",
"contractTypes": ["kontrakt B2B"]
},
"technologies": ["JavaScript", "TypeScript", "React", "Next.js"],
"categories": ["Frontend"],
"seniorityLevels": ["senior"],
"description": "About the project, Join our growing team..."
}

Output fields

FieldTypeDescription
titlestringJob position name
companystringHiring company name
urlstringDirect link to the offer
postedAtstringPublication date (ISO 8601)
locationsarray[{ city, isRemote, isHybrid, isOnsite }]
salary.minnumberMinimum salary (null if not disclosed)
salary.maxnumberMaximum salary (null if not disclosed)
salary.currencystringCurrency (PLN, EUR, …)
salary.periodstringPay period (e.g. mies. = monthly, godz. = hourly)
salary.kindstringNet / gross indicator (e.g. netto (+ VAT))
salary.contractTypesarrayContract types this salary applies to
technologiesarrayRequired and nice-to-have tech stack
categoriesarrayJob specialization categories
seniorityLevelsarrayRequired experience levels
descriptionstringFull job description text

Pricing

This Actor runs on Apify's pay-as-you-go infrastructure. Typical costs:

ScenarioJobs collectedEstimated cost
Targeted filter (e.g. senior JavaScript in Warsaw)~50–150< $0.20
Broad technology filter (e.g. all JavaScript jobs)~200–500~$0.50–1.00
Full board scrape~3 000–5 000~$3–8
Daily incremental (new listings only)~50–150< $0.20

Tip: Enable Incremental mode and schedule the Actor to run daily. It remembers which offers it has already seen and only collects new ones — keeping your costs low.

Tips

  • Filters are cumulative — selecting "Senior" + "Warsaw" + "JavaScript" returns only offers that match all three.
  • Multiple values in one filter are OR-matched — selecting "Junior" and "Mid" returns both levels.
  • Proxy — Apify Residential proxies are strongly recommended. The site detects and blocks datacenter IPs.
  • Max results — set maxResults to a small number (e.g. 10) when testing to avoid unnecessary costs.
  • Scheduling — use Apify's built-in scheduler to run the Actor automatically every day or week.

FAQ

Is this legal? The Actor only collects publicly available job listings. Use the data responsibly and in accordance with theprotocol.it's Terms of Service and applicable data protection laws.

Salary shows as null. Many employers choose not to publish a salary range. This is common practice on theprotocol.it — not a scraping error.

I'm getting fewer results than expected. The site may throttle frequent requests. Try switching to Apify Residential proxies and reducing concurrency to 1 in the proxy settings.

How do I get only new jobs each day? Enable Incremental mode and set up a daily schedule in Apify Console. The Actor stores previously seen offer URLs and skips them on subsequent runs.

How do I report a problem or request a feature? Open an issue on the Actor page. Custom scraping solutions are available on request.