{
  "openapi": "3.0.1",
  "info": {
    "title": "Fuel Prices Scraper & API: Spain, France, EU Open Data",
    "description": "Official fuel prices for every station in Spain and France, current and historical, plus weekly EU averages by country. AI agents ready via MCP.",
    "version": "0.1",
    "x-build-id": "IJZ6OtQBMyyb9XGDJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ocius-data~fuel-prices-official/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ocius-data-fuel-prices-official",
        "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/ocius-data~fuel-prices-official/runs": {
      "post": {
        "operationId": "runs-sync-ocius-data-fuel-prices-official",
        "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/ocius-data~fuel-prices-official/run-sync": {
      "post": {
        "operationId": "run-sync-ocius-data-fuel-prices-official",
        "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",
        "required": [
          "countries"
        ],
        "properties": {
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Two-letter country codes. Spain (ES) and France (FR) return every station's prices. Any other EU member state returns the weekly national average from the European Commission Weekly Oil Bulletin. EU and EUR are the EU and euro-area weighted averages.",
            "items": {
              "type": "string",
              "enum": [
                "ES",
                "FR",
                "AT",
                "BE",
                "BG",
                "CY",
                "CZ",
                "DE",
                "DK",
                "EE",
                "FI",
                "GR",
                "HR",
                "HU",
                "IE",
                "IT",
                "LT",
                "LU",
                "LV",
                "MT",
                "NL",
                "PL",
                "PT",
                "RO",
                "SE",
                "SI",
                "SK",
                "EU",
                "EUR"
              ],
              "enumTitles": [
                "Spain (stations)",
                "France (stations)",
                "Austria (national average)",
                "Belgium (national average)",
                "Bulgaria (national average)",
                "Cyprus (national average)",
                "Czechia (national average)",
                "Germany (national average)",
                "Denmark (national average)",
                "Estonia (national average)",
                "Finland (national average)",
                "Greece (national average)",
                "Croatia (national average)",
                "Hungary (national average)",
                "Ireland (national average)",
                "Italy (national average)",
                "Lithuania (national average)",
                "Luxembourg (national average)",
                "Latvia (national average)",
                "Malta (national average)",
                "Netherlands (national average)",
                "Poland (national average)",
                "Portugal (national average)",
                "Romania (national average)",
                "Sweden (national average)",
                "Slovenia (national average)",
                "Slovakia (national average)",
                "European Union (average)",
                "Euro area (average)"
              ]
            },
            "default": [
              "ES"
            ]
          },
          "fuelTypes": {
            "title": "Fuel types",
            "type": "array",
            "description": "Fuels to return. Leave empty for every fuel the source publishes. Spain publishes all of them except heating oil; France: diesel, gasoline95, gasoline95_e10, gasoline98, e85 and lpg; national averages: gasoline95, diesel, lpg and heating_oil.",
            "items": {
              "type": "string",
              "enum": [
                "diesel",
                "diesel_premium",
                "diesel_agricultural",
                "renewable_diesel",
                "biodiesel",
                "gasoline95",
                "gasoline95_premium",
                "gasoline95_e10",
                "gasoline98",
                "gasoline98_e10",
                "e85",
                "bioethanol",
                "lpg",
                "cng",
                "lng",
                "hydrogen",
                "adblue",
                "heating_oil"
              ],
              "enumTitles": [
                "Diesel (B7)",
                "Premium diesel",
                "Agricultural diesel (Spain)",
                "Renewable diesel (HVO)",
                "Biodiesel",
                "Gasoline 95 (E5)",
                "Premium gasoline 95",
                "Gasoline 95 E10",
                "Gasoline 98 (E5)",
                "Gasoline 98 E10",
                "E85",
                "Bioethanol",
                "LPG (autogas)",
                "CNG",
                "LNG",
                "Hydrogen",
                "AdBlue",
                "Heating oil (national averages)"
              ]
            }
          },
          "dataLevel": {
            "title": "Data level",
            "enum": [
              "stations",
              "national",
              "both"
            ],
            "type": "string",
            "description": "Stations: station prices for Spain and France, national averages for the other countries. National: national weekly averages for every selected country, Spain and France included. Both: station prices and national averages.",
            "default": "stations"
          },
          "regions": {
            "title": "Regions (optional)",
            "type": "array",
            "description": "Limit station prices to regions. Spain: province or autonomous community (\"Madrid\", \"Barcelona\", \"Andalucía\"). France: department code or name, or region (\"75\", \"Gironde\", \"Bretagne\"). Prefix with the country to be explicit: \"ES:Sevilla\", \"FR:69\". A station country without a region is returned in full.",
            "items": {
              "type": "string"
            }
          },
          "postalCodes": {
            "title": "Postal codes (optional)",
            "type": "array",
            "description": "Full postal codes or their beginning, for example \"28001\" or \"75\" (all codes starting with 75). Prefix with the country if needed: \"FR:69\".",
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "title": "Latitude (optional)",
            "type": "number",
            "description": "Centre of a radius search, in decimal degrees (for example 40.4168). Give it together with the longitude."
          },
          "longitude": {
            "title": "Longitude (optional)",
            "type": "number",
            "description": "Centre of a radius search, in decimal degrees (for example -3.7038)."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0.1,
            "maximum": 500,
            "type": "number",
            "description": "Only stations within this distance of the latitude and longitude. Rows are then sorted by distance and carry distanceKm.",
            "default": 10
          },
          "historyDays": {
            "title": "History (days back)",
            "minimum": 0,
            "maximum": 366,
            "type": "integer",
            "description": "0 returns current prices only. 1 to 366 returns one snapshot per day (or per week) from that many days ago until today. France keeps daily files for about the last 30 days; Spain since 2007; national averages are weekly since 2005.",
            "default": 0
          },
          "startDate": {
            "title": "Start date (optional)",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Exact start of the history, YYYY-MM-DD. Overrides \"History (days back)\". Station data: at most 366 days per run. National averages: any range since 2005."
          },
          "endDate": {
            "title": "End date (optional)",
            "pattern": "^$|^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Exact end of the history, YYYY-MM-DD. Defaults to today."
          },
          "historyInterval": {
            "title": "History interval",
            "enum": [
              "daily",
              "weekly"
            ],
            "type": "string",
            "description": "One station snapshot per day or one per week (the end date and every 7 days before it). National averages are always weekly.",
            "default": "daily"
          },
          "maxPriceAgeDays": {
            "title": "Maximum price age (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Station prices not updated for more than this many days before the snapshot date are left out (stations that stopped reporting). 0 keeps every price.",
            "default": 30
          },
          "maxRecords": {
            "title": "Maximum price records",
            "minimum": 1,
            "maximum": 2000000,
            "type": "integer",
            "description": "The run stops after saving this many rows (one row = one price of one fuel at one station or country on one date). Spain has about 11,800 stations and France about 9,800, each selling 3 to 6 fuels.",
            "default": 10000
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}