# Bumeran Jobs Search Scraper (`alexist/bumeran-jobs-search-scraper`) Actor

Scrape job listings from Bumeran.com.ar and regional sites with ease. Extract titles, descriptions, company details, salary info, publication dates, work modality, and 33+ fields per listing — perfect for recruitment agencies, HR teams, and labor market researchers across Latin America.

- **URL**: https://apify.com/alexist/bumeran-jobs-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Bumeran Jobs Search Scraper: Automate Argentine Job Data Extraction

---

### What Is Bumeran?

Bumeran is one of Latin America's largest job platforms, with dedicated sites across Argentina (.com.ar), Mexico (.com.mx), and other regions. It hosts tens of thousands of active job postings spanning all industries and career levels. For recruiters, HR professionals, and researchers, manually collecting and organizing this data is inefficient — the **Bumeran Jobs Search Scraper** automates the entire process, extracting structured job records from search results pages.

---

### Overview

The **Bumeran Jobs Search Scraper** collects job listings from Bumeran search result pages and converts them into clean, structured datasets. It is designed for:

- **Recruitment agencies** building talent pipelines and market intelligence
- **HR professionals** benchmarking salaries and work modalities across regions
- **Data analysts** researching employment trends in Argentina and Latin America
- **Job aggregator platforms** populating listings programmatically
- **Academic researchers** studying labor market dynamics

The scraper handles URL failures gracefully, supports configurable item limits, and delivers rich data including company ratings, accessibility flags, publication history, and engagement metrics.

---

### Input Format

The scraper accepts a JSON configuration object:

