# France Fuel Prices – Cheapest Stations Near You (`bstandco/france-fuel-prices`) Actor

Find the cheapest petrol stations in France by city, postal code, department or GPS radius. Official real-time prices for diesel, SP95, SP98, E10, E85 and LPG.

- **URL**: https://apify.com/bstandco/france-fuel-prices.md
- **Developed by:** [BSTAndCo](https://apify.com/bstandco) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 1,000 stations

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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## France Fuel Prices – Cheapest Stations Near You

Find the **cheapest petrol stations in France** in seconds. This Actor returns official, near real-time fuel prices for **diesel (gazole), SP95, SP98, E10, E85 and LPG (GPLc)** for every station in France, sorted from cheapest to most expensive.

Search by **postal code, city, department** or **around a GPS point** with a radius in km.

### Who is it for?

- **Fleet managers & delivery companies** – send drivers to the cheapest station on their route and cut fuel costs.
- **App & website builders** – feed a fuel price comparator, a map or a chatbot without maintaining your own pipeline.
- **Journalists & analysts** – track price differences between regions, motorways and cities.
- **Drivers** – schedule it daily and get the cheapest station near home.

### What data do you get?

| Field | Example |
|---|---|
| `price` | 1.789 (EUR per litre) |
| `priceUpdatedAt` | 2026-09-22T06:01:00Z |
| `distanceKm` | 2.4 (when searching around a GPS point) |
| `address`, `postalCode`, `city`, `department`, `region` | 12 Avenue Pierre Brossolette, 92240, Malakoff |
| `latitude`, `longitude`, `googleMapsUrl` | ready for maps and navigation |
| `open24h`, `roadType` | 24/7 automatic pump, motorway or road |
| `allPrices` | every fuel sold by the station with its own update time |
| `availableFuels`, `unavailableFuels` | shortages included |
| `services` | car wash, shop, EV charging, toilets, ATM… |

Export as JSON, CSV, Excel, or connect it to Google Sheets, Make, Zapier or your API.

### How to use

1. Pick a **fuel type**.
2. Enter **postal codes**, **cities**, **department codes**, or a **latitude/longitude + radius**. Leave them empty to get the cheapest stations in all of France.
3. Click **Start**. Results arrive in a few seconds.

Example input – cheapest diesel within 5 km of central Paris:

```json
{
  "fuelType": "gazole",
  "latitude": "48.8566",
  "longitude": "2.3522",
  "radiusKm": 5,
  "maxResults": 20
}
```

Tip: use **Schedules** to run it every morning and send the result to Slack, email or Google Sheets.

### Pricing

You pay a small fee per station returned, plus nothing else. A typical search of 50 stations costs a few cents.

### Data source & license

Data comes from the official French government dataset **“Prix des carburants en France – flux instantané”** published by the Ministère de l’Économie on [data.economie.gouv.fr](https://data.economie.gouv.fr/explore/dataset/prix-des-carburants-en-france-flux-instantane-v2/), under the **Licence Ouverte v2.0 (Etalab)**, which allows commercial reuse with attribution. Every result includes a `source` field with this attribution. Prices are reported by stations themselves; this Actor does not modify them.

This Actor is not affiliated with the French government.

### FAQ

**How fresh are the prices?** The official feed is updated continuously during the day. Use “Ignore prices older than” to drop stations that have not updated recently.

**Does it cover overseas departments?** Yes, all stations published in the official feed, including DROM.

**Can I get all stations in France?** Yes – leave only a department list, or set a large radius, and raise `maxResults`.

# Actor input Schema

## `fuelType` (type: `string`):

Which fuel to compare. Results are sorted from cheapest to most expensive.

## `postalCodes` (type: `array`):

French postal codes, e.g. 75013, 69003.

## `cities` (type: `array`):

City names, e.g. Lyon, Marseille.

## `departments` (type: `array`):

Department numbers, e.g. 33, 2A, 974.

## `latitude` (type: `string`):

Search around a GPS point (use with longitude and radius). Example: 48.8566

## `longitude` (type: `string`):

Example: 2.3522

## `radiusKm` (type: `integer`):

Search radius around the GPS point.

## `maxPriceAgeHours` (type: `integer`):

Skip stations whose price is older than this. 0 = keep all (recommended: small towns update prices only every few days; each result has priceAgeHours).

## `maxResults` (type: `integer`):

Maximum number of stations to return (cheapest first).

## Actor input object example

```json
{
  "fuelType": "gazole",
  "postalCodes": [
    "75013"
  ],
  "radiusKm": 10,
  "maxPriceAgeHours": 0,
  "maxResults": 50
}
```

# Actor output Schema

## `overview` (type: `string`):

Petrol stations with their fuel prices, cheapest first. Main fields in a table.

## `results` (type: `string`):

Petrol stations with their fuel prices, cheapest first. Every field (JSON).

# 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 = {
    "postalCodes": [
        "75013"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("bstandco/france-fuel-prices").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 = { "postalCodes": ["75013"] }

# Run the Actor and wait for it to finish
run = client.actor("bstandco/france-fuel-prices").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 '{
  "postalCodes": [
    "75013"
  ]
}' |
apify call bstandco/france-fuel-prices --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,bstandco/france-fuel-prices"
        }
    }
}
```

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/C248E0EGswT4fJyyv/builds/afyCGDAy9uyEgCXhQ/openapi.json
