ITJobs.pt Scraper - Portuguese IT Job Listings · $1.5/1K
DeprecatedPricing
Pay per usage
ITJobs.pt Scraper - Portuguese IT Job Listings · $1.5/1K
DeprecatedIT 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
Maintained by CommunityActor 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".
remoteistruefor Remoto andfalsefor Presencial. A hybrid posting leaves it empty, because hybrid is neither. A remote-only posting has no place, solocationis empty there. - Salary. Some cards show a range such as "€45 000 - €55 000". It becomes
salary_min,salary_maxandsalary_currency"EUR". The site does not say whether the figure is per year or per month, sosalary_periodstays empty. A card without a salary has no salary fields. - Dates. The list shows a day and a month ("24 set"), no year.
posted_atis 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
| Field | What it does |
|---|---|
searchTerms | Keywords, e.g. python, data engineer, devops. Each keyword is its own search. Leave empty for the site's whole list. |
location | A place ITJobs filters by: Lisboa, Porto, Braga, Aveiro, Coimbra, Faro and so on. Accents are optional. Leave empty for all of Portugal. |
postedAfter | Only keep postings from this day on, e.g. 2026-09-20. Handy for daily runs that should return just what is new. |
sinceDays | The 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. |
maxItems | Hard stop, so your bill is predictable. |
proxyConfiguration | Off 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.