```json
{
  "urls": [
    "https://www.bumeran.com.ar/empleos.html"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
````

#### Configuration Parameters

| Parameter | Type | Description | Example |
|---|---|---|---|
| `urls` | Array | Links to Bumeran job search pages or category pages | `["https://www.bumeran.com.ar/empleos.html"]` |
| `ignore_url_failures` | Boolean | If `true`, skips failed URLs and continues scraping. If `false`, stops on error. | `true` |
| `max_items_per_url` | Integer | Maximum number of job listings extracted per URL (default: 20) | `50` |

**Regional domains supported:**

- `bumeran.com.ar` — Argentina
- `bumeran.com.mx` — Mexico
- `bumeran.com.pe` — Peru
- `bumeran.cl` — Chile
- And other regional variants

> **Tip:** Use search result URLs with filters (e.g., by location, category, salary) to narrow the dataset to your needs.

***

### Output Format

**Sample output**

```json
{
  "id": 1118365041,
  "titulo": "Vendedor Telefónico Libros Jurídicos - Part Time",
  "detalle": "Editorial Rubinzal Culzoni, empresa líder en libros jurídicos, se encuentra en la búsqueda de talentos comerciales para sumar a su equipo de ventas en su canal de VENTA TELEFONICO.Buscamos personas activas, empáticas, con marcada orientación comercial, que deseen desarrollarse y superarse en un ambiente de trabajo dinámico.Tendrá como desafío generar nuevos clientes y potenciar/fidelizar los clientes activos, en línea con las estrategias comerciales establecidas por la empresa.La empresa ofrece: Grandes posibilidades de progreso y desarrollo. Capacitación inicial y continua. Premios acordes al nivel de cumplimiento de objetivosSon requisitos: Experiencia en posiciones similares.Lugar de trabajo: Tribunales - Presencial - Lunes a Viernes de 9 a 15 hs o de 14 a 20 hs.Si crees que tu CV se ajusta a lo que estamos buscando, no dudes en aplicar!",
  "apto_discapacitado": false,
  "id_empresa": 10093993,
  "empresa": "Rubinzal Editorial",
  "confidencial": false,
  "logo_url": null,
  "validada": false,
  "empresa_pro": false,
  "fecha_hora_publicacion": "13-07-2026 14:37:00",
  "fecha_publicacion": "13-07-2026",
  "fecha_modificado": "13-07-2026 14:37:00",
  "plan_publicacion": {
    "id": 10,
    "nombre": "Home"
  },
  "portal": "bumeran",
  "tipo_trabajo": "Part-time",
  "id_pais": 1,
  "id_area": 6,
  "id_subarea": 35,
  "leido": null,
  "visitado_por_postulante": null,
  "localizacion": "Capital Federal, Buenos Aires",
  "cantidad_vacantes": 1,
  "guardado": null,
  "gptw_url": null,
  "promedio_empresa": null,
  "modalidad_trabajo": "Presencial",
  "tiene_preguntas": false,
  "salario_obligatorio": true,
  "alta_revision_perfiles": false,
  "postulacion_rapida": false,
  "tipo_aviso": "home",
  "from_url": "https://www.bumeran.com.ar/empleos.html"
}
```

Each job listing returns a comprehensive record with 33 fields organized into multiple categories:

#### Core Job Information

| Field | Description |
|---|---|
| `ID` | Unique Bumeran job identifier |
| `Titulo` | Job title as posted on the platform |
| `Detalle` | Full HTML job description and requirements |
| `Tipo Trabajo` | Employment type (e.g., full-time, part-time, contract) |
| `Tipo Aviso` | Listing classification (e.g., permanent, temporary, internship) |
| `Cantidad Vacantes` | Number of open positions for this role |

#### Company Details

| Field | Description |
|---|---|
| `ID Empresa` | Unique company identifier in Bumeran's system |
| `Empresa` | Employer name and company identifier |
| `Logo URL` | Direct URL to the company's logo image |
| `Promedio Empresa` | Company rating score on Bumeran (employee reviews) |
| `Empresa Pro` | Boolean flag indicating if company has Bumeran Pro account |
| `Validada` | Whether the company profile is verified and validated |

#### Location & Scope

| Field | Description |
|---|---|
| `Localizacion` | Job location as displayed (city, region, or remote) |
| `ID Pais` | Numeric country identifier (e.g., Argentina = 1) |
| `ID Area` | Industry sector ID (e.g., IT, Finance, Hospitality) |
| `ID Subarea` | Specific job category within the sector |
| `Portal` | Regional portal code (e.g., AR for Argentina) |

#### Publication & Timeline

| Field | Description |
|---|---|
| `Fecha Hora Publicacion` | Full timestamp of job posting (date and time) |
| `Fecha Publicacion` | Publication date only |
| `Fecha Modificado` | Last modification date of the listing |
| `Plan Publicacion` | Listing plan type (standard, premium, featured) |

#### Work Details & Benefits

| Field | Description |
|---|---|
| `Modalidad Trabajo` | Work mode (presencial = on-site, remoto = remote, híbrido = hybrid) |
| `Apto Discapacitado` | Accessibility flag: whether the role is suitable for people with disabilities |
| `Salario Obligatorio` | Whether salary information is mandatory in the listing |
| `Confidencial` | Whether the posting is marked as confidential |
| `Alta Revision Perfiles` | Flag indicating high screening standards for applicants |
| `Postulacion Rapida` | Quick apply feature available |

#### Engagement & Visibility

| Field | Description |
|---|---|
| `Leido` | View count or read status of the listing |
| `Visitado Por Postulante` | Whether applicants have viewed this posting |
| `Guardado` | Number of times the job was saved by users |
| `Tiene Preguntas` | Whether the listing includes screening questions |
| `GPTW URL` | Link to Great Place to Work certification (if applicable) |

***

### How to Use

1. **Find search URLs** — Visit Bumeran.com.ar (or your regional variant) and navigate to a jobs search results page. You can filter by keyword, location, category, or salary to customize your dataset.

2. **Copy the URL** — Paste the search results page URL into the `urls` array. Example:
   ```
   https://www.bumeran.com.ar/empleos.html
   ```

3. **Configure limits** — Set `max_items_per_url` based on your needs. For comprehensive market research, use `50` or higher; for quick tests, use `10-20`.

4. **Handle failures** — Leave `ignore_url_failures: true` to prevent interruptions if a page cannot be scraped.

5. **Run and export** — Execute the scraper and download results in JSON or CSV format.

**Best practices:**

- Use specific search filters to collect targeted datasets (e.g., only senior roles, only IT jobs, only remote positions)
- Check regional domain availability before running (some countries may have limited job counts)
- Monitor the run log for warnings about failed pages or missing fields
- Validate a sample of results before bulk processing

**Common issues & solutions:**

- **No data extracted:** Verify the URL is a search results page, not a single job listing
- **Partial results:** Some fields may be empty if companies don't provide the information (e.g., salary, logo)
- **Timeout errors:** Reduce `max_items_per_url` if pages load slowly

***

### Use Cases & Business Value

- **Market intelligence:** Track hiring trends, popular job titles, and salary ranges by sector and region
- **Competitive analysis:** Monitor which companies are actively hiring and their job descriptions
- **Recruitment pipeline:** Build automated job feeds for specific niches (e.g., tech, finance, hospitality)
- **Salary benchmarking:** Aggregate compensation data across companies and roles for HR strategy
- **Academic research:** Analyze labor market conditions, industry growth, and remote work adoption in Latin America
- **Lead generation:** Identify hiring companies and HR contacts for B2B outreach

The scraper reduces manual work from hours to minutes, delivering clean data ready for analytics, CRM integration, or machine learning pipelines.

***

### Conclusion

The **Bumeran Jobs Search Scraper** is the go-to solution for anyone needing structured job data from Bumeran and its regional sites. Whether you're a recruiter, HR analyst, or researcher, this tool automates data collection across 33+ fields, saving time and enabling data-driven decision-making in the competitive Latin American job market. Start scraping today and unlock actionable insights from one of the region's largest employment platforms.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.bumeran.com.ar/empleos.html"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.bumeran.com.ar/empleos.html"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/bumeran-jobs-search-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 = {
    "urls": ["https://www.bumeran.com.ar/empleos.html"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/bumeran-jobs-search-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.bumeran.com.ar/empleos.html"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call alexist/bumeran-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=alexist/bumeran-jobs-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Bumeran Jobs Search Scraper",
        "description": "Scrape job listings from Bumeran.com.ar and regional sites with ease. Extract titles, descriptions, company details, salary info, publication dates, work modality, and 33+ fields per listing — perfect for recruitment agencies, HR teams, and labor market researchers across Latin America.",
        "version": "0.0",
        "x-build-id": "zbg986juLtKa0Qmrt"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/alexist~bumeran-jobs-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-alexist-bumeran-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/alexist~bumeran-jobs-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-alexist-bumeran-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/alexist~bumeran-jobs-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-alexist-bumeran-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the Jobs list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
