ITJobs.pt Scraper - Portuguese IT Job Listings · $1.5/1K avatar

ITJobs.pt Scraper - Portuguese IT Job Listings · $1.5/1K

Deprecated

Pricing

Pay per usage

Go to Apify Store
ITJobs.pt Scraper - Portuguese IT Job Listings · $1.5/1K

ITJobs.pt Scraper - Portuguese IT Job Listings · $1.5/1K

Deprecated

IT job postings from itjobs.pt by keyword and place: title, employer, place, remote or on-site, salary range where shown, and posting day.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Yusuke Suda

Yusuke Suda

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 minutes ago

Last modified

Categories

Share

ITJobs.pt Scraper — Portuguese IT job listings by keyword and place

This Actor was withdrawn on 2026-10-01 at the request of the site operator (ITJobs.pt, which provides its own API) and no longer collects data. Existing users: please stop using it.

ITJobs.pt is Portugal's job board for technology roles. This Actor turns its search results into a clean table: the job title, the employer, the place, whether the role is remote or on-site, the salary range where the posting shows one, and the day it was posted.

Press Start. The defaults return Python jobs in Lisboa, newest first, with no configuration needed.

What a row looks like

{
"title": "Senior Software Engineer Backend/Infrastructure",
"company": "SimplicityDX",
"location": "Lisboa",
"salary_min": 45000.0,
"salary_max": 55000.0,
"salary_currency": "EUR",
"posted_at": "2026-09-24",
"source_url": "https://www.itjobs.pt/oferta/517186/senior-software-engineer-backend-infrastructure",
"external_id": "517186"
}

company is the employer as the listing shows it, often an IT consultancy. No personal data is collected: no contact person, no email address, no phone number. This Actor reads the search results only and never opens the job text.

Remote, salary and dates

  • Remote. ITJobs marks each posting "Remoto", "Presencial" or "Híbrido". remote is true for Remoto and false for Presencial. A hybrid posting leaves it empty, because hybrid is neither. A remote-only posting has no place, so location is empty there.
  • Salary. Some cards show a range such as "€45 000 - €55 000". It becomes salary_min, salary_max and salary_currency "EUR". The site does not say whether the figure is per year or per month, so salary_period stays empty. A card without a salary has no salary fields.
  • Dates. The list shows a day and a month ("24 set"), no year. posted_at is the latest such date that is not in the future, on Lisbon time.

What people use it for

Tracking which companies in Lisboa or Porto are hiring for a technology, week by week. Watching salary ranges for a role. Feeding a job board or a newsletter with Portuguese tech openings. Labour-market research that needs structured rows rather than a page of links.

Input

FieldWhat it does
searchTermsKeywords, e.g. python, data engineer, devops. Each keyword is its own search. Leave empty for the site's whole list.
locationA place ITJobs filters by: Lisboa, Porto, Braga, Aveiro, Coimbra, Faro and so on. Accents are optional. Leave empty for all of Portugal.
postedAfterOnly keep postings from this day on, e.g. 2026-09-20. Handy for daily runs that should return just what is new.
sinceDaysThe same, as a rolling window: 1 keeps yesterday and today, 7 the last week. Set it once on a scheduled task and never edit the date again.
maxItemsHard stop, so your bill is predictable.
proxyConfigurationOff by default. Most runs do not need one.

The list is read newest first, so a run with postedAfter or sinceDays stops as soon as the postings get older than the cutoff.

How much one run returns

ITJobs serves 16 postings per page. On 30 September 2026 it listed 84 postings for "python" in Lisboa and 439 postings of all kinds in Lisboa. A run pages through a search until maxItems is reached or the list ends, and removes duplicates within the run.

Pricing

$1.50 per 1,000 listings, dropping to $0.75 per 1,000 on higher Apify plans, plus $0.005 each time a run starts. Platform usage is not passed on to you.

You are charged for rows you actually receive. If you set a maximum charge for the run, it stops cleanly at that limit instead of overshooting it.

Scope and limits

Public listings only, from the search results pages (/emprego?…), which ITJobs' robots.txt allows. The paths it disallows are never requested, and neither is the job text. The working time ("Full-time") is not shown on the list, so employment_type is not filled.

ITJobs' search page says which keyword, place, order and page it answered. This Actor checks them against what you asked for. If they differ, the run fails rather than returning rows you did not ask for and charging you for them. A place the site does not list fails the run before anything is fetched.

If ITJobs changes its page structure, the run goes red. It does not return zero rows and report success. A silent scraper is worse than a broken one, because you find out weeks later.

A run that is blocked or cut short partway also goes red, even though the rows it did collect are in the dataset and yours to keep. Red here means "this is not the complete answer", not "you lost the data". On a schedule, a run that quietly came back short is the thing you most need to hear about.

Every run also publishes the site's own result count next to the rows it delivered, so you can see "84 rows of 84 the site reports" without going back to the site to check. That number is what the site says, not a promise about what one run returns.

Same shape, other sites

This Actor shares its output shape with the other job Actors in this catalogue: Jobindex (Denmark), jobs.ch and JobScout24 (Switzerland), Jobware (Germany) and more. A parser you write for one keeps working on the others.

Support

Open an issue on this Actor with the run ID and your input. Answered within one business day.