# Bumeran Jobs Scraper (`parsebird/bumeran-jobs-scraper`) Actor

Scrape job listings from Bumeran Argentina by keyword, location, or search URL. Extract titles, companies, salaries, seniority, descriptions, screening questions, and apply links.

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

## Pricing

from $0.80 / 1,000 jobs

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Scraper

Extract job listings from [Bumeran](https://www.bumeran.com.ar), Argentina's largest job board, by keyword and province, a Bumeran search URL, or a direct job detail URL.

<table><tr>
<td style="border-left:4px solid #1C1917;padding:12px 16px;font-weight:600">
Search by keyword and province or paste any Bumeran URL, then enrich every listing with area, subarea, seniority, modality, the full job description, and the exact screening questions candidates are asked.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
parsebird/bumeran-jobs-scraper on Apify. Call: ApifyClient("TOKEN").actor("parsebird/bumeran-jobs-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items for results. Key inputs: startUrl (string, optional — a Bumeran listing URL or direct job detail URL, overrides keyword/location), keyword (string, e.g. "developer", "marketing", default "developer"), location (string, Argentine province or "Capital Federal", default "Buenos Aires"), collectDetails (boolean, default true — enriches listings with area, subarea, seniority, full description, and screening questions), results_wanted (integer, default 20), max_pages (integer, default 2 — safety cap on search pages), proxyConfiguration (object, default { useApifyProxy: false }). Output fields: id, title, company, location, area, subarea, modality, seniority, job_type, published_date, description_text, questions, url. Full actor spec: fetch build via GET https://api.apify.com/v2/acts/parsebird~bumeran-jobs-scraper (Bearer TOKEN). Get token: https://console.apify.com/account/integrations
```

### What does Bumeran Jobs Scraper do?

**Bumeran Jobs Scraper** is a Bumeran API alternative that turns any job search on [bumeran.com.ar](https://www.bumeran.com.ar) into structured data. It's built for job aggregation, recruiting research, and salary/market analysis across Argentina's largest job board.

- 🔍 Search by keyword and province, paste a Bumeran search results URL, or paste a single job's URL to collect just that one job
- 📍 Filter by any Argentine province, or "Capital Federal" for Buenos Aires city specifically
- 🧩 Enrich every listing with area, subarea, seniority, modality (remote/hybrid/on-site), job type, and the full job description
- ❓ Capture the exact screening questions a candidate would be asked when applying
- 📊 Cap collection with `results_wanted`, and bound pagination with `max_pages` as a safety limit
- ⏱️ Schedule recurring runs to track new postings, trigger it via the Apify API, or connect it to Zapier, Make, Google Sheets, and webhooks
- 📁 Export results as JSON, CSV, Excel, or pull them straight into your app with the Apify API

### What data can you extract from Bumeran?

| Field | Description |
|-------|-------------|
| `title` | Job title |
| `company` | Company name |
| `location` | Human-readable job location |
| `area` / `subarea` | Job category and subcategory |
| `modality` | Work mode, e.g. Remoto, Híbrido, Presencial |
| `seniority` | Seniority level, e.g. Senior, Junior |
| `job_type` | Contract type, e.g. Full-time |
| `published_date` | Publication date shown by Bumeran |
| `description_text` | Plain-text job description |
| `questions` | Screening questions asked during application, when available |
| `url` | Public Bumeran job URL |

### How to scrape Bumeran job listings

1. Go to the [Bumeran Jobs Scraper](https://apify.com/parsebird/bumeran-jobs-scraper) page on Apify Store
2. Click **Try for free**
3. Enter a **Search keyword** (e.g. `developer`) and **Location** (e.g. `Buenos Aires`), or paste a Bumeran listing/job URL into **Start URL**
4. Set **Results wanted** and **Max pages** to control how much to collect
5. Leave **Collect full job details** on to get area, subarea, seniority, description, and screening questions
6. Click **Start** and wait for the run to finish
7. Download your data as JSON, CSV, or Excel, or pull it through the API tab

### Use cases

- **Job aggregation** — Feed Bumeran postings into your own job board or search app
- **Recruiting research** — Track which companies are hiring for a role, seniority, or modality
- **Market analysis** — Benchmark how many postings exist per area, subarea, or province
- **Screening question research** — See what questions employers ask for a given role before applying
- **Single-job monitoring** — Watch one specific posting for changes by re-running with its URL

### How it works

Bumeran Jobs Scraper drives a real browser session against bumeran.com.ar and reads the same search and job-detail data the site itself loads — either from your keyword and location, a Bumeran search URL you paste in, or a direct job URL for a single posting. When **Collect full job details** is on, each listing is enriched with a second lookup for area, subarea, seniority, full description, and screening questions.

### Use with the Apify API

**Python:**

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_API_TOKEN")

run = client.actor("parsebird/bumeran-jobs-scraper").call(run_input={
    "keyword": "developer",
    "location": "Buenos Aires",
    "results_wanted": 50,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(f"{item['title']} - {item['company']} ({item['modality']})")
```

**JavaScript:**

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });

