Trabajando.cl Jobs Scraper — Chile Job Listings avatar

Trabajando.cl Jobs Scraper — Chile Job Listings

Pricing

from $0.50 / 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. US$0.50 per 1,000 jobs.

Pricing

from $0.50 / 1,000 job results

Rating

0.0

(0)

Developer

Fabrikit

Fabrikit

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

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.
  • jornadaany, 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).
  • sortrelevance (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, and the Actor plugs into Zapier, Make, webhooks, MCP and the Apify API:

# 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 — US$0.50 per 1,000 jobs

This Actor uses Apify's pay-per-event model and charges per job delivered (event job-result, US$0.0005 per job = US$0.50 per 1,000 jobs) plus a small run-start fee, on top of standard Apify platform usage. No subscription, no rental fee. 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? The Actor only reads postings that Trabajando.cl publishes publicly, at a polite request rate, and collects no personal data — only job ads meant to be seen by as many people as possible. How you use the data is up to your own compliance requirements.

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 — issues are typically answered within 24 hours, and field additions are cheap because the Actor reads structured JSON, not HTML.

More scrapers by Fabrikit

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.

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. Precio: US$0,50 por cada 1.000 empleos (pago por resultado, sin suscripción). ¿Dudas o campos que faltan? Escríbenos en la pestaña Issues — respondemos en menos de 24 horas, en español o inglés.