# Computrabajo Jobs Scraper: Ofertas de Empleo en Latinoamérica (`getascraper/computrabajo-jobs-scraper`) Actor

Computrabajo scraper for ofertas de empleo in 19 countries (México, Colombia, Perú, Argentina, Chile) in one run. Filter by keyword, city, category, remote, contract and salary, with pay read as numbers. Optional full details, new-postings monitor, JSON, CSV, Excel, API, Make, n8n.

- **URL**: https://apify.com/getascraper/computrabajo-jobs-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.11 / 1,000 job postings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 💼 Computrabajo Jobs Scraper: Ofertas de Empleo en Latinoamérica

<table width="100%" style="margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#EEF3FA;border:1px solid #C9D7EE;border-top:4px solid #0D3878;border-radius:12px 12px 0 0">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Every Computrabajo job in Latin America, from 19 countries in one run</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Search by keyword, city or category. Filter by remote, contract, salary and date. Get clean rows with pay already turned into numbers, or only the postings you have not seen before.</span>
</td>
</tr>
</table>
<table width="100%" style="margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C9D7EE;border-radius:0 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0D3878">🌎 19 countries</span><br>
<span style="font-size:12px;color:#57534E">Mexico, Colombia, Peru, Argentina, Chile and more in a single run.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C9D7EE;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0D3878">💵 Pay as numbers</span><br>
<span style="font-size:12px;color:#57534E">Minimum, maximum, currency and period, ready to sort and average.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C9D7EE;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0D3878">🔔 New postings only</span><br>
<span style="font-size:12px;color:#57534E">Name a search, schedule it, and skip what you already have.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #C9D7EE;border-left:none;border-radius:0 0 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#0D3878">📄 Full details on demand</span><br>
<span style="font-size:12px;color:#57534E">Description, closing date, contract, education, languages and skills.</span>
</td>
</tr>
</table>

**Collect Computrabajo (bolsa de trabajo de Latinoamérica) job postings by keyword, city and category, and download them as JSON, CSV or Excel in minutes.** Each posting comes with the title, company, place, salary, posting age and a link to apply. Switch on full details to add the complete description, closing date, contract type, work schedule, education, experience, languages and skills.

***

### 🔍 What can you do with it?

- **I am a recruiter or talent sourcer** building a weekly list of new openings in Mexico City, Bogotá or Lima, so I can reach hiring teams while the posting is fresh.
- **I run a staffing agency** and compare what companies pay for the same role in Mexico, Colombia, Peru, Chile and Argentina before I quote a client.
- **I am an HR or labor-market analyst** tracking how many remote and hybrid roles appear, which cities hire most and how pay moves from month to month.
- **I run a job board or career newsletter** and need a steady feed of fresh Spanish-language postings with clean dates, places and employer links.

***

<table width="100%"><tr>
<td style="padding:12px 18px;background:#EEF3FA;border-left:4px solid #0D3878">
<span style="font-size:15px;color:#1C1917">&#9889; <b>No login, no account.</b> Ready for the Apify scheduler: set it once and receive only new postings on every run.</span>
</td>
</tr></table>

### 🚀 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#EEF3FA;border:1px solid #C9D7EE;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0D3878;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick countries and roles</span><br>
<span style="font-size:12px;color:#57534E">Choose one or more countries, then add keywords, categories or cities. Or paste a search page copied from Computrabajo.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF3FA;border:1px solid #C9D7EE;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0D3878;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Narrow it down</span><br>
<span style="font-size:12px;color:#57534E">Set remote or hybrid, contract type, experience, minimum salary and how recent.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF3FA;border:1px solid #C9D7EE;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#0D3878;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Run and download</span><br>
<span style="font-size:12px;color:#57534E">Click Start, then export JSON, CSV or Excel.</span>
</td>
</tr>
</table>

### ⚙️ Input

All fields are optional. With no changes, the Actor returns 25 recent Mexican postings that match the keyword ventas.