const run = await client.actor('parsebird/bumeran-jobs-scraper').call({
    keyword: 'developer',
    location: 'Buenos Aires',
    results_wanted: 50,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(`${item.title} - ${item.company} (${item.modality})`));
```

### Output example

```json
{
  "id": 1118181775,
  "title": "Fullstack Developer Sr",
  "company": "ACCIONA IT",
  "location": "Capital Federal, Buenos Aires, Argentina",
  "area": "Tecnología, Sistemas y Telecomunicaciones",
  "subarea": "Programación",
  "modality": "Remoto",
  "seniority": "Senior",
  "job_type": "Full-time",
  "published_date": "05-03-2026",
  "description_text": "En Acciona IT estamos buscando un Fullstack Developer SR...",
  "questions": [
    "¿Cuántos años de experiencia tenés trabajando con Node?"
  ],
  "url": "https://www.bumeran.com.ar/empleos/fullstack-developer-sr-acciona-it-1118181775.html"
}
```

Download results in JSON, HTML, CSV, or Excel from the **Storage** tab, or fetch them programmatically from the [Dataset API](https://docs.apify.com/api/v2#/reference/datasets).

### Pricing

**How much does it cost to scrape Bumeran with this actor?**

Bumeran Jobs Scraper uses **Pay-per-event** pricing — you only pay for jobs actually saved to the dataset:

| Event | Price per event | Price per 1,000 |
|-------|-----------------|------------------|
| `job-scraped` | $0.0009 | **$0.90** |

Pricing steps down as your account's Apify usage tier increases: $0.90/1,000 on the Free tier, and $0.80/1,000 on Bronze, Silver, and Gold. Collecting 100 jobs on the Free tier costs about $0.09. Every new Apify account gets free trial credits, so you can test this actor without adding a payment method first.

### FAQ

**Does this actor use the official Bumeran API?**
No — Bumeran does not publish a public jobs API. This actor reads the same structured data Bumeran's own website loads when you search or open a job posting.

**What happens if I paste a job URL directly into Start URL?**
The actor detects it's a single job page and returns just that one job with full details, ignoring `results_wanted` and `max_pages`.

**What if my Start URL isn't a search or job URL I recognize?**
The actor logs a warning and falls back to the `keyword` and `location` inputs instead of failing the run.

**Why is `area`, `subarea`, or `seniority` empty for some jobs?**
Those fields only come from the full job detail page. If **Collect full job details** is turned off, listings return the lighter search-result fields only (title, company, location, modality, job type, published date, and a short description).

**Can I collect jobs from a specific province only?**
Yes. Set `location` to any Argentine province (e.g. `Cordoba`, `Santa Fe`, `Mendoza`) or `Capital Federal` for Buenos Aires city. Unrecognized locations fall back to a nationwide search with a warning.

**Can I schedule recurring runs?**
Yes. Use [Apify's Scheduler](https://docs.apify.com/platform/schedules) to run this actor daily or on any custom interval to track new postings.

**Can I use this with the API or integrations?**
Yes. Every run is accessible through the [Apify API](https://docs.apify.com/api/v2), and you can connect this actor to Zapier, Make, Google Sheets, Slack, and webhooks from the **Integrations** tab.

**I found a bug or the actor stopped returning data — what do I do?**
Bumeran occasionally changes its site layout. Please open an issue on the **Issues** tab with your input and a description of what happened.

### Is it legal to scrape Bumeran?

Scraping publicly available data, such as job titles and descriptions shown to any visitor without logging in, is generally considered legal, including under precedents like *hiQ Labs v. LinkedIn*. This actor does not access any account-gated or private data. You are responsible for using the collected data in compliance with Bumeran's terms of service and applicable data protection laws in your jurisdiction. Read more in [Apify's blog post on the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

### Related actors

Other ParseBird job-market actors:

- [Naukri Jobs Scraper](https://apify.com/parsebird/naukri-jobs-scraper) — extract job listings from Naukri (India)
- [Hirist Jobs Scraper](https://apify.com/parsebird/hirist-jobs-scraper) — extract tech job listings from Hirist (India)
- [Wuzzuf Jobs Scraper](https://apify.com/parsebird/wuzzuf-jobs-scraper) — extract job listings from Wuzzuf (Egypt)

# Actor input Schema

## `startUrl` (type: `string`):

A Bumeran listing URL (e.g. a search results page) or a direct job detail URL. Overrides Search keyword and Location when provided.

## `keyword` (type: `string`):

Search keyword used when Start URL is not a specific job or search URL, e.g. developer, marketing, analista de datos.

## `location` (type: `string`):

Argentine province or 'Capital Federal' used to narrow the search, e.g. Buenos Aires, Cordoba, Santa Fe.

## `collectDetails` (type: `boolean`):

Enrich each listing with the full job detail page: area, subarea, seniority, full description, and screening questions.

## `results_wanted` (type: `integer`):

Maximum number of jobs to collect.

## `max_pages` (type: `integer`):

Safety cap on the number of search result pages to fetch.

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

Optional Apify Proxy configuration. Bumeran's search API does not require a proxy for typical usage.

## Actor input object example

```json
{
  "startUrl": "https://www.bumeran.com.ar/empleos.html",
  "keyword": "developer",
  "location": "Buenos Aires",
  "collectDetails": true,
  "results_wanted": 20,
  "max_pages": 2,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "startUrl": "https://www.bumeran.com.ar/empleos.html",
    "keyword": "developer",
    "location": "Buenos Aires",
    "results_wanted": 20,
    "max_pages": 2
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/bumeran-jobs-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 = {
    "startUrl": "https://www.bumeran.com.ar/empleos.html",
    "keyword": "developer",
    "location": "Buenos Aires",
    "results_wanted": 20,
    "max_pages": 2,
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/bumeran-jobs-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 '{
  "startUrl": "https://www.bumeran.com.ar/empleos.html",
  "keyword": "developer",
  "location": "Buenos Aires",
  "results_wanted": 20,
  "max_pages": 2
}' |
apify call parsebird/bumeran-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/bumeran-jobs-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/C6e8ObA77b1Abe8eg/builds/lRIOhJsEiVLKEQJEa/openapi.json
