Discover/Metro API
live

Metro APImetro.sk

Check current fuel prices at Metro Cash & Carry gas stations throughout Slovakia and locate available stores in your area. Get real-time pricing information to find the best deals at participating Metro locations.

Endpoint health
monitored
get_fuel_prices
list_stores
Checks pendingself-healing
Endpoints
2
Updated
3h ago
Try it
URL slug identifying the Metro store. Lowercase letters, digits, and hyphens only (e.g. 'ivanka-pri-dunaji', 'zilina', 'devinska-nova-ves', 'nitra', 'zvolen', 'kosice'). Obtain from list_stores endpoint.
api.parse.bot/scraper/01bbd94b-dac3-4624-8a33-058451ec59a7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/01bbd94b-dac3-4624-8a33-058451ec59a7/get_fuel_prices?store_slug=ivanka-pri-dunaji' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace metro-sk-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: Metro Slovakia fuel prices — list stations, check prices."""
from parse_apis.metro_sk_api import MetroFuel, StoreNotFound

client = MetroFuel()

# List all Metro gas stations in Slovakia
for store in client.stores.list(limit=6):
    print(store.store_slug, store.latitude, store.longitude)

# Get fuel prices for a specific store via constructible navigation
station = client.store("ivanka-pri-dunaji")
report = station.fuel_prices()
print(report.store_name, report.store_slug)
for fuel in report.fuel_prices:
    print(fuel.fuel_type, fuel.price, fuel.unit)

# Handle a non-existent store gracefully
try:
    bad_station = client.store("non-existent-store")
    bad_station.fuel_prices()
except StoreNotFound as exc:
    print(f"Store not found: {exc.store_slug}")

print("exercised: stores.list / store.fuel_prices / StoreNotFound error")
All endpoints · 2 totalmissing one? ·

Retrieve current fuel prices for a specific Metro store's gas station. Returns prices for all available fuel types (Natural 95, Nafta diesel, Super benzín 95, Super nafta) with their EUR/l pricing. Each store page is fetched and parsed for the fuel-prices section.

Input
ParamTypeDescription
store_slugstringURL slug identifying the Metro store. Lowercase letters, digits, and hyphens only (e.g. 'ivanka-pri-dunaji', 'zilina', 'devinska-nova-ves', 'nitra', 'zvolen', 'kosice'). Obtain from list_stores endpoint.
Response
{
  "type": "object",
  "fields": {
    "store_name": "string",
    "store_slug": "string",
    "fuel_prices": "array of fuel price objects with fuel_type, price, and unit"
  },
  "sample": {
    "data": {
      "store_name": "Ivanka pri Dunaji",
      "store_slug": "ivanka-pri-dunaji",
      "fuel_prices": [
        {
          "unit": "EUR/l",
          "price": "1,59",
          "fuel_type": "Natural 95"
        },
        {
          "unit": "EUR/l",
          "price": "1,51",
          "fuel_type": "Nafta diesel"
        },
        {
          "unit": "EUR/l",
          "price": "1,62",
          "fuel_type": "Super benzín 95"
        },
        {
          "unit": "EUR/l",
          "price": "1,54",
          "fuel_type": "Super nafta"
        }
      ]
    },
    "status": "success"
  }
}

About the Metro API

The Metro API on Parse exposes 2 endpoints for the publicly available data on metro.sk. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.