Trabajando.cl Jobs Scraper — Chile Job Listings avatar

Trabajando.cl Jobs Scraper — Chile Job Listings

Pricing

from $1.40 / 1,000 job results

Go to Apify Store
Trabajando.cl Jobs Scraper — Chile Job Listings

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

Fabrikit

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

2

Monthly active users

22 days ago

Last modified

Security

Limited permissions

Share

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 confidential flag 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

  1. Type a keyword (vendedor, ingeniero civil, react) — or leave it empty to list all open jobs.
  2. 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...).
  3. 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

FieldTypeDescription
idstringTrabajando.cl posting ID, stable across runs — use it for diffing
urlstringDirect link to the posting
titlestringJob title
companystringEmployer name, or Empresa Confidencial when hidden
confidentialbooleantrue when the employer hides its name
companyLogostring | nullCompany logo URL
areastring | nullJob area / category (detail pages)
positionTypestring | nullPosition level, e.g. Técnico, Profesional, Operario
locationstring | nullRaw comuna, region string as published
comuna / regionstring | nullParsed location — Chile's key segmentation units
latitude / longitudenumber | nullMap pin of the posting (null when the site has no real pin)
jornadastring | nullWork schedule, e.g. Jornada Completa, Teletrabajo, Part Time
contractTypestring | nullContract duration when stated (often not published)
salarynumber | nullSalary — only when the employer chose to publish it
salaryCurrencystring | nullCLP for published salaries
experienceYearsnumber | nullYears of experience required
educationLevelstring | nullMinimum education, e.g. Media, Técnico profesional superior
careersstring[] | nullTarget degrees/careers when the employer lists them
vacanciesnumber | nullNumber of openings in this posting
publishedAtstring | nullISO publication date-time (America/Santiago local time)
publishedAgostring | nullSite's relative label, e.g. Publicada hoy
expiresAtstring | nullISO expiry date of the posting
featuredbooleantrue for paid/featured postings
inclusivebooleantrue for postings flagged as inclusive employment
applyUrlstring | nullExternal ATS application link when the employer uses one
descriptionSnippetstring | nullShort description from the search card
descriptionstring | nullFull plain-text description (detail pages)
requirementsstring[] | nullMinimum requirements as a structured list (detail pages)
scrapedAtstringISO 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 — featured flags who is paying to promote roles.
  • Job-board aggregation: feed a niche board (remote-only, one region, one industry) on a schedule; id is 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.

# Python
from apify_client import ApifyClient
client = 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.js
import { 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 fetchDetails on, 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 in SUMMARY.
  • Items are deduplicated by id within a run.

Tips for best results

  • Monitoring pipelines: use sort: "newest" with a modest maxItems and a daily schedule — you only pay for what you fetch.
  • Full-market snapshots: leave keyword/location empty, set maxItems high, and turn fetchDetails off 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 != null downstream 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 region facet 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.

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.

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.0 placeholder are returned as null instead 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.