| Field | Type | Required | Description |
| :--- | :--- | :--- | :--- |
| Countries | array of enums | No | One or more of the 19 country sites. The result limit is shared fairly between them. |
| Job keywords | array of text | No | Job titles or skills in Spanish or English, one per row. Each is searched in every chosen country. |
| Job categories | array of enums | No | Whole fields such as engineering, health or customer service, in addition to keywords. |
| Cities or states | array of text | No | Narrow every search to these places. Empty means the whole country. |
| Computrabajo search page URLs | array of URLs | No | Paste search, category or company pages. When filled, the form filters above are ignored. |
| Workplace | enum | No | Any, remote only, or hybrid. |
| Posted within | enum | No | Since yesterday, last 3, 7, 15 or 30 days. |
| Contract type | enum | No | Permanent, fixed term, project, seasonal or apprenticeship. |
| Experience required | enum | No | From 1 year to more than 10 years. |
| Minimum monthly salary | integer | No | Keep only postings that publish a monthly salary at or above this amount, in local currency. |
| Order | enum | No | Newest first or most relevant first. |
| Only these companies | array of text | No | Keep postings whose company name contains one of these words. |
| Skip these companies | array of text | No | Drop postings whose company name contains one of these words. |
| Fetch full posting details | boolean | No | Adds the full description and requirements. Slower. Off by default. |
| Monitor name | text | No | Name a search to return only postings that are new since the last run with that name. |
| Maximum jobs | integer | No | Total postings to return, 1 to 100,000. Default 25. |
| Proxy | object | No | Network settings. The default works for most runs. |

***

### 📦 Output

Each row is one job posting. Fields the site does not publish are left out instead of being filled with placeholders.

```json
{
  "id": "9CFDA1FF5217389E61373E686DCF3405",
  "url": "https://mx.computrabajo.com/ofertas-de-trabajo/oferta-de-trabajo-de-ingeniero-programador-plc-contratacion-inmediata-en-apodaca-9CFDA1FF5217389E61373E686DCF3405",
  "title": "Ingeniero Programador Plc",
  "company": "Vidmar Ingenieria",
  "country": "Mexico",
  "countryCode": "MX",
  "location": "Apodaca, Nuevo León",
  "city": "Apodaca",
  "state": "Nuevo León",
  "salaryText": "$ 35,000.00 (Mensual)",
  "salaryMin": 35000,
  "salaryMax": 35000,
  "salaryCurrency": "MXN",
  "salaryPeriod": "month",
  "postedText": "Hace 2 horas",
  "postedDate": "2026-10-23",
  "searchTerm": "desarrollador",
  "scrapedAt": "2026-10-23T19:21:15.249Z",
  "detailFetched": true,
  "industry": "Servicios Profesionales",
  "validThrough": "2026-12-22",
  "employmentType": "FULL_TIME",
  "contractType": "Contrato por tiempo indeterminado",
  "workSchedule": "Tiempo Completo",
  "education": "Educación superior - Licenciatura",
  "experience": "5 años de experiencia",
  "languages": ["Inglés"],
  "skills": ["Automatización", "Base de datos", "Electrónica", "Robótica"]
}
```

#### Field reference

| Field | Type | Description |
| :--- | :--- | :--- |
| `id` | string | Computrabajo posting number. |
| `url` | string | Link to the posting. |
| `title` | string | Job title as published. |
| `company`, `companyUrl`, `companyRating` | string, number | Employer name, its Computrabajo page and its rating when shown. |
| `companyConfidential` | boolean | The employer name is hidden and the site shows a generic text instead. |
| `country`, `countryCode` | string | Country site the posting comes from. |
| `location`, `city`, `state` | string | Place as published, split into city and state when the site gives both. |
| `salaryText` | string | Pay exactly as published. |
| `salaryMin`, `salaryMax`, `salaryCurrency`, `salaryPeriod` | number, string | Pay turned into numbers, with currency code and period such as month. |
| `salaryHasCommissions`, `salaryNegotiable` | boolean | Commissions are on top, or the pay is "a convenir". |
| `postedText`, `postedDate` | string | The site's relative age and the posting date. |
| `isUrgent`, `isFeatured` | boolean | Urgent and highlighted postings. |
| `applyUrl` | string | Link to start the application. |
| `searchTerm` | string | Keyword or category that found the posting. |
| `detailFetched` | boolean | Only with full details on: whether the detail data was added. |
| `description` | string | Full posting text. |
| `industry`, `companyLogoUrl`, `companyId` | string | Employer context. |
| `validThrough` | string | Closing date. |
| `employmentType`, `contractType`, `workSchedule`, `workplaceType` | string | Employment type code, contract, schedule and on-site, remote or hybrid label. |
| `education`, `experience`, `ageRange` | string | Candidate requirements. |
| `languages`, `skills`, `keywords` | array | Languages, skills and the keywords the employer chose. |
| `drivingLicense`, `willingToTravel`, `willingToRelocate` | string, boolean | Further requirements when stated. |
| `scrapedAt` | string | When the row was collected. |

