Computrabajo Job Listings Scraper — Argentina & LatAm Salaries
Pricing
from $1.50 / 1,000 job scrapeds
Computrabajo Job Listings Scraper — Argentina & LatAm Salaries
Structured job listings from Computrabajo across 19 LatAm countries — including Argentina, Mexico, and Colombia — with salary, contract type, work mode, and full description. Pay per job scraped.
Pricing
from $1.50 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Mariano Ferreras
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Computrabajo Jobs Scraper — LatAm Job Listings
Pay-per-event pricing. This actor extracts public job postings from Computrabajo, a job board operating across 19 Spanish-speaking Latin American countries. Structured JSON: title, company, location, salary (when listed), contract type, work mode, posting date. There are 5+ Computrabajo scrapers on Apify — we compete on price ($0.0015/job) rather than feature breadth.
The most important limitation: most LatAm job postings list salary as "A convenir" (negotiable) — you will get many null salary fields.
What it does
This actor scrapes job postings from Computrabajo across 19 Spanish-speaking Latin American countries.
It uses rotating proxies for reliability and validates every output item against a strict schema. Incremental runs are supported via the sinceDate field — skip jobs older than your last run. Salary data is available when listings include it; many LatAm postings say "A convenir" (negotiable) and will have null salary fields.
Bumeran support (Argentina, Mexico, Colombia, Peru, Chile, Venezuela, Panama) is implemented in the parser layer and will be activated in v1.1 once a Playwright-based runner is wired up (Bumeran is a JavaScript SPA requiring browser rendering).
Use cases
- Labor market analytics — track hiring trends, salary movements, and job demand by role, location, and country across all of LatAm in one unified feed.
- HR tech pipeline — power job aggregators, candidate matching engines, or alert systems with fresh Computrabajo and empleos computrabajo data across 19 countries without building per-country scrapers.
- Salary data LatAm — extract salary ranges (when listed) from thousands of job postings to build salary band models for Argentina, Mexico, Colombia, and beyond.
- Recruiter intelligence — monitor competitor hiring activity, identify high-growth companies, and benchmark compensation ranges by role and region. Enable
enrichCompanyto add each employer's verified badge, average rating, and follower/review counts to every job record. - Automated job alerts — run on a schedule with
sinceDateto fetch only new listings since the last run, then push to Slack/email/your ATS.
Input example
{"sources": ["computrabajo"],"country": "ar","keyword": "desarrollador python","location": "buenos aires","maxItems": 100,"sinceDate": "2026-07-01","useResidentialProxy": false,"enrichCompany": false}
| Field | Type | Default | Description |
|---|---|---|---|
sources | array | ["computrabajo"] | Data sources to scrape. Options: "computrabajo", "bumeran" (Bumeran is stub in v1.0) |
country | enum | "ar" | Country code for Computrabajo. Options: ar, mx, co, pe, cl, ec, ve, bo, py, uy, cr, pa, do, gt, hn, sv, ni, cu, pr |
keyword | string | "desarrollador" | Job title or keyword to search for |
location | string | (none) | Optional city or province to filter by (e.g. "buenos aires", "monterrey") |
sinceDate | string | (none) | ISO date YYYY-MM-DD. Skip jobs posted before this date. Useful for incremental runs. |
maxItems | integer | 50 | Maximum number of jobs to collect. 0 = unlimited |
useResidentialProxy | boolean | false | Upgrade to residential proxies (not required for Computrabajo; recommended for Bumeran when activated) |
enrichCompany | boolean | false | Fetch each job's company profile page and attach a companyDetails object (see below). Each distinct company is fetched once per run and cached — cost scales with distinct employers, not job count. Off by default so the default run's output and cost are unchanged. |
Output example
[{"url": "https://ar.computrabajo.com/ofertas-de-trabajo/oferta-de-trabajo-de-senior-backend-python-developer-remoto-para-residentes-en-argentina-en-monserrat-F2A4E9D19A683AFB61373E686DCF3405","title": "Senior Backend Python Developer","company": "Kaizen Recursos Humanos","location": "Monserrat, Capital Federal","salary": {"raw": "A convenir","min": null,"max": null,"currency": null},"contractType": "Contrato por tiempo indeterminado","workMode": "remote","postedDate": "2026-07-23","description": "En KaizenRH buscamos Senior Backend Python Developer para trabajar dentro de Compañía líder en desarrollo de software...","source": "computrabajo","country": "ar"}]
| Field | Type | Notes |
|---|---|---|
url | string | Canonical job detail page URL |
title | string | Job title as listed |
company | string | Hiring company name |
location | string | Location string as scraped (e.g. "Belgrano, Capital Federal") |
salary.raw | string | Raw salary text from listing (e.g. "$ 1.200.000 – $ 1.500.000 ARS") |
salary.min | number|null | Parsed minimum salary amount |
salary.max | number|null | Parsed maximum salary amount |
salary.currency | string|null | Currency code ("ARS", "USD", "MXN", etc.) |
contractType | string|null | e.g. "Contrato por tiempo indeterminado", "Freelance" |
workMode | "remote"|"hybrid"|"onsite"|null | Detected from listing text/tags |
postedDate | string|null | ISO date YYYY-MM-DD normalized from relative ("Hace 2 días") or absolute dates |
description | string | Full job description text (HTML stripped) |
source | "computrabajo"|"bumeran" | Data source identifier |
country | string | Country code used for this search |
Company enrichment (enrichCompany: true)
When enrichCompany is enabled, each job record gets an additional companyDetails object built from two public, unauthenticated sources: the structured data (JSON-LD) already embedded in the job's own detail page (free — no extra request), and the employer's Computrabajo company profile page (one extra request per distinct company, cached for the rest of the run).
{"url": "https://ar.computrabajo.com/ofertas-de-trabajo/oferta-de-trabajo-de-senior-backend-python-developer-...","title": "Senior Backend Python Developer","company": "Kaizen Recursos Humanos","companyDetails": {"id": "AFD521AD0DEE542B","name": "Kaizen Recursos Humanos","profileUrl": "https://ar.computrabajo.com/empresas/ofertas-de-trabajo-de-kaizen-recursos-humanos-AFD521AD0DEE542B","industry": "RRHH / Personal","logoUrl": "https://ii.ct-stc.com/5/logos/empresas/2024/07/31/bccd8d9f7e294f87ae9e103002884thumbnail.png","verified": true,"rating": 4.2,"reviewCount": 234,"followerCount": 2441,"jobCount": 12},"...": "(other job fields as above)"}
| Field | Type | Notes |
|---|---|---|
companyDetails.id | string | Computrabajo's internal company identifier (hex string, used to build the profile URL) |
companyDetails.name | string | Company name from the profile page (falls back to the job-posting name if the profile fetch failed) |
companyDetails.profileUrl | string|null | Public company profile page URL |
companyDetails.industry | string|null | Industry/category taxonomy Computrabajo assigns to the posting (e.g. "Informática / Software", "RRHH / Personal") — comes from the job's own structured data, always populated when enrichment runs |
companyDetails.logoUrl | string|null | Company logo image URL. null when the company has not uploaded a real logo (Computrabajo shows a default placeholder in that case, which we detect and treat as no logo) |
companyDetails.verified | boolean|null | Computrabajo's "Empresa verificada" badge. null only if the profile page fetch failed |
companyDetails.rating | number|null | Average employer rating, 0–5. null when the company has no reviews yet, or the profile fetch failed |
companyDetails.reviewCount | number|null | Number of employee reviews. null when zero/unavailable |
companyDetails.followerCount | number|null | Followers on the company's Computrabajo profile. null when unavailable |
companyDetails.jobCount | number|null | Number of the company's currently active job postings. null when unavailable |
When enrichCompany is false (the default), companyDetails is omitted entirely — job records are byte-for-byte the same shape as before this field existed.
What we checked and confirmed does NOT exist publicly on Computrabajo (so we don't fabricate it): a structured "company size" / employee-count band, and any industry/sector taxonomy beyond the single per-posting industry string above. Some competing scrapers advertise these; on live inspection of both verified and unverified company profile pages (with and without reviews) neither field is present in the HTML or in Computrabajo's schema.org JSON-LD.
Cost note: enrichment adds one extra HTTP fetch per distinct company (not per job), which is not separately charged — there is no company-enriched pricing event. It only increases the actor's own compute time slightly, which we absorb; you pay the same job-scraped price per job whether or not enrichCompany is on.
Pricing
This actor uses pay-per-event pricing. You are never charged for failed requests, quarantined items, or jobs that fail schema validation.
| Event | Price | Description |
|---|---|---|
job-scraped | $1.50 / 1,000 jobs | Charged once per successfully validated, schema-passing job pushed to the dataset |
Use a small maxItems for test runs (e.g. 5) to keep costs minimal while verifying selectors. At $1.50/1K, a monthly scan of 500 jobs costs $0.75 — no rental, no subscription.
Use with AI agents (MCP)
This actor is available as a tool for AI assistants via the Apify MCP server. Agents can call it to scrape Latin American jobs from Computrabajo directly — no Apify console needed, just a single function call.
MCP setup
{"mcpServers": {"apify": {"command": "npx","args": ["mcp-remote","https://mcp.apify.com?tools=mfapitools/computrabajo-jobs-scraper","--header","Authorization: Bearer <YOUR_API_TOKEN>"]}}}
Example agent prompts
- "Scrape the latest Python developer jobs in Argentina from Computrabajo"
- "Get all remote React jobs posted in Mexico in the last week"
- "Pull salary data for senior engineering roles across Chile, Colombia, and Peru"
The actor returns structured JSON with the same fields shown above. Agentic workflows (Claude Code, Cursor, any MCP-compatible AI) can fetch job listings and analyze hiring trends in the same run.
Limitations
- Computrabajo only in v1.0 — Bumeran parsers and URL builders are implemented and tested but the live runner requires a Playwright-based crawler (Bumeran is a JavaScript SPA). Bumeran activation is planned for v1.1.
- Salary not always listed — many LatAm job postings say "A convenir" (negotiable).
salarywill benullin those cases. This is a data limitation from the source site, not a scraper bug. - Computrabajo proxy tier — datacenter proxies work for Computrabajo in most countries (confirmed via live testing on AR). If you observe blocking (especially on MX or CO domains), enable
useResidentialProxy: true. sinceDateaccuracy — Computrabajo uses relative dates ("Hace 2 horas", "Hace 3 días") that are normalized to ISO dates at scrape time. Accuracy degrades for old listings (weeks/months) where the relative label is coarse.- Public data only — this actor scrapes public job listings only. It does not and cannot access applicant CVs, candidate profiles, or login-gated data. Company names of hiring firms are public information.
- Robots.txt compliance — the scraper uses only allowed URL paths (
/trabajo-de-{keyword},/ofertas-de-trabajo/...). Disallowed paths (/hojas-de-vida/,/curriculums/,/Ajax/) are never requested. - Rate limiting — fetching is intentionally polite (sequential requests with Crawlee's default concurrency). Very large
maxItemsvalues will take proportionally longer. Run the actor with a schedule for regular incremental harvests rather than large one-time bulk pulls. enrichCompanyhas no "company size" or structured sector field — confirmed absent on Computrabajo's public pages (see the Company enrichment section above).companyDetails.industryis the closest thing available and comes from the job posting's own taxonomy tag.
Changelog
See ./CHANGELOG.md.