# Net Empregos Scraper (`lexis-solutions/net-empregos-scraper`) Actor

Scrape Net-Empregos job listings into structured JSON, including title, company, location, dates, employment type, industry, and full description—ideal for Portuguese job market analysis, aggregation, and hiring insights.

- **URL**: https://apify.com/lexis-solutions/net-empregos-scraper.md
- **Developed by:** [Lexis Solutions](https://apify.com/lexis-solutions) (community)
- **Categories:** Jobs, Automation, AI
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$29.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Net-Empregos Scraper

![banner](https://i.imgur.com/PqQSoPU.png)

Net-Empregos is a Portuguese job board and employment portal that aggregates tens of thousands of job offers across Portugal. It provides searchable listings with filters for keyword, location, category and working hours, plus sections for candidates, employers and training. The site highlights featured employers and appears designed for regular job search and listings updates.

### Introduction

This actor crawls Net-Empregos search results and job detail pages. You can start from search URLs or provide a query and location to build the search URL automatically.

### Use Cases

- Job market research and trend analysis
- Job aggregation for internal tools
- Competitive hiring insights
- Company and role monitoring

### Input

Provide the following fields:

- `startUrls` (array, optional): Search or job detail URLs from net-empregos.com.
- `query` (string, optional): Search term used for the `chaves` parameter.
- `location` (string, optional): City or region used for the `cidade` parameter.
- `maxItems` (integer, optional): Maximum number of jobs to extract. If omitted, the actor paginates until no more results are found.
- `proxyConfiguration` (object, optional): Apify proxy configuration. Example: `{ "useApifyProxy": true }`.

Notes:

- Provide at least one of `startUrls` or `query`.
- Using a proxy is strongly recommended, as the website sometimes redirects to a login page which prevents data extraction.

### Input Examples

**1) Start URLs**

```json
{
  "startUrls": [
    {
      "url": "https://www.net-empregos.com/pesquisa-empregos.asp?chaves=engenheiro&cidade=lisboa"
    },
    {
      "url": "https://www.net-empregos.com/14881959/encarregados-gerais-general-foreman-zanzibar-tanzania-airports-roads-highways/"
    }
  ],
  "maxItems": 50,
  "proxyConfiguration": { "useApifyProxy": true }
}
````

**2) Query + location**

```json
{
  "query": "engenheiro",
  "location": "lisboa",
  "maxItems": 50
}
```

### Output

Each dataset item represents one job listing:

```json
{
  "title": "Encarregados Gerais / General Foreman (Zanzibar - Tanzania) - Airports, Roads & Highways",
  "url": "https://www.net-empregos.com/14881959/encarregados-gerais-general-foreman-zanzibar-tanzania-airports-roads-highways/",
  "datePosted": "2026-1-27 03:16 UTC",
  "validThrough": "2026-2-26 03:16 UTC",
  "employmentType": "FULL_TIME",
  "industry": "Construcao Civil",
  "nameOrganization": "Pemba Airport Construction Limited",
  "logoOrganization": "https://www.net-empregos.com/img/logos/logo_novo_sqare_new.png",
  "addressLocality": "Outros Locais - Estrangeiro",
  "addressRegion": "Outros Locais - Estrangeiro",
  "addressCountry": "PT",
  "postalCode": "Outros Locais - Estrangeiro",
  "streetAddress": "Outros Locais - Estrangeiro",
  "ref": "14881959",
  "description": "Detalhe da Oferta: POSITION: General Foreman (Earthworks & Pavement) ..."
}
```

The scraper paginates through results and stops when there are no more jobs or when `maxItems` is reached.

### Why use the Net-Empregos Scraper?

- Fast and efficient pagination
- Simple input options (URLs or search parameters)
- Structured job data for analysis
- Supports proxy configuration

### FAQ

- **Can I use this scraper to apply for jobs?**

  No. This actor is for data extraction only.

- **What if the website changes?**

  If Net-Empregos updates its site structure, the actor may need adjustments. Please report issues or request updates as needed.

### Need to scrape other job platforms?

Check out our other job scrapers on Apify:

- [Totaljobs Scraper](https://apify.com/lexis-solutions/totaljobs-scraper)
- [Lever.co Scraper](https://apify.com/lexis-solutions/lever-co-scraper)
- [Arbeitsagentur Scraper](https://apify.com/lexis-solutions/bundesagentur-fur-arbeit-arbeitsagentur-scraper)
- [Jobs.cz Scraper](https://apify.com/lexis-solutions/jobs-cz-scraper)
- [JobUp Scraper](https://apify.com/lexis-solutions/jobup-scraper)
- [InfoJobs Scraper](https://apify.com/lexis-solutions/infojobs-net-scraper)
- [Reed.co.uk Scraper](https://apify.com/lexis-solutions/reed-co-uk-scraper)
- [Werk.nl Scraper](https://apify.com/lexis-solutions/werk-nl-scraper)
- [HelloWork Scraper](https://apify.com/lexis-solutions/hellowork-scraper)

***

Got feedback or need an extension?

Lexis Solutions is a [certified Apify Partner](https://apify.com/partners/find). We can help you with custom solutions or data extraction projects.

Contact us over [Email](mailto:scraping@lexis.solutions) or [LinkedIn](https://www.linkedin.com/company/lexis-solutions)

### Support Our Work 💝

If you're happy with our work and scrapers, you're welcome to leave us a company review [here](https://apify.com/partners/find/lexis-solutions/review) and leave a review for the scrapers you're subscribed to. It will take you less than a minute but it will mean a lot to us!

Image Credit: https://www.net-empregos.com

# Actor input Schema

## `startUrls` (type: `array`):

URLs to start with.

## `maxItems` (type: `integer`):

Maximum number of items.

## `proxyConfiguration` (type: `object`):

Your proxy configuration from Apify

## `query` (type: `string`):

Search query

## `location` (type: `string`):

Location

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.net-empregos.com/pesquisa-empregos.asp?page=1&chaves=computer&categoria=0&zona=0&tipo=0"
    }
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.net-empregos.com/pesquisa-empregos.asp?page=1&chaves=computer&categoria=0&zona=0&tipo=0"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("lexis-solutions/net-empregos-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "startUrls": [{ "url": "https://www.net-empregos.com/pesquisa-empregos.asp?page=1&chaves=computer&categoria=0&zona=0&tipo=0" }] }

# Run the Actor and wait for it to finish
run = client.actor("lexis-solutions/net-empregos-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.net-empregos.com/pesquisa-empregos.asp?page=1&chaves=computer&categoria=0&zona=0&tipo=0"
    }
  ]
}' |
apify call lexis-solutions/net-empregos-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lexis-solutions/net-empregos-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Net Empregos Scraper",
        "description": "Scrape Net-Empregos job listings into structured JSON, including title, company, location, dates, employment type, industry, and full description—ideal for Portuguese job market analysis, aggregation, and hiring insights.",
        "version": "1.0",
        "x-build-id": "8j1xT6TD9fMzpNL14"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lexis-solutions~net-empregos-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lexis-solutions-net-empregos-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/lexis-solutions~net-empregos-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lexis-solutions-net-empregos-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/lexis-solutions~net-empregos-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lexis-solutions-net-empregos-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "URLs to start with.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Maximum number of items",
                        "type": "integer",
                        "description": "Maximum number of items.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Your proxy configuration from Apify",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Search query"
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Location"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