***

### 💰 Pricing

Pricing is pay per event. You pay for each posting saved to your dataset. If you switch on full details, each posting whose details were actually retrieved is charged a second, separate Full details event. Postings where details could not be retrieved are not charged for it, and runs with no results cost nothing. Both events follow your Apify plan, so higher plans pay less per event, and the maximum charge you set for a run is always respected. There are no start fees, monthly subscriptions or hidden fees. Free-plan runs are limited to 25 postings per run, 3 runs per day, and a short wait between runs. Paid plans have no such limits.

***

### ⭐ Enjoying Computrabajo Jobs Scraper?

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:20px 24px 14px;background:#EEF3FA;border:1px solid #EEF3FA;border-left:5px solid #0D3878;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">If this saves you hours of searching Computrabajo country by country, tell us about it.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other recruiters and analysts working with Latin American hiring data find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#0D3878;border:1px solid #EEF3FA;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/computrabajo-jobs-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

***

### ✨ Tips and best practices

- **Cover several countries at once.** Pick every country you hire in. Each country and keyword gets a fair share of your result limit, so one big market does not crowd out the rest.
- **Build a daily hiring feed.** Choose a monitor name, set Posted within to 3 days, and schedule the Actor. Every run returns only postings you have not received before. The first run delivers everything up to your result limit.
- **Compare pay across countries.** Salary is read into numbers with a currency code. Group by country and currency before you average, since pesos, soles and dollars differ.
- **Go wider than one search.** One search covers about 8,000 postings. For bigger pulls, leave the city empty and raise the limit: the Actor splits the search by state on its own.
- **Add details only when you need them.** The default run is quick. Turn on full details when you need descriptions, closing dates or requirements.
- **Copy a search from Computrabajo.** Set up the filters on the site, paste the page address into search page URLs, and get exactly that list.

***

### ❓ FAQ

##### ¿Cómo descargo ofertas de empleo de Computrabajo a Excel?

Run the Actor with your countries, keywords and filters, open the Output tab, and export the dataset as Excel or CSV. Spanish characters are kept as published.

##### Does it need a Computrabajo account?

No. It collects publicly visible postings and needs no login or account.

##### Does it return salaries?

Only when a posting publishes one. Many postings say "a convenir" or show nothing, so the Actor leaves the number fields out rather than guessing.

##### ¿Cómo busco trabajos remotos en México y Colombia?

Select Mexico and Colombia under Countries, add your keyword, and choose Remote only under Workplace. Add Posted within to see only the newest remote roles.

##### Does it return recruiter or candidate contact details?

No. It returns public posting and employer information only: no resumes, candidate data or private contact details.

***

### 🛡️ Disclaimers and support

- **Disclaimer:** This Actor retrieves publicly available job postings. It is an independent tool and is not affiliated with or endorsed by Computrabajo. Make sure your use complies with the site's terms and applicable laws.
- **Support:** Open an issue from the Actor page in the Apify Console for bug reports or feature requests.

### 🔗 Other actors

