{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Fuel Prices: Spain, France, Italy (official open data)",
    "description": "Current petrol, diesel, LPG and CNG prices of ~45,000 fuel stations in Spain, France and Italy in ONE normalized format. Official open data. Search by radius, city or postcode; track price changes.",
    "version": "1.0",
    "x-build-id": "TIsi8Y0C9fUlg5oqo"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/italy~eu-fuel-prices/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-italy-eu-fuel-prices",
        "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/italy~eu-fuel-prices/runs": {
      "post": {
        "operationId": "runs-sync-italy-eu-fuel-prices",
        "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/italy~eu-fuel-prices/run-sync": {
      "post": {
        "operationId": "run-sync-italy-eu-fuel-prices",
        "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": "Which countries to read. Each country is loaded completely from its official source, then filtered.",
            "items": {
              "type": "string",
              "enum": [
                "ES",
                "FR",
                "IT"
              ],
              "enumTitles": [
                "Spain",
                "France",
                "Italy"
              ]
            },
            "default": [
              "ES"
            ]
          },
          "fuelTypes": {
            "title": "Fuel types (optional)",
            "type": "array",
            "description": "Only stations with these fuels, and only these fuels in the result. Leave empty for all. With several fuels, 'sort by price' uses the first one.",
            "items": {
              "type": "string",
              "enum": [
                "petrol95",
                "petrol95E10",
                "petrolPremium",
                "petrol98",
                "diesel",
                "dieselPremium",
                "lpg",
                "cng",
                "lng",
                "e85",
                "hvo",
                "hydrogen"
              ],
              "enumTitles": [
                "Petrol 95 (E5)",
                "Petrol 95 E10 (and E25)",
                "Petrol 95 premium",
                "Petrol 98",
                "Diesel",
                "Diesel premium",
                "LPG",
                "CNG (natural gas)",
                "LNG",
                "E85 (ethanol)",
                "HVO / renewable diesel",
                "Hydrogen"
              ]
            }
          },
          "latitude": {
            "title": "Search centre: latitude (optional)",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Together with longitude and radius: only stations within the radius of this point. Example: 41.3874 (Barcelona)."
          },
          "longitude": {
            "title": "Search centre: longitude (optional)",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Example: 2.1686 (Barcelona)."
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0.1,
            "maximum": 1000,
            "type": "number",
            "description": "Search radius around the centre point. Ignored without latitude and longitude.",
            "default": 10
          },
          "place": {
            "title": "City, province or street contains (optional)",
            "type": "string",
            "description": "Case- and accent-insensitive text match on city, province/department, region and address. Example: Girona, Lyon, Torino, Palermo."
          },
          "postalCodePrefixes": {
            "title": "Postal code starts with (optional)",
            "type": "array",
            "description": "For example 08 (Barcelona province), 75 (Paris), 4780. Empty = no filter.",
            "items": {
              "type": "string"
            }
          },
          "brands": {
            "title": "Brands (optional)",
            "type": "array",
            "description": "Only stations whose brand or name contains one of these words, for example repsol, total, eni, eni.",
            "items": {
              "type": "string"
            }
          },
          "maxPrice": {
            "title": "Maximum price per unit (optional)",
            "minimum": 0,
            "type": "number",
            "description": "Drop prices above this value (EUR per litre; per kg for CNG, LNG and hydrogen). Stations with no remaining price are left out."
          },
          "maxPriceAgeDays": {
            "title": "Ignore prices older than (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Stations sometimes keep a price that has not been updated for weeks. Those are dropped by default. Set 0 to keep everything.",
            "default": 7
          },
          "includeRestricted": {
            "title": "Include stations that are not open to the public",
            "type": "boolean",
            "description": "Spain flags stations that sell only to members or fleets (for example supermarket or company pumps). Off by default.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "auto",
              "price",
              "distance",
              "none"
            ],
            "type": "string",
            "description": "'Automatic' = by distance when a centre point is given, otherwise by price when fuel types are chosen.",
            "default": "auto"
          },
          "outputFormat": {
            "title": "Output format",
            "enum": [
              "stations",
              "prices"
            ],
            "type": "string",
            "description": "One record per station (all prices inside), or one flat row per station and fuel (best for spreadsheets and databases).",
            "default": "stations"
          },
          "onlyChanges": {
            "title": "Only new stations and price changes since my last run",
            "type": "boolean",
            "description": "Remembers the last delivered prices between runs (per country) and returns only stations that are new or whose price for the chosen fuels changed. Ideal for scheduled runs and price alerts. The first run returns everything.",
            "default": false
          },
          "trackingName": {
            "title": "Tracking name (for change tracking)",
            "type": "string",
            "description": "Name of this watch list. Use a different name for each scheduled task that has different filters, so their remembered prices do not mix. Letters, numbers and dashes.",
            "default": "default"
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Stops after this many records (stations, or price rows). Protects you from unexpected cost.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy (optional)",
            "type": "object",
            "description": "Normally not needed. If a government server refuses the connection from outside its country, choose Apify Proxy and a country code."
          },
          "sources": {
            "title": "Source URLs (advanced, for testing)",
            "type": "object",
            "description": "Override the data source URLs. Leave empty.",
            "default": {}
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}