# Carbu.com France Belgium Fuel Price Scraper (`rainminer/carbu-com-scraper`) Actor

Scrape live France, Belgium, and Luxembourg fuel prices from Carbu.com for travel and fleet planners. Extract station names, brands, addresses, GPS, and Gazole, SP95, SP98, E10, and LPG from city lists. No login. Schedule runs, export JSON/CSV/Excel, and feed dashboards via API. Pay per station.

- **URL**: https://apify.com/rainminer/carbu-com-scraper.md
- **Developed by:** [rainminer](https://apify.com/rainminer) (community)
- **Categories:** Travel, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.86 / 1,000 fuel station scrapeds

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/actors/running/actors-in-store.md#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

![Carbu.com](https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/BNQWWUJ8lcaBhP8HG-actor-ncSIbBfwBMA93UQ8j-biEU3GkHr0-carbu-com-scraper.png)

### What does Carbu.com France Belgium Fuel Price Scraper do?

**Carbu.com France Belgium Fuel Price Scraper** extracts **live pump prices** from [Carbu.com](https://carbu.com/) across **France, Belgium, and Luxembourg**. Give it a station-list URL (Gazole, SP95, SP98, E10, LPG) and export **station names, addresses, coordinates, brand logos, and prices** without writing any code. **No login required.**

Run it on the **Apify platform** to schedule crawls, export JSON/CSV/Excel, monitor failures, and integrate results via API.

***

### What data can you extract from Carbu.com?

| Field | Description |
| --- | --- |
| id | Carbu station id |
| name | Station name |
| brand | Brand derived from the logo filename |
| address | Street address |
| latitude / longitude | Coordinates from the list card |
| distanceKm | Distance from the search location |
| product / productLabel | Fuel code (GO, E10, SP95…) and label |
| priceAmount | Price in EUR per litre |
| imageUrl | Brand logo |
| url | Station page URL |

***

### Why scrape Carbu.com?

Carbu is a public pump-price map for France, Belgium, and Luxembourg. Typical jobs:

1. **Paris Gazole** — Rank diesel stations around a depot or airport
2. **Cross-border trips** — Compare French, Belgian, and Luxembourg pumps in one schema
3. **SP95 / SP98** — Track petrol grades separately from diesel
4. **E10 vs SP95** — See where ethanol blend is actually cheaper
5. **LPG / GPL maps** — Filter stations that still sell Autogas
6. **Brand research** — Follow TotalEnergies, Esso, and independents
7. **Fleet planning** — Pick the cheapest fill-up near a Belgian warehouse
8. **Travel weekends** — Scan Luxembourg-city lists before a road trip
9. **Alerting** — Push EUR/L drops into Slack, email, or a sheet
10. **Data pipelines** — Automate public Carbu listings instead of copying the site
11. **City coverage** — Run several `liste-stations-service` URLs in one Actor run
12. **Dashboards** — Join prices with GPS for routing and cost models

***

### How to scrape Carbu.com

1. Open the Actor in [Apify Console](https://console.apify.com/)
2. Keep the default Paris diesel list URL, or paste another **liste-stations-service**, station, or homepage URL
3. Set **Maximum items** (stations per start URL; keep it small for a test run)
4. Click **Start** and download results from the **Dataset** tab as JSON, CSV, Excel, or HTML

The homepage falls back to the Paris diesel list so a first run always has a working search.

For all input options, see the **Input** tab in Console.

***

### Input

| Field | Description |
| --- | --- |
| Start URLs | Carbu.com station-list, station, or homepage URLs for France, Belgium, or Luxembourg |
| Maximum items | Stations to return **per start URL** (default 5) |
| Proxy configuration | Optional. The scraper works without a proxy in most regions |

Supported start URLs:

- France list: `https://carbu.com/france/liste-stations-service/GO/Paris/75000/FR_11_75_751_7599_75056`
- Belgium list: `https://carbu.com/belgique/index.php/liste-stations-service/Diesel%20(B7)/Bruxelles/1000/BE_bx_1`
- Homepage: `https://carbu.com/` (falls back to the Paris diesel list)

Change the product slug in a list URL (`GO`, `E10`, `SP95`, `SP98`, `GPL`) to switch fuels.

***

### Output

Each result is one gas station for the list’s fuel. You can download the dataset in **JSON, HTML, CSV, or Excel**.

```json
{
  "id": "12345",
  "name": "TotalEnergies Paris",
  "brand": "TotalEnergies",
  "address": "1 Example Street, 75000 Paris",
  "latitude": 48.86,
  "longitude": 2.35,
  "distanceKm": 1.2,
  "product": "GO",
  "productLabel": "Gazole",
  "priceAmount": 1.529,
  "currency": "EUR",
  "url": "https://carbu.com/index.php/station/example/12345",
  "imageUrl": "https://carbucomstatic-5141.kxcdn.com/brandLogo/total.png"
}
```

***

### How much will it cost to scrape Carbu.com?

This Actor is **pay per event**. You pay a tiny start fee plus one charge per station pushed to the dataset. On the FREE plan that is **$2.49 per 1,000 stations** (about $0.0025 per station). GOLD and higher Store plans pay less per station. A five-station test run costs well under a dollar.

The crawler is HTTP-only (no browser) and uses **no proxy by default**, so compute stays low. Larger lists scale with **maxItems**.

***

### Tips and advanced options

- Change the product slug in the list URL (`GO`, `E10`, `SP95`, `SP98`, `GPL`) to switch fuels.
- `maxItems` is counted **per start URL**. A typical city list returns about 50 stations on one page.
- Default run uses no Apify Proxy. Enable a proxy group only if you see blocks.

***

### FAQ, disclaimers, and support

**Is scraping Carbu.com legal?**\
This Actor collects only **public** fuel price listings. You are responsible for complying with applicable laws when processing any data.

**Does it need a login?**\
No. Station lists are public.

**Why is price empty on some rows?**\
Some Carbu cards publish the station without a live amount for that fuel. The Actor still returns the station; `priceAmount` is `null` when the site has no figure.

Use the **Issues** tab for feedback. Transfer data via the **API** tab or platform integrations.

***

### Related scrapers

You might also like [Clever-Tanken.de German Fuel Price Scraper](https://apify.com/rainminer/clever-tanken-de-scraper), [PetrolSpy Australia NZ Fuel Price Scraper](https://apify.com/rainminer/petrolspy-com-au-scraper), [FuelWatch WA Official Fuel Price Scraper](https://apify.com/rainminer/fuelwatch-wa-gov-au-scraper), and [Spritpreisrechner.at Scraper](https://apify.com/rainminer/spritpreisrechner-at-scraper).

### Image Credit

Image credit: [carbu.com](https://carbu.com/)

# Actor input Schema

## `startUrls` (type: `array`):

Carbu.com station-list, station, or homepage URLs for France, Belgium, or Luxembourg.

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

Maximum number of gas stations to return per start URL.

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

Proxy settings. The scraper works without a proxy in most regions.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://carbu.com/france/liste-stations-service/GO/Paris/75000/FR_11_75_751_7599_75056"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (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 = {
    "startUrls": [
        {
            "url": "https://carbu.com/france/liste-stations-service/GO/Paris/75000/FR_11_75_751_7599_75056"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rainminer/carbu-com-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 = {
    "startUrls": [{ "url": "https://carbu.com/france/liste-stations-service/GO/Paris/75000/FR_11_75_751_7599_75056" }],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("rainminer/carbu-com-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 '{
  "startUrls": [
    {
      "url": "https://carbu.com/france/liste-stations-service/GO/Paris/75000/FR_11_75_751_7599_75056"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call rainminer/carbu-com-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rainminer/carbu-com-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/ncSIbBfwBMA93UQ8j/builds/j4ldyZJv9L7qvFyvq/openapi.json
