Net-Empregos Portugal Jobs Scraper: Vagas de Emprego, No Login
Pricing
from $1.13 / 1,000 job offer results
Net-Empregos Portugal Jobs Scraper: Vagas de Emprego, No Login
Extract Portuguese job listings from net-empregos.com by district, category, or keyword. Get title, company, location, posting date, and optional full offer detail with expiry date, with correct Portuguese diacritics. Plain HTTP, no login, no JavaScript. Pay only per result, flat PPE pricing.
Pricing
from $1.13 / 1,000 job offer results
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Features
Share
💼 Net-Empregos Portugal Jobs Scraper: Vagas de Emprego, No Login
| Three ways into Portugal's job market. Net-Empregos for volume, Ofertas de Emprego for detailed filters, Eurofirms for staffing-agency roles. | ||
| PORTUGAL JOBS • Vagas de emprego from three Portuguese job sources | ||
|
➤ You are here |
Work-model and experience filters |
Staffing-agency jobs with salary |
|
More than one job board? Portugal Jobs Feed covers the main ones in one run. Procura em vários sites de emprego? O Portugal Jobs Feed reúne os principais numa só execução. | ||
|
Get Portugal's job offers from Net-Empregos as clean, structured rows. Search about 60,000 active offers by keyword, place, category, and contract type. Get a daily feed of only the new offers, or a market snapshot of how many jobs are open. Export to a spreadsheet, database, or hiring dashboard. |
|
Filter by place Pick several of the 28 districts and regions, or search the whole country. Add remote, part-time, or internship offers. |
Filter by sector Narrow results to any of 44 job categories, exclude words and recruitment agencies, and keep only offers from the last few days. |
Full offer details Add the description, expiry date, and what the ad states about experience, education, languages, remote work, and pay. |
New-offers feed Run it on a schedule and get only offers you have not seen. No login or API key needed. |
Net-Empregos is one of Portugal's largest job boards. This Actor searches it for Lisboa, Porto, Faro, the Azores, and every other district, and saves each matching offer as one row. Schedule it and it returns only the offers that appeared since the last run. Accents stay intact, so Portuguese job titles read correctly in your output.
🔍 What does this Actor do?
- Searches live offers: every run reads the current Net-Empregos listings, so results match what the site shows today.
- Saves one row per offer: ID, link, title, company, company logo, district, category, contract type, posting date, and how many days the offer has been online.
- Returns only new offers: switch on the new-offers option, schedule the run, and each run saves only offers this monitor has not returned before. The first run builds the baseline, so keep the search narrow enough that the first run can cover it.
- Tracks the market: the market snapshot mode counts open offers per district, category, and contract type, and shows the change since your previous snapshot.
- Reads facts out of the ad text: with full details on, rows include remote or hybrid work, years of experience, education levels, languages, and the salary when the ad states one.
- Finds the employer's contact email (optional): switch on the email add-on and each offer gets the company's public contact email from its own website, when the company publishes one.
- Keeps the data honest: a field the offer does not state is left out, never filled with a placeholder. Most Portuguese ads do not state a salary, so expect that field on only a small share of offers.
🧭 How it works
|
STEP 1 Choose your search Enter keywords and pick districts, categories, and contract types. Leave any empty to widen the search. |
STEP 2 Run once or on a schedule The default saves 20 offers in seconds. For a feed, turn on new offers only and schedule the run. |
STEP 3 Download or connect Export CSV, Excel, or JSON from the Output tab, or send each run to Slack, email, Sheets, or a webhook with Apify integrations. |
🎯 What can I use it for?
- Recruiters and staffing agencies: watch which companies are hiring in a district or sector, and exclude competing agencies.
- Job boards and alert apps: a clean daily feed of new offers by category, with stable IDs and posting dates.
- Market analysts and HR teams: track open offers per district and category over time, or measure how many roles are remote.
- Candidates and career coaches: find recent offers that state no experience is needed, or that mention a language you speak.
📧 Employer contact emails (optional add-on)
Turn on Find employer contact email and the Actor looks for a public contact email on each employer's own website, then adds it to every offer from that company.
- Only real, published addresses: the email comes from the company's own site, such as geral@, info@, rh@ or recrutamento@. Nothing is guessed or made up.
- Every offer from one company gets the same email, together with the company website and the page where the address was found.
- Private people are protected: when the employer name looks like a person, only a general company address is returned.
- Anonymous offers are skipped: names such as "Confidencial", "Anónimo" or "Empresa de Catering" are not looked up.
- Not every company has one: many small employers publish no email on their website, so some offers stay without an email.
- Off by default: leave it off for a normal scrape. When it is on, you pay only when an email is found, once per company per run.
Open the Employer emails view in the Output tab to see company, email, website and offer side by side.
📥 Input
| Field | Type | Required | Description |
|---|---|---|---|
| What to collect | enum | No | Job offers (default) or a market snapshot of open offers per district, category, and contract type. |
| Keywords | text | No | Words the offer must mention, such as a job title or skill. Leave empty to match every offer. |
| Exclude words | list | No | Drop offers whose title, or description when details are on, contains any of these words. |
| Districts and regions | multi-select | No | Any of the 28 places the site lists, including the islands. Each choice is searched separately. Empty means the whole country. |
| Job categories | multi-select | No | Any of 44 professional categories. Empty means all. |
| Job types | multi-select | No | Full-time, part-time, internship, or remote work. Empty means all. |
| Posted within (days) | integer | No | Only offers from the last N days. 1 means today. 0 means no limit. |
| Exclude companies | list | No | Drop offers from companies whose name contains any of these words. |
| Only new offers since the last run | true or false | No | Return only offers this monitor has not returned before. |
| Monitor name | text | No | A label for the list of seen offers. Use one name per saved search. |
| Include full description and details | true or false | No | Adds the full description, posting time, expiry date, and the facts read from the text. Slower. Default off. |
| Find employer contact email | true or false | No | Optional add-on. Adds the company's public contact email from its own website to each offer. Default off. |
| Maximum results | integer | No | How many offers to save. Default 20, maximum 5,000. |
| Parallel requests | integer | No | How many pages or offers are read at once. Default 3, maximum 6. |
| Proxy configuration | object | No | Network settings for the requests. The default works for most runs. |
📊 Data table
| Field | Type | Description |
|---|---|---|
| id | text | The offer number on Net-Empregos. Stable, so it works as a unique key. |
| url | text | Direct link to the offer page. |
| title | text | Job title, with accents kept as written. |
| company | text | Employer name as listed on the offer. |
| companyLogoUrl | text | The logo the employer uploaded, when there is one. |
| location | text | Town or district printed on the offer card. |
| district, districtId | text | The district or region, matched to the site's own list. |
| category, categoryId | text | Job category as the site labels it, with its ID. |
| jobType, jobTypeId | text | Full-time, Part-time, Internship, or Remote work. Present when you filter by job type. |
| workMode, isRemote | text, true or false | Remote or hybrid, when the title or description says so. Always remote for a remote-only search. |
| datePosted | date | Day the offer was published, YYYY-MM-DD. |
| daysOnline | integer | Days between the posting date and today. |
| isFeatured | true or false | Whether the employer paid to feature the offer. |
| postedAt | date and time | Exact posting time. With details on. |
| validThrough, daysUntilExpiry | date, integer | Expiry date and days left. With details on. |
| employmentType, industry, region, city | text | From the offer page. With details on. |
| experienceYearsMin, experienceYearsMax | integer | Years of experience the ad asks for. 0 when the ad says none is needed. With details on. |
| educationLevels | list | Levels the ad mentions: basic_9, secondary_12, professional, bachelor, master, phd. With details on. |
| languages | list | Languages the ad names, such as English or French. With details on. |
| salaryMin, salaryMax, salaryCurrency, salaryPeriod, salaryBasis, salaryText | number, text | Pay when the ad states an amount: range, EUR, hour, month or year, gross or net, and the sentence it came from. With details on. |
| description | text | Full offer text. With details on. |
| changeType, firstSeenAt | text, date and time | NEW and when it was first returned. Only in new-offers mode. |
| employerEmail, employerEmailKind, employerWebsite, employerEmailSourceUrl, emailEnrichmentStatus | text | With the email add-on on: the company's contact email, whether it is a general or a named address, the company website, the page it was found on, and whether an email was found. |
| scrapedAt | date and time | When this Actor collected the row. |
Market snapshot rows have their own fields: snapshotDate, dimension (overall, jobType, district, or category), name, openOffers, and, from the second snapshot on, previousOpenOffers, change, and changePercent.
Fields that an offer does not publish are left out of its row. Education, languages, experience, work mode, and salary are read from free text, so they appear only when the ad says so.
Example row with details on:
{"id": "16087291","url": "https://www.net-empregos.com/16087291/gestor-a-de-condominios-lisboa/","title": "Gestor/a de Condomínios - Lisboa","company": "O Meu Condomínio","district": "Lisboa","districtId": "1","category": "Administração / Secretariado","categoryId": "29","datePosted": "2026-10-07","daysOnline": 0,"isFeatured": true,"validThrough": "2026-11-06","daysUntilExpiry": 30,"employmentType": "FULL_TIME","experienceYearsMin": 2,"educationLevels": ["bachelor"],"languages": ["English"],"scrapedAt": "2026-10-07T09:12:44.120Z"}
💰 Pricing
You pay $1.50 per 1,000 results saved ($0.0015 per result). A run that finds no offers costs nothing. There is no fee to start a run and there are no subscriptions. A market snapshot returns up to 77 rows, so one snapshot costs about $0.12. The optional employer email add-on is charged separately, only when an email is found, and once per company per run, no matter how many offers that company has.
⭐ Enjoying Net-Empregos Portugal Jobs Scraper: Vagas de Emprego, No Login?
|
⭐ ⭐ ⭐ ⭐ ⭐ Saving hours of manual copying each week is worth a quick rating. A 5-star rating takes 10 seconds and helps other recruiters and analysts find this Actor. Your feedback also shapes the next update. |
| ★ Rate this Actor on Apify |
❓ FAQ
Como extraio vagas de emprego do Net-Empregos?
Enter keywords, pick districts and categories if you want, set the number of offers, and start the run. The results appear in the Output tab, ready to export.
How do I get only the new offers every day?
Turn on "Only new offers since the last run", give the search a monitor name, and put the run on an Apify schedule. The first run saves everything that matches, up to your limit, and remembers it. Every later run saves only offers that were not returned before. Use a different monitor name for each saved search. Net-Empregos publishes well over a thousand offers a day, so narrow the search (a district, a category, keywords, or posted within a few days) so that the first run's limit covers it. If the limit cuts the first run short, the log says so, and later runs will report some of the offers it did not reach as new.
How do I track how many jobs are open in Portugal?
Choose "Market snapshot" and schedule it daily or weekly. Each run returns the number of open offers for the whole board and for every contract type, district, and category, plus the change since your previous snapshot. Add a keyword to track one skill, for example python.
Can I send new offers to Slack, email, or a spreadsheet?
Yes. Apify integrations and webhooks can forward each finished run to Slack, email, Google Sheets, Zapier, Make, or your own endpoint, so a scheduled new-offers run becomes an alert without any code.
Can I get the employer's email address?
Yes. Turn on "Find employer contact email". For each company, the Actor looks for a public contact email on the company's own website and adds it to that company's offers. Many small employers publish no email, so not every offer gets one. Anonymous offers are skipped, and you pay only when an email is found, once per company per run.
Where do the employer emails come from?
Only from the company's own public website, such as its contact page. The Actor never guesses an address and never reads anything that needs a login. Each row shows the page where the email was found, so you can check it.
Does the Actor need a Net-Empregos account?
No. It reads the public search pages and public offer pages. It never asks for a login, password, cookie, or API key.
Why do few offers have a salary?
Net-Empregos has no salary field, and most Portuguese ads do not state one. The Actor reads an amount from the ad text only when the text clearly gives pay, and leaves the field out otherwise. In a test of 81 real offers, about 6% stated a salary, 17% a number of years of experience, and 30% an education level.
Why are some fields empty for some offers?
Net-Empregos does not publish every detail on every offer. Fields the offer does not show are left out of the row, not filled with placeholders.
Why does a run with full details take longer?
Each offer page is opened separately to read its full details. Turn the option off for quick lists, and on when you need the description, expiry date, or the facts read from the text.
Is it fast?
A plain list of 20 offers takes about 9 seconds and 200 offers about a minute. The Actor reads several result pages at the same time, but deliberately keeps the number of parallel requests low, because the site blocks clients that send large bursts. Opening every offer for full details is the slow part, because each offer is a separate request.
🔗 Other actors
- Portugal Jobs Feed Empregos: Net-Empregos, SAPO, IEFP, ITJobs ↗ - reads several Portuguese job boards in one run, in one format, with a monitor mode for new jobs.
- CWJobs Scraper: UK Tech Jobs, Salary Bands, and Geo Coordinates ↗ - UK tech job listings with salary bands and locations.
- Aviation Job Search Scraper: Pilot, Crew & Engineer Jobs UK/US ↗ - Aviation job listings for pilots, crew, and engineers in the UK and US.
- Ashby Jobs Scraper: Hiring Change Monitor ↗ - Tracks new and changed job postings on Ashby career pages.
- CareerCross scraper: キャリアクロス bilingual jobs ↗ - Bilingual Japanese job listings from CareerCross.