- [InfoJobs Spain Job Scraper: Ofertas de Empleo](https://apify.com/getascraper/infojobs-spain-scraper) ↗ - Spanish job offers with salary and filters.
- [Gupy Jobs Scraper: Vagas de Emprego Brasil, PcD e Remoto](https://apify.com/getascraper/gupy-jobs-scraper) ↗ - Brazilian job listings including remote and accessibility roles.
- [Net-Empregos Portugal Jobs Scraper: Vagas de Emprego, No Login](https://apify.com/getascraper/net-empregos-jobs-scraper) ↗ - Portuguese job listings by district, category or keyword.
- [Kariyer.net Jobs Scraper: İş İlanları Türkiye with Filters](https://apify.com/getascraper/kariyer-net-jobs-scraper) ↗ - Turkish job postings with city, sector and seniority filters.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/computrabajo-jobs-scraper/changelog.md

# Actor input Schema

## `countries` (type: `array`):

Computrabajo country sites to search. Pick several to cover them all in one run; the result limit is shared fairly between countries. Ignored when you paste search page URLs below.

## `searchQueries` (type: `array`):

Job titles or skills in Spanish or English, one per row, for example "vendedor", "desarrollador" or "contador". Each keyword is searched in every chosen country.

## `categories` (type: `array`):

Computrabajo job categories to browse in addition to the keywords. Handy when you want a whole field, such as engineering or health, without choosing a keyword.

## `locations` (type: `array`):

City or state names, one per row, for example "Guadalajara", "Jalisco" or "Bogotá". Leave empty to search the whole country. A name the country site does not know returns no rows for that search.

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

Optional. Paste search, category or company pages copied from any country site, such as https://mx.computrabajo.com/trabajo-de-ventas. When filled, the countries, keywords, categories, locations and job filters above are ignored and each page is read as it is.

## `workplace` (type: `string`):

Limit results to fully remote jobs or to jobs that mix office and remote work.

## `postedWithin` (type: `string`):

Only postings published in this period, counted back from today. Combine with the newest-first order for daily or weekly pulls.

## `contractType` (type: `string`):

Type of contract offered in the posting. Each country site names its contract types differently, so the closest matching option of every country is used; a country without that type returns nothing for the search.

## `experience` (type: `string`):

Years of experience the posting asks for.

## `minSalary` (type: `integer`):

Keep only postings that publish a monthly salary at or above this amount, in the local currency of each country (pesos, soles and so on). Postings without a published salary are left out when this is set. Use 0 for no minimum.

## `sortBy` (type: `string`):

Newest first returns the latest postings at the top, which is what you want for monitoring. Relevance follows the keyword match.

## `onlyCompanies` (type: `array`):

Keep only postings whose company name contains one of these words, one per row. Computrabajo has no company filter in its search, so this is applied to every result as it is read.

## `excludeCompanies` (type: `array`):

Drop postings whose company name contains one of these words, one per row, for example staffing agencies. Postings from hidden companies show a generic text such as "Importante empresa del sector", which you can also list here.

## `includeDetails` (type: `boolean`):

Open every posting to add the full description, exact posting and closing dates, contract type, work schedule, workplace type, education, experience, languages, skills, keywords, industry and the company logo. Slower because each posting is one extra page.

## `monitorScope` (type: `string`):

Type any name, such as "mx-ventas-daily", to return only postings that are new since the last run with the same name. Keep the same name on a schedule and each run delivers just the fresh postings. Leave empty to return everything every time.

## `maxResults` (type: `integer`):

Total number of postings to return across all countries and searches. Free plan runs are limited to 25. Raise it for bigger pulls; one search can reach about 8,000 postings and larger ones are split by state automatically.

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

Leave as it is. Requests go out directly and switch to a residential proxy by themselves if the site starts refusing them. Choose an Apify Proxy group or your own proxy URLs only if you want to force one.

## Actor input object example

```json
{
  "countries": [
    "mx"
  ],
  "searchQueries": [
    "ventas"
  ],
  "categories": [],
  "locations": [],
  "startUrls": [],
  "workplace": "any",
  "postedWithin": "any",
  "contractType": "any",
  "experience": "any",
  "minSalary": 0,
  "sortBy": "newest",
  "onlyCompanies": [],
  "excludeCompanies": [],
  "includeDetails": false,
  "monitorScope": "",
  "maxResults": 25,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "countries": [
        "mx"
    ],
    "searchQueries": [
        "ventas"
    ],
    "categories": [],
    "locations": [],
    "startUrls": [],
    "workplace": "any",
    "postedWithin": "any",
    "contractType": "any",
    "experience": "any",
    "minSalary": 0,
    "sortBy": "newest",
    "onlyCompanies": [],
    "excludeCompanies": [],
    "includeDetails": false,
    "monitorScope": "",
    "maxResults": 25,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/computrabajo-jobs-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 = {
    "countries": ["mx"],
    "searchQueries": ["ventas"],
    "categories": [],
    "locations": [],
    "startUrls": [],
    "workplace": "any",
    "postedWithin": "any",
    "contractType": "any",
    "experience": "any",
    "minSalary": 0,
    "sortBy": "newest",
    "onlyCompanies": [],
    "excludeCompanies": [],
    "includeDetails": False,
    "monitorScope": "",
    "maxResults": 25,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/computrabajo-jobs-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "countries": [
    "mx"
  ],
  "searchQueries": [
    "ventas"
  ],
  "categories": [],
  "locations": [],
  "startUrls": [],
  "workplace": "any",
  "postedWithin": "any",
  "contractType": "any",
  "experience": "any",
  "minSalary": 0,
  "sortBy": "newest",
  "onlyCompanies": [],
  "excludeCompanies": [],
  "includeDetails": false,
  "monitorScope": "",
  "maxResults": 25,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call getascraper/computrabajo-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/computrabajo-jobs-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/VK18NDU1W7lv8lfhd/builds/Rdt4RErClMQL229XJ/openapi.json
