South America Jobs API
Pricing
from $0.80 / 1,000 job records
South America Jobs API
Find job postings across South American markets by role, location query, company, category, salary, posting age, employment type, remote status, and seniority.
Pricing
from $0.80 / 1,000 job records
Rating
0.0
(0)
Developer
Aspen Technology Labs, Inc.
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
South America Jobs API - JobsIndex by Aspen Tech Labs
Access fresh job postings across South America through the JobsIndex API, built by Aspen Tech Labs. Job data is sourced directly from company career pages and ATS platforms, not scraped from job boards or aggregators. Coverage spans Brazil, Colombia, Argentina, Chile, Peru, and other countries across the region, with coverage depth varying by country.
Use this Actor when you need job posting data scoped specifically to South America rather than the full global JobsIndex feed. Search by keyword, title, location, company, category, salary, seniority, employment type, work arrangement, posting age, and more across the whole region or narrowed to a single country.
Regional Coverage
The current regional dataset contains ~790,000 active jobs across 12 South American countries.
- Brazil: ~320,000 jobs
- Chile: ~225,000 jobs
- Colombia: ~84,000 jobs
- Argentina: ~80,000 jobs
- Peru: ~59,000 jobs
- Uruguay: ~5,500 jobs
- Ecuador: ~3,000 jobs
Need More or Something Different?
If this Actor is working well for you, we'd love a review. For more data, custom feeds, feedback, or any questions, reach out via our website or by email. You can also explore JobMarketPulse, our labor and job market intelligence platform.
Built-In Regional Preset
The intended regional preset covers Argentina, Bolivia, Brazil, Chile, Colombia, Ecuador, Guyana, Paraguay, Peru, Suriname, Uruguay, and Venezuela.
Direct structured location inputs are not accepted because they could replace the regional preset. Use where to narrow results within the region.
Quick Start
{"title": "Data Analyst","where": "@(city) (\"São Paulo\")","size": 5}
Input Parameters
| Parameter | Description | Example |
|---|---|---|
salary | Salary amount or range filter. | 20h-30h |
what | Job search query with keywords, boolean logic, exact phrases, or field targeting. | software engineer OR data analyst |
where | Field-targeted location query appended to the regional preset. | @(country) (Brazil) |
title | Job title filter. | Data Analyst |
company_name | Employer name filter. | Mercado Libre |
company_domain | Employer website domain. | mercadolibre.com |
category | Job category. | Information Technology |
sub_category | More specific job function or role. | Data Analyst |
industry | Employer industry. | Internet Services |
posted | Relative posting age or ISO date. | 1w |
employment_type | Employment type. | Full-Time |
remote | Work arrangement: remote, on-site, or hybrid. | remote |
seniority | Seniority level. | Senior |
page | Page number, starting from 0. | 0 |
size | Results per page, from 1 to 100. | 5 |
Advanced Filters
what supports plain text, boolean logic, exact phrases, and field-targeted search.
what = engineer OR managerwhat = @(title,description) (python AND developer)
Structured Filter Precedence
When what is provided together with structured job filters such as title, company_name, company_domain, category, sub_category, industry, posted, salary, employment_type, remote, or seniority, those structured filters take priority and can override or narrow the keyword query. Use what when the corresponding structured fields are not set.
where is appended to the internal regional filter. Use field-targeted location syntax:
where = @(country) (Brazil)where = @(city) ("São Paulo")where = @(region) (Antioquia)
Do not send separate country, region, city, postal_code, metro_area, county, or sub_city fields. The Actor removes those fields to protect the regional preset. User-provided where values are always appended with AND; they cannot replace the built-in South America preset.
Salary Filter Format
Use NUMBER[UNIT] or NUMBER[UNIT]-NUMBER[UNIT]. Supported units are h, d, w, m, and y.
Limits and Pagination
This Actor uses the JobsIndex jobs API. Results are paginated with page and size.
| Parameter | Default | Min | Max |
|---|---|---|---|
page | 0 | 0 | Depends on size and the item cap |
size | 5 | 1 | 100 |
Invalid page or size values can return 400 Invalid page or size parameters.
Item Caps
| Query shape | Max items | Effective max size | Over-size behavior |
|---|---|---|---|
| No company filter | 1000 | 100 | Validation error; not silently capped |
| Company filter plus another keyword or filter | 20 | 20 | Silent cap with capping metadata |
| Company filter only | 5 | 5 | Silent cap with capping metadata |
A company filter means company_name, company_domain, or a company field referenced inside what. Another keyword or filter means anything in what other than company_*, or a value in fields such as title, category, sub_category, industry, posted, salary, employment_type, remote, or seniority.
This Actor always applies an internal regional where preset, so company-filtered requests normally use the 20-item company|keywords cap.
When a company-filtered request asks for size greater than the effective cap, the API returns up to the capped number of results instead of erroring. Response metadata includes size_requested and size_capped_by: "company" for the 5-item cap or "company|keywords" for the 20-item cap. These fields are absent from uncapped responses.
No-company-filter requests are not silently capped. Requests beyond the 1000-item retrieval window can return 400 Item limit reached. Maximum of 1000 items can be retrieved.
Free-Text Query Limits
The user-facing what and where queries are subject to JobsIndex free-text limits. The effective upstream where expression includes the built-in regional preset, so the available user-entered where length is lower than the API's 700-character limit.
| Limit | Value | Error behavior |
|---|---|---|
User-entered what length | 700 characters | 400 parameter exceeds 700 characters |
User-entered where length | 528 characters | Input validation error or 400 parameter exceeds 700 characters for the combined query |
Effective upstream where length | 700 characters, including the regional preset | 400 parameter exceeds 700 characters |
| Excessive MATCH operators | Backend safety limit | 400 Too many MATCH operators |
| Unsafe SQL-like keywords | blocked | 400 Unsafe MATCH expression |
Field Validation
Invalid filter values can return 400 Invalid value for parameter: <name>. Common validation examples include malformed company domains, invalid dates or relative posted values, invalid salary format, unsupported location formats, or overly long field values.
Output
Each run stores job records in the default Apify dataset. The dataset schema includes an Overview table for the most useful fields and a Raw data (all fields) table for the complete JobsIndex record.
Example dataset item:
{"id": "example-south-america-job-id","title": "Data Analyst","title_raw": "Senior Data Analyst","company_name": "Example Technology Company","company_domain": "example.com","category": "Information Technology","sub_category": "Data Analyst","country": "Brazil","region": "São Paulo","city": "São Paulo","salary_value": "8000.00-12000.00","salary_currency": "BRL","salary_unit": "MONTH","employment_type": "Full-Time","remote": "remote","posted": "2026-08-01","url_source": "https://example.com/careers/data-analyst","url_apply": "https://example.com/careers/data-analyst/apply"}
Field availability depends on the source job posting.