Get on Board LATAM jobs API with salary & only-new feeds
Get on Board Jobs Scraper is a pay-per-record Apify Actor by Daemon Data that returns LATAM tech jobs with monthly USD salary, full descriptions, country eligibility and persistent only-new feeds as JSON, CSV or Excel. It costs $0.0008 per job with full description with the default options ($0.80 per 1,000); no login to the source site and no proxy or browser to set up on your side, and the same input runs from the Apify console, one REST call, Python, Node.js, n8n or an AI assistant through MCP.
Daemon Data Get on Board Jobs Scraper on Apify Listing as plain text
Who uses it, for what
| You are | What you get |
|---|---|
| LATAM recruiters and staffing teams | Hiring companies and open roles filtered by country eligibility, remote modality, seniority and disclosed salary. |
| Job aggregators and career platforms | Structured job descriptions, skills, locations and stable source IDs for importing into your application. |
| Salary and labour-market analysts | Disclosed monthly USD salary bands alongside role, seniority and country. Missing salaries stay null. |
| Job-alert and workflow builders | A persistent only-new feed that skips previously delivered IDs without another job charge. |
| AI agents | A bounded jobs API through Apify MCP, with country eligibility preserved instead of assuming every remote role is worldwide. |
Output fields
The most useful top-level fields with values from a real record; the full list is id, url, title, category, categoryId, seniority, seniorityCode, employmentType, modality, remoteZone, description, descriptionHtml, publishedAt, source, scrapedAt, company, salary, tags, countries, cities, remote, applicationCount. Per-field notes and the OpenAPI definition are on the Apify API page.
| Field | Type | Example |
|---|---|---|
id | string | "example-developer-acme-santiago" |
url | string | "https://www.getonbrd.com/jobs/example-developer-acme-santiago" |
title | string | "Software Developer" |
company | object | {"id": "acme", "name": "Acme", "url": "https://www.getonbrd.com/com... |
category | string | "Programming" |
categoryId | string | "programming" |
tags | array | ["Python"] |
seniority | string | "Senior" |
modality | string | "remote_local" |
remote | boolean | true |
countries | array | ["Chile"] |
cities | array | [] |
salary | object | {"min": 2000, "max": 3000, "currency": "USD", "period": "month"} |
description | string | "Requirements\nPython experience" |
descriptionHtml | string | "<h2>Requirements</h2><p>Python experience</p>" |
Input and how to call it
Example input. Fields and pricing were checked against the public listing on 2026-11-09; this build does not run paid example searches.
{
"categories": [
"programming"
],
"remoteOnly": true,
"minSalaryUsd": 1000,
"maxItems": 20
}
One HTTP call starts a run, waits for it and returns the records (token from console.apify.com):
curl -X POST "https://api.apify.com/v2/acts/data_daemon~getonbrd-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"categories": ["programming"], "remoteOnly": true, "minSalaryUsd": 1000, "maxItems": 20}'
Python: ApifyClient(token).actor("data_daemon/getonbrd-jobs-scraper").call(run_input=...). Python example · Node.js example · n8n workflow.
AI assistant (MCP): add the remote server https://mcp.apify.com/?tools=data_daemon/getonbrd-jobs-scraper with header Authorization: Bearer YOUR_APIFY_TOKEN in Claude, ChatGPT, Cursor or VS Code and ask for the data in plain words.
All input fields
| Field | Type | Meaning |
|---|---|---|
categories | array | Empty = enumerate all 18 public categories. Category slugs from Get on Board. |
keywords | array | Client-side, case/accent-insensitive substring match. OR between keywords; empty = any. No source search endpoint is used. |
remoteModalities | array | Exact source labels. fully_remote = fully remote; remote_local = remote restricted to countries; hybrid; no_remote. |
remoteOnly | boolean | Keep source remote=true jobs (fully_remote and remote_local). Hybrid jobs are excluded. |
seniorities | array | Match source name or code, e.g. Junior, Semi Senior, Senior, Expert, junior, semi_senior, senior. Case/accent insensitive. |
countries | array | Country names or common ISO codes (CL, MX, CO, PE, AR, BR, US, etc.). Match source eligibility, never infer worldwide eligibility from a remote flag. |
minSalaryUsd | integer | Keep jobs whose disclosed minimum monthly USD salary is at least this amount. 0 = any. |
withSalaryOnly | boolean | Exclude jobs without a positive disclosed minimum monthly USD salary. |
postedWithinDays | integer | Client-side UTC rolling window; unknown dates are excluded when active. 0 = any age. |
maxItems | integer | Global delivered-row cap after filtering and deduplication. A later only-new run may deliver older unseen backlog left by this cap. |
onlyNew | boolean | Persistent delivered-ID memory in named getonbrd-jobs-state KV store. Same stateName + normalized filters share memory; skipped repeats have no job charge. Avoid overlapping runs for one feed. |
stateName | string | Name of your only-new feed, e.g. latam-remote-tech. Combined with normalized filters; cap changes retain memory. Ignored unless onlyNew is enabled. |
skipIds | array | Explicit exclusions; skipped IDs are neither delivered nor charged. |
Price
$0.0008 per job with full description ($0.80 per 1,000); $0.001 per run. List prices for Apify Free and Starter plans; Scale and Business plans pay 15% to 30% less.
| Event | Price | Per 1,000 | Charged when |
|---|---|---|---|
| Job with full description | $0.0008 | $0.80 | One delivered Get on Board job including description and public company profile. Previously delivered jobs skipped in only-new mode are not charged. |
| Actor Start | $0.001 | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
Cost example: 20 job with full descriptions with default options cost $0.017, including any start fee. This is an illustrative record count; set explicit row and total-charge caps for your run. Apify's free plan includes $5 of usage a month, about 6,250 job with full descriptions before start fees; the Actor's own compute is included in the per-record price, and records skipped by filters, de-duplication or only-new mode are not charged.
What it is not for
Candidate profiles; worldwide remote eligibility inferred from the remote flag; annual or original local-currency salary. The data belongs to its publisher; the Actor reads public pages and endpoints and leaves out personal contact details.
Questions buyers ask
Is salary monthly USD or yearly pay?
The public API's numeric bands are USD per month. The Actor preserves those figures without annualizing them. Employer prose may also mention local-currency compensation; it remains in the description and is not substituted into the salary object. Undisclosed salary stays null.
Does remote mean I can apply from any country?
No. remote_local restricts remote work geographically. Even for fully remote listings, use the source's countries field and the original job page to check eligibility. Country filtering never substitutes the employer's headquarters country.
¿Puedo exportar empleos remotos de Get on Board con sueldo?
Sí. Usa remoteOnly: true, countries: ["CL"] (o tu país) y minSalaryUsd. Exporta empleos de tecnología en JSON, CSV o Excel, con descripción, empresa, seniority y sueldo en USD mensuales. onlyNew: true y el mismo stateName omiten empleos ya entregados sin volver a cobrar por ellos.
Posso extrair vagas remotas do Get on Board para o Brasil?
Sim. Use countries: ["BR"] e remoteOnly: true. O filtro respeita os países elegíveis informados pela vaga; remoto não significa aceitação de candidatos do mundo inteiro. A remuneração estruturada é em USD por mês. O modo onlyNew evita cobrar novamente por vagas já entregues no mesmo feed.
Why did a repeat run return more jobs, or no jobs?
The first run may have hit its cap, leaving unseen older jobs for a later run. Once the matching source inventory is exhausted, later runs return zero until new IDs appear. A refreshed existing ID is still considered delivered. See Run summary for skipped counts and stop reasons.
Is this an official Get on Board integration?
This is an independent Actor using public pages and public JSON, with no login or private candidate data. Get on Board publishes its own API; this Actor adds Apify exports, filters, billing and persistent delivered-ID memory. Follow applicable law and source usage conditions for your intended use. Source availability and fields can change.
How do I report a problem?
Open the Issues tab with your input and run ID, without credentials. Custom extraction and integration requests can be discussed there.
Alternatives, honestly
| Option | What it gives you | Where it falls short for this job |
|---|---|---|
| Get on Board public API | Public category job data and company expansion | You maintain pagination, local filters, exports and persistent delivered-ID memory |
| Other Get on Board Actors | Structured jobs from the same source | Compare description inclusion, country eligibility, only-new memory and total price |