Trabajando.cl Jobs Scraper — Chile Job Listings
Pricing
from $1.40 / 1,000 job results
Trabajando.cl Jobs Scraper — Chile Job Listings
Scrape job listings from Trabajando.cl, Chile's veteran job board: title, company, comuna/region, schedule, contract, salary when published, requirements and dates. Filter by keyword, location, area and jornada. Pay per result, no subscription.
Pricing
from $1.40 / 1,000 job results
Rating
0.0
(0)
Developer
Fabrikit
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
2
Monthly active users
22 days ago
Last modified
Categories
Security
Limited permissionsShare
Scrape job postings from Trabajando.cl, one of Chile's oldest and largest job boards (part of the Trabajando.com network used by major Chilean employers and universities), into clean, analysis-ready JSON. Filter by keyword, region or comuna, job area and work schedule (jornada), and get back every posting with title, company, location with GPS coordinates, contract type, salary when the employer publishes it, experience and education requirements, and ISO dates. This is a Chile jobs data and Chilean job market API in one Actor: no browser, no login, plain HTTP against the site's own JSON endpoints — fast and cheap.
What you get from a single run:
- Every core field a labor-market analyst or recruiter needs: job title, company (or an explicit
confidentialflag when the employer hides its name), comuna and region, schedule type, salary in CLP when published, years of experience required, education level, target careers, number of vacancies, publication and expiry dates. - The whole board if you want it: ~12,000 open postings across all 16 Chilean regions at any given time, 50 per request, with stable numeric IDs for cross-run diffing.
- Monitoring-ready: sort by
newest, schedule the Actor daily, and diff against yesterday's dataset — new postings, expired postings and hiring spikes by region, area or company.
Example output item (real posting):
{"id": "6115846","url": "https://www.trabajando.cl/trabajo/6115846-tecnico-en-prevencion-de-riesgos","title": "Técnico en Prevención de Riesgos","company": "Empresa Confidencial","confidential": true,"area": "Otra Área","positionType": "Técnico","location": "Santiago, Metropolitana de Santiago","comuna": "Santiago","region": "Metropolitana de Santiago","latitude": -33.4386021,"longitude": -70.6483453,"jornada": "Jornada Completa","contractType": null,"salary": 1050000,"salaryCurrency": "CLP","experienceYears": 1,"educationLevel": "Técnico profesional superior","vacancies": 1,"publishedAt": "2026-08-20T17:07:00","expiresAt": "2026-08-25","featured": true,"inclusive": true,"description": "Funciones:\n- Asegurar el cumplimiento de la ley N.º 16.744...","requirements": ["Estudios Técnico en Prevención de Riesgos.","Al menos 1 año de experiencia, deseable en el Sector Público..."],"scrapedAt": "2026-08-21T02:03:23.748Z"}
How to scrape Trabajando.cl
- Type a keyword (
vendedor,ingeniero civil,react) — or leave it empty to list all open jobs. - Optionally narrow by region or comuna (free text:
Antofagasta,Providencia,Valparaíso), area (the site's own category names, e.g.Comercial,Informática,Seguros) and jornada (full time, part time, remote, hybrid, shifts, internship...). - Pick a sort order and a max jobs cap, and press Start. Results land in the dataset and can be exported as JSON, CSV or Excel, or pushed to Sheets, webhooks, Zapier, Make or the Apify API.
Example input
{"keyword": "ingeniero","location": "Antofagasta","jornada": "full_time","maxItems": 200,"sort": "newest","fetchDetails": true}
- keyword — free-text search over titles and descriptions. Empty = all jobs.
- location — free text matched against the posting's location: a region (
Metropolitana de Santiago,Biobío) or a comuna (Las Condes,Concepción). Empty = all of Chile. - area — job area exactly as named on Trabajando.cl (
Comercial,Informática,Seguros, ...). Empty = all areas. - jornada —
any,full_time,part_time,remote(Teletrabajo),hybrid(Mixta),field_work(En terreno),shifts(Por Turnos),internship(Práctica),freelance,replacement,commission. - maxItems — cap on jobs returned (50 per page; the whole board is ~12,000 postings).
- sort —
relevance(site default, featured first),newest,oldest. - fetchDetails — visit each posting's own JSON endpoint (default on, 1 extra request per job) to add area, contract type, salary, requirements, education, careers, vacancies, expiry date, external apply link and the full description. Turn off for card-only data at a fraction of the runtime.
Output fields
| Field | Type | Description |
|---|---|---|
id | string | Trabajando.cl posting ID, stable across runs — use it for diffing |
url | string | Direct link to the posting |
title | string | Job title |
company | string | Employer name, or Empresa Confidencial when hidden |
confidential | boolean | true when the employer hides its name |
companyLogo | string | null | Company logo URL |
area | string | null | Job area / category (detail pages) |
positionType | string | null | Position level, e.g. Técnico, Profesional, Operario |
location | string | null | Raw comuna, region string as published |
comuna / region | string | null | Parsed location — Chile's key segmentation units |
latitude / longitude | number | null | Map pin of the posting (null when the site has no real pin) |
jornada | string | null | Work schedule, e.g. Jornada Completa, Teletrabajo, Part Time |
contractType | string | null | Contract duration when stated (often not published) |
salary | number | null | Salary — only when the employer chose to publish it |
salaryCurrency | string | null | CLP for published salaries |
experienceYears | number | null | Years of experience required |
educationLevel | string | null | Minimum education, e.g. Media, Técnico profesional superior |
careers | string[] | null | Target degrees/careers when the employer lists them |
vacancies | number | null | Number of openings in this posting |
publishedAt | string | null | ISO publication date-time (America/Santiago local time) |
publishedAgo | string | null | Site's relative label, e.g. Publicada hoy |
expiresAt | string | null | ISO expiry date of the posting |
featured | boolean | true for paid/featured postings |
inclusive | boolean | true for postings flagged as inclusive employment |
applyUrl | string | null | External ATS application link when the employer uses one |
descriptionSnippet | string | null | Short description from the search card |
description | string | null | Full plain-text description (detail pages) |
requirements | string[] | null | Minimum requirements as a structured list (detail pages) |
scrapedAt | string | ISO 8601 timestamp of this run |
A run summary (filters used, pages fetched, per-item detail errors) is stored in the run's key-value store under SUMMARY.
What can you do with Chilean job-listings data?
- Labor-market analysis: hiring volume by region, area and schedule type; salary levels from the postings that publish them; demand for specific degrees (
careers) — mining regions like Antofagasta alone carry 1,400+ open postings. - Recruiting intelligence: which companies are hiring, for what, and how many vacancies —
featuredflags who is paying to promote roles. - Job-board aggregation: feed a niche board (remote-only, one region, one industry) on a schedule;
idis stable, so dedup across runs is trivial. - Sales signals: a company opening dozens of roles is a growth signal — filter by company and diff daily.
- Academic and policy research: education requirements, experience thresholds and inclusive-employment flags across the whole Chilean market, in one flat table.
Integrations
Every Apify dataset exports to CSV, Excel, JSON, XML or HTML with one click, or syncs to Google Sheets. Run the Actor through the Apify API or the JavaScript and Python clients, trigger follow-ups with webhooks, or schedule a daily run in Apify Console. It plugs into n8n, Make and Zapier, and into LangChain and LlamaIndex through their Apify integrations. AI agents in Claude, ChatGPT, Cursor and other MCP clients can find and run it through Apify's MCP server.
# Pythonfrom apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("fabrikit/trabajando-cl-jobs-scraper").call(run_input={"keyword": "ingeniero","location": "Antofagasta","sort": "newest","maxItems": 200,})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["title"], "—", job["company"], "—", job["comuna"])
// Node.jsimport { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('fabrikit/trabajando-cl-jobs-scraper').call({keyword: 'vendedor',location: 'Providencia',maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, 'jobs');
Performance & limits
- Runs use plain HTTP JSON requests — no browser — so a 50-job run with full details finishes in well under a minute, and card-only runs (
fetchDetails: false) fetch 50 jobs per request. - The board holds ~12,000 open postings; pagination is verified deep into the list, so a single run can cover all of it.
- With
fetchDetailson, detail endpoints are fetched 5 at a time; a failed detail fetch never drops the job — you keep the search-card data and the error is noted inSUMMARY. - Items are deduplicated by
idwithin a run.
Tips for best results
- Monitoring pipelines: use
sort: "newest"with a modestmaxItemsand a daily schedule — you only pay for what you fetch. - Full-market snapshots: leave keyword/location empty, set
maxItemshigh, and turnfetchDetailsoff first to map the market cheaply; re-run with details on a filtered subset. - Salary studies: salary is only present when the employer publishes it (roughly 1 in 10 postings) — filter
salary != nulldownstream rather than assuming coverage. - Area filter is an exact match on the site's own names; if a run returns 0 jobs, copy the area name from any posting on trabajando.cl. Keyword search is usually the more forgiving tool.
- The
regionfacet counts reported by the site are available in one card-only run — useful to size a market before a deep scrape.
Pricing — how much does it cost to scrape Trabajando.cl?
This Actor uses Apify's pay-per-event model and charges per job delivered (event job-result) plus a small run-start fee. Platform usage is included: no subscription, no rental fee. From 30 October 2026, 1,000 jobs cost US$2 on the Apify Free plan; paid Apify plans pay less per job — see the Pricing tab for your plan's rate. Details (fetchDetails) do not cost extra. You only pay for jobs actually pushed to your dataset.
FAQ
Is there a Trabajando.cl API? Not a public documented one. The site's own search runs through JSON endpoints that power its web frontend; this Actor reads those endpoints directly over plain HTTP — no browser, no HTML parsing — and normalizes the result into one schema. That makes it fast and resilient to visual redesigns.
Which locations work?
Any Chilean region or comuna as the site names it: Metropolitana de Santiago, Antofagasta, Valparaíso, Providencia, Las Condes, Concepción... The field is free text matched by the site itself, so region names and comuna names both work. Empty = all of Chile.
Does it include salaries?
When the employer publishes one — most Chilean postings hide it (salary: null), but the ones that show it report a clean number in CLP. The site's own salary facets show roughly 10,000+ of 12,000 postings carry an internal salary band, but only the published ones are exposed per posting.
What does confidential mean?
Chilean employers often post anonymously as "Empresa Confidencial". The flag makes those machine-detectable so you can exclude (or target) them.
Can I tell remote jobs apart?
Yes — filter with jornada: "remote" (Teletrabajo) or "hybrid" (Mixta) at input time, or by the jornada output field.
Are dates really ISO?
Yes: publishedAt is YYYY-MM-DDTHH:MM:SS in America/Santiago local time (the site's own clock), expiresAt is YYYY-MM-DD, and scrapedAt is full UTC ISO 8601.
Is it legal to scrape job postings? See Is it legal to scrape Trabajando.cl? below.
How many jobs can one run return? As many as match your filters — the whole board (~12,000) fits in one run. Pagination at 50 jobs per page is verified; there is no hard site cap like on some marketplaces.
Support
Found a bug or need a field the site publishes but the Actor doesn't return yet? Open an issue in the Issues tab — we aim to answer issues within 24 hours, and field additions are cheap because the Actor reads structured JSON, not HTML.
Is it legal to scrape Trabajando.cl?
The Actor only reads postings that Trabajando.cl publishes publicly, without logging in and at a polite request rate. Job ads are meant to be seen by as many people as possible, but descriptions and requirements can occasionally include a contact name, e-mail or phone, which is personal data under Chile's Ley 19.628 and the new Ley 21.719, the EU GDPR or the California CCPA; you are responsible for a lawful purpose and for dropping what you do not need. Respect Trabajando.cl's terms of service and link back to the original posting when you republish jobs. This is general information, not legal advice.
Use with AI agents
Use this actor to get current job postings in Chile from Trabajando.cl, filtered by keyword, region or comuna, area and schedule type (full time, remote, internship…), with salary when published.
{ "keyword": "ingeniero", "location": "Antofagasta", "sort": "newest", "maxItems": 30 }
Main output fields: title, company, confidential, comuna, region, jornada, salary, salaryCurrency, experienceYears, educationLevel, publishedAt, expiresAt, url, and with details description and requirements. It is pay-per-event: an agent pays a small start fee plus a fixed price per job saved, not for compute time.
Related actors
- GetOnBrd Jobs Scraper — tech jobs in Chile and Latin America with USD salary ranges.
- ATS Jobs Scraper — Greenhouse, Lever, Ashby & SmartRecruiters — job postings from any company on the four biggest ATS platforms, with ATS auto-detection and a built-in remote filter.
- Chile Company RUT Lookup — SII company data for the employers you find.
- Portal Inmobiliario Scraper — Chile Real Estate — Chilean property listings with prices in CLP/UF, surfaces, GPS coordinates and seller type.
- Google Maps Scraper — companies and branches in a comuna with phone and website.
Ready-made examples
Technical details
- Data source: Trabajando.cl's own JSON search endpoint (50 results per page, with region/schedule/salary facets) and per-posting JSON detail endpoint. No browser, no CSS-selector parsing — a visual redesign doesn't break anything.
- HTML fields (
description,requirements) are converted to clean plain text;<li>requirement lists become structured string arrays. - Coordinates equal to the site's
0.0,0.0placeholder are returned asnullinstead of a fake point. - Proxies are optional (
proxyConfiguration); plain requests work, but enable RESIDENTIAL if your runs hit 403s.
Changelog
- 2026-10-16 — README: legal notes, AI-agent usage, related actors, example tasks and more integrations added; pricing text updated.
- 2026-10-15 — Tiered pricing announced, effective 2026-10-30 (lower per-job price on paid Apify plans).
- 2026-08-21 — Build 0.1.1: initial release (keyword, location, area and schedule filters; detail endpoint with description and requirements); published on the Apify Store.
En español: primera versión publicada en agosto de 2026; desde el 16-10-2026 el README incluye notas legales, integraciones y ejemplos listos.
En español
Este Actor extrae ofertas de empleo de Trabajando.cl con filtros por palabra clave, región o comuna, área y jornada. Cada oferta incluye cargo, empresa (o marca confidential si es confidencial), comuna y región con coordenadas, jornada, sueldo cuando el empleador lo publica, años de experiencia, nivel de estudios, carreras objetivo, vacantes, fechas ISO de publicación y expiración, descripción completa y requisitos como lista estructurada. Exporta a CSV, Excel, JSON o Google Sheets con un clic, o prográmalo diario para monitorear ofertas nuevas. Pago por resultado, sin suscripción; el precio vigente para tu plan está en la pestaña Pricing. ¿Dudas o campos que faltan? Escríbenos en la pestaña Issues — intentamos responder en menos de 24 horas, en español o inglés.