# Rigzone Jobs Scraper (`piotrv1001/rigzone-jobs-scraper`) Actor

The Rigzone Jobs Scraper extracts oil & gas and energy job postings from Rigzone.com, capturing job titles, hiring companies, locations, salaries, employment types, required skills, experience, and full descriptions — ideal for energy recruiters, job aggregators, and labor market research.

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

## Pricing

from $10.00 / 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.

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

### 🛢️ Rigzone Jobs Scraper

Extract **oil & gas job postings from Rigzone** at scale. The **Rigzone Jobs Scraper** turns the world's leading energy job board into clean, structured JSON — job titles, hiring companies, locations, salaries, required skills, and full descriptions — ready for analysis, dashboards, or your own job aggregator.

Run it on the [Apify platform](https://apify.com) to get API access, scheduling, integrations (Google Sheets, Slack, Make, Zapier), and automatic monitoring out of the box.

### ✨ Features

- 🛢️ **Energy-Specific Data**: Built for the oil, gas, and renewable energy market — niche coverage you won't get from generic job aggregators.
- 🏷️ **Rich Job Records**: Title, company, logo, location (city/region/country), salary, employment type, education, experience, skills, post date, expiry date, and the full job description.
- ⚡ **Fast & Efficient**: Pulls hundreds of postings in minutes with no setup.
- 🔢 **Cost Control**: Cap your run with a single `maxItems` setting and pay only for what you scrape.
- 📅 **Always Fresh**: Schedule daily or weekly runs to keep an up-to-date feed of new energy jobs.

### 🛠️ How It Works

1. **Set how many jobs you want** – Enter a `maxItems` value (default is 50).
2. **Run the scraper** – Start the Actor. It discovers live job postings and extracts them automatically.
3. **Get your data** – Download structured results as JSON, CSV, Excel, or HTML, or pull them via the API.

### 📥 Input

The input is intentionally simple. Open the **Input** tab and set:

- **Max items** – Maximum number of job postings to scrape (default `50`).
- **Proxy configuration** – Optional. The scraper works without a proxy; enable one only if you need to.

```json
{
    "maxItems": 50
}
```

### 📊 Output

Each job posting is saved as one dataset record. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

```json
[
    {
        "url": "https://www.rigzone.com/oil/jobs/postings/1288484_Wind_Farm_Operations_Manager-_Bridger_MT",
        "id": "76834",
        "title": "Wind Farm Operations Manager - Bridger, MT",
        "company": "Vestas",
        "companyLogo": "",
        "industry": "Oil and Gas",
        "employmentType": "FULL_TIME",
        "locality": "Bridger, Montana",
        "region": "Montana",
        "country": "US",
        "salaryCurrency": "USD",
        "salaryValue": "",
        "education": "High School",
        "experience": { "@type": "OccupationalExperienceRequirements", "MonthsOfExperience": "24" },
        "skills": "Operations Management",
        "datePosted": "2026-06-19",
        "validThrough": "2029-03-14",
        "description": "<b>Shape the Future of Renewable Energy at Vestas!</b> ...",
        "image": "https://images.rigzone.com/images/rz-logo.jpg"
    }
]
```

#### Data fields

| Field                             | Description                     |
| --------------------------------- | ------------------------------- |
| `url`                             | Link to the job posting         |
| `id`                              | Unique job identifier           |
| `title`                           | Job title                       |
| `company`                         | Hiring company name             |
| `companyLogo`                     | Company logo path, if available |
| `industry`                        | Industry classification         |
| `employmentType`                  | Full-time, contractor, etc.     |
| `locality` / `region` / `country` | Job location                    |
| `salaryCurrency` / `salaryValue`  | Salary details, when listed     |
| `education`                       | Required education level        |
| `experience`                      | Experience requirements         |
| `skills`                          | Listed skills                   |
| `datePosted` / `validThrough`     | Posting and expiry dates        |
| `description`                     | Full job description (HTML)     |
| `image`                           | Posting image                   |

### 💲 Pricing

This Actor uses the **pay-per-event** pricing model — you pay only for what you actually scrape, with no monthly subscription.

| Event       | Price             |
| ----------- | ----------------- |
| Actor start | $0.01             |
| Job scraped | $0.01 per posting |

For example, a default run of 50 jobs costs about **$0.51**. Scraping a large batch of 1,000 postings costs about **$10**. The free Apify tier is enough to try the Actor and pull your first results at no cost.

### ⚙️ Tips & Advanced Options

- **Start small.** Keep `maxItems` low for a quick test run, then scale up once the output looks right.
- **Schedule it.** Use Apify Schedules to run the Actor daily or weekly and build a continuously updated feed of new energy jobs.
- **Integrate it.** Push results straight to Google Sheets, Slack, a database, or your app via the Apify API and integrations.

### ❓ FAQ

**Is web scraping legal?**
Scraping publicly available data is generally legal. This Actor collects only publicly accessible job-posting information and does not access any private or login-protected data. You are responsible for how you use the scraped data and for complying with the target site's Terms of Service and applicable laws.

**Can I get candidate contact details?**
No. This Actor is for job discovery and market analysis. It extracts public job-posting data only — no personal or candidate contact information.

**How many jobs can I scrape?**
You control the volume with `maxItems`. The board typically lists a few thousand live postings at any time.

**Something not working?**
Report issues or request features via the **Issues** tab on the Actor page. Custom scraping solutions are also available on request.

# Actor input Schema

## `maxItems` (type: `integer`):

Maximum number of job postings to scrape.

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

Proxy settings. The scraper runs fine without a proxy; enable one only if you need to.

## Actor input object example

```json
{
  "maxItems": 50,
  "proxyConfiguration": {
    "useApifyProxy": 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/rigzone-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("piotrv1001/rigzone-jobs-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 '{}' |
apify call piotrv1001/rigzone-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/3RtyV2SYbUgtzjl0O/builds/ODFXjOyzCm8GymhVI/openapi.json
