# Get on Board Scraper - LatAm Tech Jobs & Salary Data API (`scrapers_lat/getonbrd-scraper`) Actor

Scrape Get on Board (getonbrd) tech jobs across Latin America: title, company, USD salary, seniority, remote modality, skills, perks, applicants and full description. Filter by keyword, category, country, remote or salary. Optional AI translate and skills. Export JSON, CSV or Excel.

- **URL**: https://apify.com/scrapers_lat/getonbrd-scraper.md
- **Developed by:** [Scrapers Lat](https://apify.com/scrapers_lat) (community)
- **Categories:** Jobs, Business, Automation
- **Stats:** 11 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $6.15 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

[![Get on Board Scraper - LatAm Tech Jobs & Salary Data API](https://scrapers.lat/banners/getonbrd-scraper.png)](https://console.apify.com/actors/6fhdarOrragsZau94/input)

## Get on Board Scraper - LatAm Tech Jobs & Salary Data API

Extract tech and digital job listings with **USD salary data** from **Get on Board** (getonbrd.com / getonbrd.cl), the leading Latin American tech job board. Search by keyword or category, filter by country, remote status, seniority, employment type and salary, and get one clean, structured record per job, ready for JSON, CSV or Excel. No API key and no Get on Board account required.

**📥 [Input](https://apify.com/scrapers_lat/getonbrd-scraper/input-schema) · 📤 [Output](https://apify.com/scrapers_lat/getonbrd-scraper/output-schema) · 💰 [Pricing](https://apify.com/scrapers_lat/getonbrd-scraper/pricing) · ▶️ [Examples](https://apify.com/scrapers_lat/getonbrd-scraper/examples)**

![Apify](https://img.shields.io/badge/Platform-Apify-1CE1CE?logo=apify\&logoColor=white)
![Coverage](https://img.shields.io/badge/Coverage-LatAm%20tech%20jobs-blue)
![Output](https://img.shields.io/badge/Output-JSON%20%7C%20CSV%20%7C%20Excel-orange)
![Billing](https://img.shields.io/badge/Billing-Pay%20per%20result-brightgreen)

This is the only dedicated Get on Board scraper on Apify, and it returns every field the Get on Board job listing and company profile expose, plus optional AI add-ons (English translation, structured skills, and a short summary).

### Table of contents

- [What it does](#what-it-does)
- [Who it is for](#who-it-is-for)
- [Quickstart](#quickstart)
- [Input reference](#input-reference)
- [Output reference](#output-reference)
- [How it compares](#how-it-compares)
- [Example output record](#example-output-record)
- [Run via API and CLI](#run-via-api-and-cli)
- [Fetch results](#fetch-results)
- [Billing and limits](#billing-and-limits)
- [FAQ and troubleshooting](#faq-and-troubleshooting)

### What it does

The actor searches Get on Board by keyword or category, paginates through the matching listings, and writes one normalized record per job to the run's dataset. Each record carries the full role text (requirements, responsibilities, benefits and desirable skills) in clean text and raw HTML, the USD salary range when published, seniority, employment type, a normalized remote type (remote, hybrid or onsite), applications count and the employer response time. When Fetch Company Details is on, it loads each company profile to add the company name, logo, website, home country, description, benefits and social links. Optional paid AI add-ons translate the posting to English and extract a structured skills list, years of experience and English requirement.

Data covers tech and digital jobs across Latin America (Chile, Mexico, Argentina, Peru, Colombia and more), including many fully remote roles open worldwide. Salary is present only when the employer publishes it (roughly half of listings); missing source values are returned as `null`.

### Who it is for

- **Recruiters and sourcers** building a live feed of LatAm tech roles and hiring companies.
- **Job boards and aggregators** that want normalized tech listings with salary and remote data.
- **Market and salary researchers** tracking pay ranges, demand by stack and remote adoption in Latin America.
- **Sales and lead teams** targeting companies that are actively hiring engineers.

### Quickstart

Open the actor, paste this into the input, and press Run. It returns 2 jobs matching "desarrollador" with company details and all AI add-ons.

```json
{
  "searchTerm": "desarrollador",
  "maxJobs": 2,
  "withDetails": true,
  "withAiSummary": true,
  "withAiSkills": true,
  "withAiTranslate": true,
  "remoteOnly": false
}
```

Leave `searchTerm` empty to match all jobs, or set `category` to pull an entire Get on Board category. Every input field is optional.

### Input reference

| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| `maxJobs` | integer | no | `10` | Maximum number of jobs to collect. The actor paginates the full result set for your search or category. Aliases: `maxItems`, `maxResults`. |
| `searchTerm` | string | no | `developer` | Free-text query matched against title, skill or keyword (for example `python`, `react`, `designer`). Leave empty to match all jobs. Ignored when `category` is set. Aliases: `search`, `query`, `keyword`. |
| `category` | enum | no | (none) | Restrict results to one Get on Board category (for example `programming`, `data-science-analytics`, `machine-learning-ai`, `design-ux`). When set, `searchTerm` is ignored. |
| `country` | string | no | (empty) | Keep only jobs whose `countries` field includes this country, case-insensitive (for example `Chile`, `Mexico`, `Argentina`). |
| `company` | string | no | (empty) | Keep only jobs whose company name includes this text. Enabling it fetches company profiles automatically. |
| `remoteOnly` | boolean | no | `false` | Only return jobs that are fully or partially remote. Alias: `remote`. |
| `modality` | enum | no | (any) | Keep only jobs with this employment type: `full time`, `part time`, `freelance` or `internship`. |
| `seniority` | enum | no | (any) | Keep only jobs at this seniority: `no experience`, `junior`, `semi senior`, `senior` or `expert`. |
| `withSalaryOnly` | boolean | no | `false` | Only return jobs that publish a salary range. |
| `minSalary` | integer | no | (none) | Only return jobs whose top monthly USD salary is at least this amount. |
| `withDetails` | boolean | no | `true` | Fetch each job's company profile to add company name, logo, website, country, description, benefits and social links. |
| `withAiSummary` | boolean | no | `false` | Paid add-on. Adds a short AI summary of each posting. Charged per job only when a summary is produced. Requires a paid Apify plan. |
| `withAiSkills` | boolean | no | `false` | Paid add-on. Extracts a structured skills list, years of experience and English requirement. Charged per job only when skills are produced. |
| `withAiTranslate` | boolean | no | `false` | Paid add-on. Translates each job title and description to English. Charged per job only when a translation is produced. |
| `proxyConfiguration` | object | no | (none) | Optional Apify proxy configuration. The public Get on Board API is reachable directly. |

Filters combine with logical AND. AI add-ons are disabled for free (non-paying) Apify users.

### Output reference

One dataset item per job. Types: `string`, `integer`, `boolean`, `string[]`, `integer[]`, or `null` when the source value is absent.

| Field | Type | Description |
|---|---|---|
| `imageUrl` | string | Company logo URL (with `withDetails`). |
| `title` | string | Job title as published. |
| `url` | string | Canonical Get on Board job URL. |
| `applyUrl` | string | URL to view and apply for the job. |
| `id` | string | Get on Board job slug (unique per posting). |
| `company` | string | Company name (populated when `withDetails` is on). |
| `companyId` | integer | Numeric Get on Board company ID. |
| `category` | string | Get on Board category, for example `Programming`. |
| `seniority` | string | Seniority level, for example `Semi Senior`, `Senior`. |
| `employmentType` | string | Employment type, for example `Full time`, `Freelance`. |
| `remote` | boolean | `true` when the role is fully remote. |
| `isRemote` | boolean | Convenience boolean, `true` when fully remote. |
| `remoteType` | string | Normalized work type: `remote`, `hybrid` or `onsite`. |
| `remoteModality` | string | Source remote modality code, for example `fully_remote`, `hybrid`. |
| `countries` | string\[] | Locations the role is open to, or `["Remote"]`. |
| `minSalary` | integer | Minimum monthly salary, or `null` when not published. |
| `maxSalary` | integer | Maximum monthly salary, or `null` when not published. |
| `salaryCurrency` | string | Salary currency (usually `USD`), or `null`. |
| `salaryPeriod` | string | Salary period (`month`) when a salary is published, else `null`. |
| `perks` | string\[] | Perk codes published with the role, or `null`. |
| `tagIds` | integer\[] | Get on Board skill and technology tag IDs for the role, or `null`. |
| `locationCityIds` | integer\[] | Get on Board city IDs the role is tied to, or `null`. |
| `locationRegionIds` | integer\[] | Get on Board region IDs, or `null`. |
| `locationTenantIds` | integer\[] | Get on Board geographic zone IDs, or `null`. |
| `lang` | string | Posting language code when provided, else `null`. |
| `applicationsCount` | integer | Number of applications received so far. |
| `publishedAt` | string | ISO 8601 timestamp the job was published. |
| `description` | string | Requirements section, clean text. |
| `descriptionHtml` | string | Requirements section, raw HTML. |
| `descriptionHeadline` | string | Heading used for the requirements section. |
| `functions` | string | Responsibilities section, clean text. |
| `functionsHtml` | string | Responsibilities section, raw HTML. |
| `functionsHeadline` | string | Heading used for the responsibilities section. |
| `benefits` | string | Benefits section, clean text. |
| `benefitsHtml` | string | Benefits section, raw HTML. |
| `benefitsHeadline` | string | Heading used for the benefits section. |
| `desirable` | string | Desirable skills section, clean text. |
| `desirableHtml` | string | Desirable skills section, raw HTML. |
| `desirableHeadline` | string | Heading used for the desirable section. |
| `aboutProject` | string | Company and product context, clean text. |
| `aboutProjectHtml` | string | Company and product context, raw HTML. |
| `remoteZone` | string | Allowed remote time zone when specified, else `null`. |
| `responseTimeMinDays` | integer | Job's typical minimum employer response time in days, or `null`. |
| `responseTimeMaxDays` | integer | Job's typical maximum employer response time in days, or `null`. |
| `companyWebsite` | string | Company website (with `withDetails`). |
| `companyCountry` | string | Company home country code (with `withDetails`). |
| `companyDescription` | string | Short company description (with `withDetails`). |
| `companyBenefits` | string | Company-level benefits text (with `withDetails`). |
| `companySocial` | object | Company social handles (twitter, github, facebook, angellist) when present, else `null`. |
| `companyResponseTimeMinDays` | integer | Company's typical minimum response time in days (with `withDetails`). |
| `companyResponseTimeMaxDays` | integer | Company's typical maximum response time in days (with `withDetails`). |
| `observedAt` | string | ISO 8601 timestamp of when the record was collected. |
| `error` | string | `null` on success. On a failed run, a single item with a populated `error` field is written instead. |
| `aiJdSummary` | string | AI add-on. Short summary of the posting (only when `withAiSummary`). |
| `aiSkills` | string\[] | AI add-on. Structured skills list (only when `withAiSkills`). |
| `aiYearsExperience` | string | AI add-on. Years of experience required, or `null`. |
| `aiEnglishRequired` | boolean | AI add-on. Whether English is required. |
| `aiTitleEn` | string | AI add-on. Job title translated to English. |
| `aiDescriptionEn` | string | AI add-on. Job description translated to English. |

### How it compares

Get on Board exposes tech-specific fields that generic Latin American job boards do not. This actor captures all of them.

| Capability | This actor | Generic LatAm job scrapers |
|---|---|---|
| Dedicated Get on Board coverage | Yes | Partial or none |
| USD monthly salary range | Yes, when published | Rare |
| Normalized remote type (remote / hybrid / onsite) | Yes | Sometimes |
| Full role sections (requirements, responsibilities, benefits, desirable) | Text and raw HTML | Often single blob |
| Applications count and employer response time | Yes | No |
| Company profile (logo, website, country, benefits, social) | Yes | Partial |
| Filter by seniority, employment type, salary, country, remote | Yes | Varies |
| Optional AI translate and skills extraction | Yes | No |

### Example output record

Real record from a live run (input `{"searchTerm": "developer", "maxJobs": 2, "withDetails": true}`). Long text fields trimmed for display; the actor returns them in full:

```json
{
  "imageUrl": "https://getonbrd-prod.s3.amazonaws.com/uploads/users/logo/4161/improving-splash-200px.png",
  "title": "Front-end Engineer (Angular)",
  "url": "https://www.getonbrd.com/jobs/frontend-engineer-angular-improving-south-america-remote",
  "applyUrl": "https://www.getonbrd.com/jobs/frontend-engineer-angular-improving-south-america-remote",
  "id": "frontend-engineer-angular-improving-south-america-remote",
  "company": "Improving",
  "companyId": 4161,
  "category": "Programming",
  "seniority": "Senior",
  "employmentType": "Full time",
  "remote": true,
  "isRemote": true,
  "remoteType": "remote",
  "remoteModality": "remote_local",
  "countries": ["Remote"],
  "minSalary": null,
  "maxSalary": null,
  "salaryCurrency": null,
  "salaryPeriod": null,
  "perks": ["computer_provided", "informal_dresscode"],
  "tagIds": [104, 259, 3725, 139, 743, 13],
  "applicationsCount": 374,
  "publishedAt": "2026-08-13T21:39:48.000Z",
  "description": "+6 years of software development experience. Intermediate/advanced English (required). [trimmed for display; full text returned]",
  "descriptionHtml": "<ul><li><strong>+6 anos de experiencia</strong> ... [trimmed]</li></ul>",
  "functionsHeadline": "Responsabilidades del puesto",
  "companyWebsite": "https://www.improving.com/",
  "companyCountry": "US",
  "companyBenefits": "Long-term contract. 100% remote. Vacations and PTOs. [trimmed for display; full text returned]",
  "companyResponseTimeMinDays": 13,
  "companyResponseTimeMaxDays": 27,
  "observedAt": "2026-09-06T07:37:49.592Z",
  "error": null
}
```

### Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace `<TOKEN>` with your Apify API token.

Run synchronously and get dataset items in one call:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~getonbrd-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"searchTerm":"developer","maxJobs":25,"withDetails":true,"remoteOnly":true}'
```

Start a run asynchronously:

```bash
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~getonbrd-scraper/runs?token=<TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"category":"machine-learning-ai","maxJobs":100,"country":"Chile"}'
```

Apify CLI:

```bash
apify call scrapers_lat/getonbrd-scraper \
  --input '{"searchTerm":"react","maxJobs":50,"withAiSkills":true}'
```

### Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing `format`:

```bash
## JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"

## CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"

## Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
```

`<DATASET_ID>` is returned as `defaultDatasetId` in the run object. Use `offset` and `limit` to page through large result sets. `clean=true` drops empty and internal fields.

### Billing and limits

- **Pay per result.** You are charged per job returned (`result` event). See the [pricing tab](https://apify.com/scrapers_lat/getonbrd-scraper/pricing) for the current per-result price.
- **Optional add-ons.** Company `details` and each AI add-on (`ai_jd_summary`, `ai_skills`, `ai_translate`) are billed only when they produce usable output for a job, and only after the job row has been delivered.
- **No charge on failure.** If a run errors, the actor writes a single item with a populated `error` field and does not charge for it. Empty runs cost nothing.
- **Spend cap respected.** Set `maxTotalChargeUsd` on the run; once reached, the actor stops emitting and charging further billable results and add-ons.
- **Free Apify plans** are capped at 10 jobs per run and cannot use the AI add-ons. Upgrade for higher `maxJobs` and AI features.

### FAQ and troubleshooting

**A run returned 0 records. Why?**
The search term or category matched nothing, or the `country`, `company`, `remoteOnly`, `modality`, `seniority` or salary filters excluded everything. Loosen the filters. Zero-result runs are not charged.

**Which countries and categories does Get on Board cover?**
Tech and digital jobs across Latin America, with many fully remote roles open worldwide. You can scrape any of its 18 categories, including Programming, Data Science / Analytics, Machine Learning & AI, Cybersecurity and Design / UX.

**Do the records include salary?**
Yes, when the employer publishes it. Roughly half of listings include a monthly range returned as `minSalary` and `maxSalary` in USD. Jobs without a published range leave those fields `null`.

**What does Fetch Company Details add?**
It loads each company profile to add the company name, logo, website, home country, description, benefits and social handles. Without it you still get the numeric `companyId` and all job-level fields.

**What do the AI add-ons do?**
`withAiTranslate` adds English title and description, `withAiSkills` adds a structured skills list plus years of experience and English requirement, and `withAiSummary` adds a short summary. They require a paid Apify plan and are billed only when they produce output.

**Is this an official Get on Board tool?**
No. This actor is independent and has no affiliation with Get on Board. It reads only data that is publicly available on the platform. Use it in accordance with Get on Board's terms of service.

### Example tasks

Preconfigured templates for common scenarios. Open one and press Run, or use it as a starting point:

- [DevOps, SysAdmin & QA Jobs in Latin America](https://apify.com/scrapers_lat/getonbrd-scraper/examples/devops-sysadmin-qa-jobs-latam)
- [Digital Marketing Tech Jobs in Latin America](https://apify.com/scrapers_lat/getonbrd-scraper/examples/digital-marketing-tech-jobs-latam)
- [Frontend React Developer Jobs Scraper](https://apify.com/scrapers_lat/getonbrd-scraper/examples/frontend-react-developer-jobs)
- [Machine Learning & AI Jobs Scraper](https://apify.com/scrapers_lat/getonbrd-scraper/examples/machine-learning-ai-jobs)
- [Mobile Developer Jobs in Latin America](https://apify.com/scrapers_lat/getonbrd-scraper/examples/mobile-developer-jobs-latam)
- [Product Manager Tech Jobs Scraper](https://apify.com/scrapers_lat/getonbrd-scraper/examples/product-manager-tech-jobs)
- [UX UI Design Jobs in Latin America](https://apify.com/scrapers_lat/getonbrd-scraper/examples/ux-ui-design-jobs-latam)
- [Cybersecurity Jobs in Latin America with Company Details](https://apify.com/scrapers_lat/getonbrd-scraper/examples/cybersecurity-jobs-latam)
- [Data Science and Analytics Job Salary Tracker](https://apify.com/scrapers_lat/getonbrd-scraper/examples/data-science-analytics-salary-tracker)
- [Remote Programming Jobs in Latin America with Salaries](https://apify.com/scrapers_lat/getonbrd-scraper/examples/remote-programming-jobs-latam)

### Related scrapers

- [Computrabajo Job Listings Scraper](https://apify.com/scrapers_lat/computrabajo-scraper): Job listings from Computrabajo across 19 LATAM countries.
- [Dice Tech Job Listings Scraper](https://apify.com/scrapers_lat/dice-jobs-scraper): Public Dice.com tech job postings by keyword and location.
- [LinkedIn Job Listings Scraper](https://apify.com/scrapers_lat/linkedin-jobs-scraper): Public LinkedIn job postings by keyword and location worldwide.
- [Bumeran Job Listings Scraper](https://apify.com/scrapers_lat/bumeran-jobs-scraper): Job postings across Bumeran's LATAM job boards.
- [Catho Brasil Job Listings Scraper](https://apify.com/scrapers_lat/catho-brasil-jobs-scraper): Public job listings from Catho in Brazil.
- [elempleo Job Listings Scraper](https://apify.com/scrapers_lat/elempleo-scraper): Public job postings from elempleo in Colombia.

### More scrapers at scrapers.lat

Built and maintained by [scrapers.lat](https://scrapers.lat), where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at [scrapers.lat](https://scrapers.lat).

***

## Scraper de Get on Board - Empleos Tech LatAm y Datos de Salarios (API)

Extrae ofertas de empleo tech y digital con **datos de salario en USD** desde **Get on Board** (getonbrd.com / getonbrd.cl), el principal portal de empleos tech de Latinoamerica. Busca por palabra clave o categoria, filtra por pais, modalidad remota, seniority, tipo de contrato y salario, y obten un registro limpio y estructurado por empleo, listo para JSON, CSV o Excel. Sin API key y sin cuenta de Get on Board.

**📥 [Entrada](https://apify.com/scrapers_lat/getonbrd-scraper/input-schema) · 📤 [Salida](https://apify.com/scrapers_lat/getonbrd-scraper/output-schema) · 💰 [Precios](https://apify.com/scrapers_lat/getonbrd-scraper/pricing) · ▶️ [Ejemplos](https://apify.com/scrapers_lat/getonbrd-scraper/examples)**

Este es el unico scraper dedicado a Get on Board en Apify, y devuelve todos los campos que exponen la oferta de empleo y el perfil de empresa de Get on Board, mas complementos opcionales de IA (traduccion al ingles, habilidades estructuradas y un resumen corto).

### Que hace

El actor busca en Get on Board por palabra clave o categoria, recorre las ofertas que coinciden y escribe un registro normalizado por empleo en el dataset de la ejecucion. Cada registro incluye el texto completo del puesto (requisitos, responsabilidades, beneficios y deseables) en texto limpio y en HTML original, el rango salarial en USD cuando se publica, el seniority, el tipo de contrato, un tipo de trabajo normalizado (remoto, hibrido o presencial), el numero de postulaciones y el tiempo de respuesta del empleador. Con Detalles de Empresa activado, carga cada perfil de empresa para agregar nombre, logo, sitio web, pais de origen, descripcion, beneficios y enlaces sociales. Los complementos de IA de pago traducen la oferta al ingles y extraen una lista estructurada de habilidades, anos de experiencia y requisito de ingles.

Los datos cubren empleos tech y digitales en toda Latinoamerica (Chile, Mexico, Argentina, Peru, Colombia y mas), incluyendo muchos puestos 100% remotos abiertos a todo el mundo. El salario aparece solo cuando el empleador lo publica (cerca de la mitad de las ofertas); los valores ausentes se devuelven como `null`.

### Para quien es

- **Reclutadores y sourcers** que arman un feed en vivo de roles tech en LatAm y de empresas que contratan.
- **Portales de empleo y agregadores** que quieren ofertas tech normalizadas con datos de salario y remoto.
- **Investigadores de mercado y salarios** que siguen rangos de pago, demanda por stack y adopcion del trabajo remoto en Latinoamerica.
- **Equipos de ventas y generacion de leads** que buscan empresas que estan contratando ingenieros.

### Inicio rapido

Abre el actor, pega esto en la entrada y presiona Run. Devuelve 2 empleos que coinciden con "desarrollador" con detalles de empresa y todos los complementos de IA.

```json
{
  "searchTerm": "desarrollador",
  "maxJobs": 2,
  "withDetails": true,
  "withAiSummary": true,
  "withAiSkills": true,
  "withAiTranslate": true,
  "remoteOnly": false
}
```

Deja `searchTerm` vacio para traer todos los empleos, o define `category` para extraer una categoria completa de Get on Board. Todos los campos de entrada son opcionales.

### Referencia de entrada

| Campo | Tipo | Requerido | Predeterminado | Descripcion |
|---|---|---|---|---|
| `maxJobs` | integer | no | `10` | Numero maximo de empleos a recolectar. El actor pagina todo el conjunto de resultados. Alias: `maxItems`, `maxResults`. |
| `searchTerm` | string | no | `developer` | Consulta de texto libre sobre titulo, habilidad o palabra clave (por ejemplo `python`, `react`, `designer`). Vacio para traer todos. Se ignora si `category` esta definido. Alias: `search`, `query`, `keyword`. |
| `category` | enum | no | (ninguna) | Limita a una categoria de Get on Board (por ejemplo `programming`, `data-science-analytics`, `machine-learning-ai`, `design-ux`). Con esto, `searchTerm` se ignora. |
| `country` | string | no | (vacio) | Deja solo empleos cuyo campo `countries` incluya este pais, sin distinguir mayusculas (por ejemplo `Chile`, `Mexico`, `Argentina`). |
| `company` | string | no | (vacio) | Deja solo empleos cuyo nombre de empresa incluya este texto. Al activarlo se cargan los perfiles de empresa automaticamente. |
| `remoteOnly` | boolean | no | `false` | Solo devuelve empleos total o parcialmente remotos. Alias: `remote`. |
| `modality` | enum | no | (cualquiera) | Deja solo empleos con este tipo de contrato: `full time`, `part time`, `freelance` o `internship`. |
| `seniority` | enum | no | (cualquiera) | Deja solo empleos de este seniority: `no experience`, `junior`, `semi senior`, `senior` o `expert`. |
| `withSalaryOnly` | boolean | no | `false` | Solo devuelve empleos que publican rango salarial. |
| `minSalary` | integer | no | (ninguno) | Solo devuelve empleos cuyo salario mensual maximo en USD sea al menos este monto. |
| `withDetails` | boolean | no | `true` | Carga el perfil de empresa para agregar nombre, logo, sitio web, pais, descripcion, beneficios y enlaces sociales. |
| `withAiSummary` | boolean | no | `false` | Complemento de pago. Agrega un resumen corto con IA de cada oferta. Se cobra por empleo solo cuando se produce un resumen. Requiere plan de pago en Apify. |
| `withAiSkills` | boolean | no | `false` | Complemento de pago. Extrae lista estructurada de habilidades, anos de experiencia y requisito de ingles. Se cobra por empleo solo cuando se producen habilidades. |
| `withAiTranslate` | boolean | no | `false` | Complemento de pago. Traduce el titulo y la descripcion al ingles. Se cobra por empleo solo cuando se produce una traduccion. |
| `proxyConfiguration` | object | no | (ninguno) | Configuracion de proxy de Apify opcional. La API publica de Get on Board es accesible directamente. |

Los filtros se combinan con Y logico. Los complementos de IA estan deshabilitados para usuarios gratuitos (sin plan de pago) de Apify.

### Referencia de salida

Un item de dataset por empleo. Tipos: `string`, `integer`, `boolean`, `string[]`, `integer[]`, o `null` cuando el valor de origen no existe.

| Campo | Tipo | Descripcion |
|---|---|---|
| `imageUrl` | string | URL del logo de la empresa (con `withDetails`). |
| `title` | string | Titulo del empleo como se publico. |
| `url` | string | URL canonica del empleo en Get on Board. |
| `applyUrl` | string | URL para ver y postular al empleo. |
| `id` | string | Slug del empleo en Get on Board (unico por oferta). |
| `company` | string | Nombre de la empresa (con `withDetails`). |
| `companyId` | integer | ID numerico de la empresa en Get on Board. |
| `category` | string | Categoria de Get on Board, por ejemplo `Programming`. |
| `seniority` | string | Nivel de seniority, por ejemplo `Semi Senior`, `Senior`. |
| `employmentType` | string | Tipo de contrato, por ejemplo `Full time`, `Freelance`. |
| `remote` | boolean | `true` cuando el rol es totalmente remoto. |
| `isRemote` | boolean | Booleano de conveniencia, `true` si es totalmente remoto. |
| `remoteType` | string | Tipo de trabajo normalizado: `remote`, `hybrid` o `onsite`. |
| `remoteModality` | string | Codigo de modalidad remota de origen, por ejemplo `fully_remote`, `hybrid`. |
| `countries` | string\[] | Ubicaciones abiertas para el rol, o `["Remote"]`. |
| `minSalary` | integer | Salario mensual minimo, o `null` si no se publica. |
| `maxSalary` | integer | Salario mensual maximo, o `null` si no se publica. |
| `salaryCurrency` | string | Moneda del salario (normalmente `USD`), o `null`. |
| `salaryPeriod` | string | Periodo del salario (`month`) cuando hay salario, si no `null`. |
| `perks` | string\[] | Codigos de beneficios publicados con el rol, o `null`. |
| `tagIds` | integer\[] | IDs de tags de habilidades y tecnologias del rol, o `null`. |
| `locationCityIds` | integer\[] | IDs de ciudad de Get on Board asociados al rol, o `null`. |
| `locationRegionIds` | integer\[] | IDs de region de Get on Board, o `null`. |
| `locationTenantIds` | integer\[] | IDs de zona geografica de Get on Board, o `null`. |
| `lang` | string | Codigo de idioma de la oferta cuando existe, si no `null`. |
| `applicationsCount` | integer | Numero de postulaciones recibidas hasta ahora. |
| `publishedAt` | string | Marca de tiempo ISO 8601 de publicacion del empleo. |
| `description` | string | Seccion de requisitos, texto limpio. |
| `descriptionHtml` | string | Seccion de requisitos, HTML original. |
| `descriptionHeadline` | string | Encabezado de la seccion de requisitos. |
| `functions` | string | Seccion de responsabilidades, texto limpio. |
| `functionsHtml` | string | Seccion de responsabilidades, HTML original. |
| `functionsHeadline` | string | Encabezado de la seccion de responsabilidades. |
| `benefits` | string | Seccion de beneficios, texto limpio. |
| `benefitsHtml` | string | Seccion de beneficios, HTML original. |
| `benefitsHeadline` | string | Encabezado de la seccion de beneficios. |
| `desirable` | string | Seccion de deseables, texto limpio. |
| `desirableHtml` | string | Seccion de deseables, HTML original. |
| `desirableHeadline` | string | Encabezado de la seccion de deseables. |
| `aboutProject` | string | Contexto de empresa y producto, texto limpio. |
| `aboutProjectHtml` | string | Contexto de empresa y producto, HTML original. |
| `remoteZone` | string | Zona horaria remota permitida cuando se especifica, si no `null`. |
| `responseTimeMinDays` | integer | Tiempo minimo tipico de respuesta del empleador en dias, o `null`. |
| `responseTimeMaxDays` | integer | Tiempo maximo tipico de respuesta del empleador en dias, o `null`. |
| `companyWebsite` | string | Sitio web de la empresa (con `withDetails`). |
| `companyCountry` | string | Codigo de pais de origen de la empresa (con `withDetails`). |
| `companyDescription` | string | Descripcion corta de la empresa (con `withDetails`). |
| `companyBenefits` | string | Texto de beneficios a nivel empresa (con `withDetails`). |
| `companySocial` | object | Redes sociales de la empresa (twitter, github, facebook, angellist) si existen, si no `null`. |
| `companyResponseTimeMinDays` | integer | Tiempo minimo tipico de respuesta de la empresa en dias (con `withDetails`). |
| `companyResponseTimeMaxDays` | integer | Tiempo maximo tipico de respuesta de la empresa en dias (con `withDetails`). |
| `observedAt` | string | Marca de tiempo ISO 8601 de cuando se recolecto el registro. |
| `error` | string | `null` en exito. Si la ejecucion falla, se escribe un unico item con el campo `error` poblado. |
| `aiJdSummary` | string | Complemento IA. Resumen corto de la oferta (solo con `withAiSummary`). |
| `aiSkills` | string\[] | Complemento IA. Lista estructurada de habilidades (solo con `withAiSkills`). |
| `aiYearsExperience` | string | Complemento IA. Anos de experiencia requeridos, o `null`. |
| `aiEnglishRequired` | boolean | Complemento IA. Si se requiere ingles. |
| `aiTitleEn` | string | Complemento IA. Titulo del empleo traducido al ingles. |
| `aiDescriptionEn` | string | Complemento IA. Descripcion del empleo traducida al ingles. |

### Como se compara

Get on Board expone campos especificos de tech que los portales de empleo generalistas de Latinoamerica no tienen. Este actor los captura todos.

| Capacidad | Este actor | Scrapers de empleo generalistas de LatAm |
|---|---|---|
| Cobertura dedicada de Get on Board | Si | Parcial o nula |
| Rango salarial mensual en USD | Si, cuando se publica | Raro |
| Tipo de trabajo normalizado (remoto / hibrido / presencial) | Si | A veces |
| Secciones completas del rol (requisitos, responsabilidades, beneficios, deseables) | Texto y HTML original | Suele ser un unico bloque |
| Numero de postulaciones y tiempo de respuesta del empleador | Si | No |
| Perfil de empresa (logo, sitio web, pais, beneficios, redes) | Si | Parcial |
| Filtro por seniority, tipo de contrato, salario, pais, remoto | Si | Varia |
| Traduccion y extraccion de habilidades con IA opcional | Si | No |

### Facturacion y limites

- **Pago por resultado.** Se cobra por empleo devuelto (evento `result`). Consulta la [pestana de precios](https://apify.com/scrapers_lat/getonbrd-scraper/pricing) para el precio por resultado actual.
- **Complementos opcionales.** Los `details` de empresa y cada complemento de IA (`ai_jd_summary`, `ai_skills`, `ai_translate`) se cobran solo cuando producen resultado util para un empleo, y solo despues de que la fila del empleo fue entregada.
- **Sin cargo en fallos.** Si una ejecucion falla, el actor escribe un unico item con el campo `error` y no lo cobra. Las ejecuciones vacias no cuestan nada.
- **Limite de gasto respetado.** Define `maxTotalChargeUsd` en la ejecucion; al alcanzarlo, el actor deja de emitir y cobrar mas resultados y complementos.
- **Planes gratuitos de Apify** estan limitados a 10 empleos por ejecucion y no pueden usar los complementos de IA. Sube de plan para mas `maxJobs` y funciones de IA.

### Preguntas frecuentes

**Una ejecucion devolvio 0 registros. Por que?**
El termino de busqueda o la categoria no coincidieron con nada, o los filtros `country`, `company`, `remoteOnly`, `modality`, `seniority` o de salario excluyeron todo. Afloja los filtros. Las ejecuciones sin resultados no se cobran.

**Que paises y categorias cubre Get on Board?**
Empleos tech y digitales en toda Latinoamerica, con muchos roles 100% remotos abiertos a todo el mundo. Puedes extraer cualquiera de sus 18 categorias, incluyendo Programming, Data Science / Analytics, Machine Learning & AI, Cybersecurity y Design / UX.

**Los registros incluyen salario?**
Si, cuando el empleador lo publica. Cerca de la mitad de las ofertas incluyen un rango mensual devuelto como `minSalary` y `maxSalary` en USD. Los empleos sin rango publicado dejan esos campos en `null`.

**Que agrega Detalles de Empresa?**
Carga cada perfil de empresa para agregar nombre, logo, sitio web, pais de origen, descripcion, beneficios y redes sociales. Sin esto igual obtienes el `companyId` numerico y todos los campos a nivel empleo.

**Que hacen los complementos de IA?**
`withAiTranslate` agrega titulo y descripcion en ingles, `withAiSkills` agrega una lista estructurada de habilidades mas anos de experiencia y requisito de ingles, y `withAiSummary` agrega un resumen corto. Requieren plan de pago en Apify y se cobran solo cuando producen resultado.

**Es una herramienta oficial de Get on Board?**
No. Este actor es independiente y no tiene afiliacion con Get on Board. Lee solo datos disponibles publicamente en la plataforma. Usalo de acuerdo con los terminos de servicio de Get on Board.

> Herramienta independiente, sin afiliacion con Get on Board. Accede solo a datos disponibles publicamente. Usalo de acuerdo con los terminos de servicio de Get on Board.

# Actor input Schema

## `maxJobs` (type: `integer`):

Maximum number of jobs to collect. Optional.

## `withDetails` (type: `boolean`):

When enabled, fetch each job's company profile to add the company name, logo, website, country and description. Adds one request per unique company.

## `searchTerm` (type: `string`):

Free-text query to search jobs by title, skill or keyword (e.g. "python", "react", "designer"). Leave empty to match all jobs. Ignored when a Category is selected.

## `category` (type: `string`):

Restrict results to one GetOnBrd category. When set, the Search Term is ignored and all jobs in the category are returned.

## `remoteOnly` (type: `boolean`):

Only return jobs that are fully or partially remote.

## `country` (type: `string`):

Only return jobs whose location includes this country (case-insensitive match on the job's countries field, e.g. "Chile", "Mexico", "Argentina"). Leave empty for all countries.

## `company` (type: `string`):

Only return jobs whose company name includes this text (case-insensitive). Enabling this automatically fetches company profiles.

## `modality` (type: `string`):

Keep only jobs with this employment type / contract modality.

## `seniority` (type: `string`):

Keep only jobs at this seniority level.

## `withSalaryOnly` (type: `boolean`):

Only return jobs that publish a salary range.

## `minSalary` (type: `integer`):

Only return jobs whose top monthly USD salary is at least this amount. Jobs without a published salary are excluded.

## `withAiSummary` (type: `boolean`):

Opt-in. Adds a 2-3 sentence AI summary of each job posting. Charged per job only when a summary is produced. Requires a paid Apify plan.

## `withAiSkills` (type: `boolean`):

Opt-in. Extracts a structured skills/technology list, years of experience and English requirement from each posting. Charged per job only when skills are produced. Requires a paid Apify plan.

## `withAiTranslate` (type: `boolean`):

Opt-in. Translates each job title and description to English (many GetOnBrd postings are in Spanish). Charged per job only when a translation is produced. Requires a paid Apify plan.

## `proxyConfiguration` (type: `object`):

Optional proxy configuration. Defaults to no proxy; the public GetOnBrd API is reachable directly.

## Actor input object example

```json
{
  "maxJobs": 10,
  "withDetails": true,
  "searchTerm": "developer",
  "remoteOnly": false,
  "withSalaryOnly": false,
  "withAiSummary": false,
  "withAiSkills": false,
  "withAiTranslate": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "maxJobs": 10,
    "searchTerm": "developer"
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers_lat/getonbrd-scraper").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 = {
    "maxJobs": 10,
    "searchTerm": "developer",
}

# Run the Actor and wait for it to finish
run = client.actor("scrapers_lat/getonbrd-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxJobs": 10,
  "searchTerm": "developer"
}' |
apify call scrapers_lat/getonbrd-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapers_lat/getonbrd-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/6fhdarOrragsZau94/builds/wOVZkeloSIu2zUvIO/openapi.json
