# Computrabajo LatAm Jobs Scraper (`zinin/computrabajo-jobs`) Actor

Search Computrabajo (Mexico, Colombia, Chile, Argentina, Peru) by keyword and get public job listings: title, company, location, URL, posted-when.

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

## Pricing

from $2.00 / 1,000 jobs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Computrabajo Jobs (LatAm)

Computrabajo is Latin America's largest job board network, with country-specific sites for Mexico, Colombia, Chile, Argentina and Peru — all in Spanish. This Actor pulls open roles straight from a country's public search-results page by keyword, and returns one row per job card: title, company, location, how long ago it was posted, and a direct link — no browser, no proxies, no login.

### What you get

- **Live job cards, not a stale export.** The same server-rendered results Computrabajo's own search page shows — title, company, location, posted-when and direct listing URL for every job matching your keyword.
- **Five LatAm markets in one Actor.** Mexico, Colombia, Chile, Argentina and Peru — pick the country with a two-letter code, same keyword syntax across all five.
- **Anti-bot walls surface as errors, not silence.** If Computrabajo serves a Cloudflare interstitial instead of real job HTML, the row says so instead of quietly reporting zero results.
- **No login, no proxies, no browser.** Server-rendered HTML, parsed directly.
- Runs on Apify: schedule it, monitor it, call it from the API or the MCP server, export to JSON, CSV or Excel, or push results straight into your own pipeline.

### How to run it

1. Click **Try for free** — no card needed on the free plan.
2. Paste your `cc:query` searches into **Country:query searches**, one per line — e.g. `mx:ventas` for sales roles in Mexico, `co:desarrollador` for developer roles in Colombia.
3. Press **Start**. Results appear in the dataset — read them in the UI, pull them from the API, or have a webhook push them onward.

### Pricing

Pay-per-event: **$0.005 per run start + $0.002 per job found**. No monthly seat, no minimum. 100 jobs cost about **$0.21**; 1,000 jobs about **$2.01**.

A search with no matches, or a page blocked by an anti-bot wall, is still logged with `found: false` and the reason — and it is **not** charged for. You pay for jobs actually delivered, not for attempts.

### Input

| Field | Required | What it does |
|---|---|---|
| `items` | yes | `"cc:query"` searches, e.g. `mx:ventas`, `co:desarrollador`. Supported `cc`: mx, co, cl, ar, pe. Up to 25 per run. |
| `maxConcurrency` | no | How many searches to run in parallel, 1–20 (default 5). |

```json
{
    "items": [
        "mx:ventas",
        "co:desarrollador"
    ]
}
```

### Output

One dataset row per job found. This is a real row from a real run:

```json
{
    "input": "co:desarrollador",
    "found": true,
    "title": "Programador CNC Vacante Inclusiva",
    "company": "Caja De Compensacion Familiar Comfamiliar Atlantico",
    "companyRating": 4.7,
    "location": "Barranquilla, Atlántico",
    "url": "https://co.computrabajo.com/ofertas-de-trabajo/oferta-de-trabajo-de-programador-cnc-vacante-inclusiva-en-barranquilla-CFBF5CB0836774AB61373E686DCF3405#lc=ListOffers-Score4-0",
    "postedAt": "Hace 3 horas",
    "scrapedAt": "2026-07-26T15:25:15.914Z"
}
```

| Field | What it means |
|---|---|
| `input` | The `cc:query` search you passed |
| `found` | Whether any jobs matched |
| `title` | Job title |
| `company` | Hiring company name |
| `companyRating` | The company's star rating on Computrabajo, e.g. `4.7`, or `null` when the card shows none |
| `location` | City and region as listed on the card, e.g. `Barranquilla, Atlántico`; `null` if the card shows no location |
| `postedAt` | Relative "posted X ago" text as shown on the card, in Spanish |
| `url` | Link to the full job listing |
| `scrapedAt` | When this Actor fetched the row |

#### Need the rest of the picture?

These run on the same account, take the same shape of input and bill the same way, so they slot into an existing pipeline without new plumbing.

| Actor | What it does |
|---|---|
| [Company Hiring Radar](https://apify.com/zinin/company-hiring-radar) | Pull every open role a company is hiring for from its public job board (Greenhouse, Lever, Ashby) and turn… |
| [Job Postings Aggregator](https://apify.com/zinin/job-postings-aggregator) | Pull every open role from a company's public applicant-tracking system (Greenhouse, Lever, Ashby) and… |
| [Layoff Tracker](https://apify.com/zinin/layoff-tracker) | Track recent tech layoffs by company name or sector (e.g |
| [AI Answer Change Alert](https://apify.com/zinin/ai-answer-change-alert) | Track whether an AI assistant's answer to a query you care about changed since last time — new sources… |
| [AI Crawler Access Checker](https://apify.com/zinin/ai-crawler-access-checker) | Check which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended & more) can access your website |

### FAQ

**Does it need an API key / login?** No — it reads Computrabajo's public, server-rendered search results.

**How fresh is the data?** Live at run time — every call fetches the current first page of results for that query.

**What happens if Computrabajo blocks the request?** If the response looks like a Cloudflare/anti-bot interstitial instead of real job HTML, the Actor returns a clear per-item error instead of silently returning zero results.

**Which countries are supported?** Mexico (`mx`), Colombia (`co`), Chile (`cl`), Argentina (`ar`) and Peru (`pe`) — Computrabajo's other country sites aren't covered yet.

**Is `location` reliable?** Yes, as of 26 July 2026. Until then this Actor sometimes
returned a number like `4,7` in `location` — that was the company's star rating, and it
was our parsing bug, not Computrabajo's markup: the rating and the location live in two
sibling paragraphs that share three CSS classes, and the old selector matched whichever
came first. The rating now has its own `companyRating` field, and `location` is the city
and region or `null`. If you stored rows from before that date, the numeric `location`
values in them are ratings.

**Can I call it from an AI agent?** Yes — standard Apify Actor, callable from the Apify API, the SDK, or the Apify MCP server.

**What this is NOT.** It does not paginate past the first results page per query, does not read the full job description, and does not apply to jobs on your behalf.

Found a wrong result, or need a check we don't run? Open an issue on this Actor's page.

***

Built by [zinin](https://apify.com/zinin). Questions? Telegram [@timzinin](https://t.me/timzinin).

# Actor input Schema

## `items` (type: `array`):

List of "cc:query" strings, e.g. "mx:ventas", "co:desarrollador". Supported cc: mx, co, cl, ar, pe.

## `maxConcurrency` (type: `integer`):

How many queries to process in parallel.

## Actor input object example

```json
{
  "items": [
    "mx:ventas",
    "co:desarrollador"
  ],
  "maxConcurrency": 5
}
```

# 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 = {
    "items": [
        "mx:ventas",
        "co:desarrollador"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("zinin/computrabajo-jobs").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 = { "items": [
        "mx:ventas",
        "co:desarrollador",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("zinin/computrabajo-jobs").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 '{
  "items": [
    "mx:ventas",
    "co:desarrollador"
  ]
}' |
apify call zinin/computrabajo-jobs --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=zinin/computrabajo-jobs",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/GcZ1QsZAbfkpikJcb/builds/JW6FjjABYWX7cihJY/openapi.json
