Discover/PetrolSpy API
live

PetrolSpy APIpetrolspy.com.au

Access real-time Australian fuel prices via the PetrolSpy API. Search stations by bounding box, compare prices by fuel type, and get full station details.

This API takes change requests — .
Endpoint health
verified 3d ago
get_station_details
get_cheapest_prices
search_stations
3/3 passing latest checkself-healing
Endpoints
3
Updated
1mo ago

What is the PetrolSpy API?

The PetrolSpy API provides real-time fuel price data from petrol stations across Australia through 3 endpoints. Use search_stations to retrieve all stations within a geographic bounding box along with their prices for every available fuel type, get_cheapest_prices to rank stations by lowest price for a specific fuel type, or get_station_details to pull complete pricing, trading hours, and amenity data for a single station by its PetrolSpy ID.

This call costs1 credit / call— charged only on success
Try it
Maximum number of stations to return.
Northeast corner latitude of the bounding box (decimal degrees, e.g. -33.76).
Northeast corner longitude of the bounding box (decimal degrees, e.g. 151.07).
Southwest corner latitude of the bounding box (decimal degrees, e.g. -33.86).
Southwest corner longitude of the bounding box (decimal degrees, e.g. 150.94).
Fuel type to sort stations by price.
api.parse.bot/scraper/7bf5e451-0619-4e7d-85d9-3c57a1ce5738/<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/7bf5e451-0619-4e7d-85d9-3c57a1ce5738/search_stations?limit=10&ne_lat=-33.76&ne_lng=151.07&sw_lat=-33.86&sw_lng=150.94&fuel_type=E10' \
  -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 petrolspy-com-au-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: PetrolSpy SDK — find cheapest fuel in Australian areas."""
from parse_apis.petrolspy_com_au_api import PetrolSpy, FuelType, StationNotFound

client = PetrolSpy()

# Search stations in the Parramatta/Western Sydney area, sorted by E10 price
for station in client.stations.search(
    ne_lat="-33.76", ne_lng="151.07", sw_lat="-33.86", sw_lng="150.94",
    fuel_type=FuelType.E10, limit=3
):
    print(station.name, station.brand, station.fuel_price)
    for fuel, fp in station.prices.items():
        print(f"  {fuel}: {fp.amount} cents/L (reported by {fp.reported_by})")

# Find cheapest U91 prices in the same area
cheapest = client.stations.cheapest(
    ne_lat="-33.76", ne_lng="151.07", sw_lat="-33.86", sw_lng="150.94",
    fuel_type=FuelType.U91, limit=1
).first()

# Drill into station details from cheapest price result
if cheapest:
    try:
        detail = cheapest.details(
            ne_lat="-33.76", ne_lng="151.07", sw_lat="-33.86", sw_lng="150.94"
        )
        print(detail.name, detail.address, detail.suburb, detail.open_24h)
    except StationNotFound as exc:
        print(f"Station no longer available: {exc}")

print("exercised: stations.search / stations.cheapest / cheapest.details / FuelPrice access")
All endpoints · 3 totalmissing one? ·

Search for fuel stations within a geographic bounding box. Returns stations with all available fuel prices, sorted by the requested fuel type price (cheapest first). Stations without the requested fuel type appear at the end.

Input
ParamTypeDescription
limitintegerMaximum number of stations to return.
ne_latrequiredstringNortheast corner latitude of the bounding box (decimal degrees, e.g. -33.76).
ne_lngrequiredstringNortheast corner longitude of the bounding box (decimal degrees, e.g. 151.07).
sw_latrequiredstringSouthwest corner latitude of the bounding box (decimal degrees, e.g. -33.86).
sw_lngrequiredstringSouthwest corner longitude of the bounding box (decimal degrees, e.g. 150.94).
fuel_typestringFuel type to sort stations by price.
Response
{
  "type": "object",
  "fields": {
    "stations": "array of station objects with id, name, brand, address, suburb, state, post_code, country, latitude, longitude, phone, open_24h, has_restrooms, is_adblue_available, fuel_price, and prices",
    "fuel_type": "string",
    "total_stations": "integer"
  },
  "sample": {
    "data": {
      "stations": [
        {
          "id": "523274ca036466fee4985694",
          "name": "Speedway Petroleum",
          "brand": "SPEEDWAY",
          "phone": "0297251816",
          "state": "NSW",
          "prices": {
            "E10": {
              "amount": 157.5,
              "updated": 1783693866275,
              "reported_by": "NSW Gov Open Data Fuel API"
            },
            "DIESEL": {
              "amount": 177.5,
              "updated": 1783693866275,
              "reported_by": "NSW Gov Open Data Fuel API"
            }
          },
          "suburb": "Smithfield",
          "address": "26-28 Cumberland Highway Cnr Victoria St",
          "country": "AU",
          "latitude": -33.851585,
          "open_24h": false,
          "longitude": 150.942796,
          "post_code": "2164",
          "fuel_price": 157.5,
          "has_restrooms": false,
          "is_adblue_available": true
        }
      ],
      "fuel_type": "E10",
      "total_stations": 5
    },
    "status": "success"
  }
}

About the PetrolSpy API

What the API Returns

All three endpoints work with a geographic bounding box defined by four required parameters — ne_lat, ne_lng, sw_lat, and sw_lng — expressed as decimal-degree coordinates. search_stations returns an array of station objects, each carrying fields including id, name, brand, address, suburb, state, post_code, latitude, longitude, phone, open_24h, and all available fuel prices. Results are sorted by price for the requested fuel_type; stations that do not carry that fuel type appear at the end of the list.

Cheapest Prices Endpoint

get_cheapest_prices filters to only those stations that stock the specified fuel_type and returns them sorted ascending by price. Each record in cheapest_prices includes station_id, station_name, brand, address, suburb, state, post_code, latitude, longitude, price, and an updated timestamp indicating how fresh the reading is. An optional limit parameter controls how many results are returned, making it straightforward to retrieve, say, the five cheapest stations in a given area.

Station Detail Endpoint

get_station_details accepts a station_id (alphanumeric, e.g. 523274ca036466fee4985694) obtainable from either of the other endpoints, plus the bounding box that contains the station. It returns the full station record: all fuel types mapped to price objects that include amount, updated, and reported_by, plus trading hours and amenities. This is the only endpoint that exposes the reported_by field, showing which community member last submitted a price update.

Reliability & maintenanceVerified

The PetrolSpy API is a managed, monitored endpoint for petrolspy.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when petrolspy.com.au changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official petrolspy.com.au API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a fuel price comparison app that maps the cheapest stations for E10, 91, 95, 98, or diesel within a user's visible map area.
  • Alert users when a fuel price in their suburb drops below a set threshold by polling get_cheapest_prices on a schedule.
  • Populate a fleet management dashboard with current diesel prices across multiple Australian states using bounding-box queries.
  • Display station amenities and full trading hours in a route-planning tool using get_station_details for each stop.
  • Analyse regional fuel price trends by recording price and updated timestamps from search_stations queries over time.
  • Show drivers the nearest 24-hour petrol stations with the open_24h field returned by search_stations.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does PetrolSpy have an official developer API?+
PetrolSpy does not publish an official public developer API or documented REST endpoints for third-party use. The data exposed here is sourced from PetrolSpy's public-facing platform at petrolspy.com.au.
What does the `reported_by` field in `get_station_details` tell me?+
reported_by appears inside each fuel-type price object and identifies the community contributor who last submitted that price reading. It is only available from get_station_details, not from search_stations or get_cheapest_prices.
How current are the fuel prices returned?+
Each price record includes an updated timestamp (returned as the updated field in get_cheapest_prices and as updated inside the prices object in get_station_details). PetrolSpy relies on community-reported prices, so freshness varies by station and location — popular urban stations tend to have more recent updates than rural ones.
Does the API cover all Australian states and territories?+
Coverage depends on the bounding box you supply and the community-reported data available on PetrolSpy for that region. Dense metro areas like Sydney, Melbourne, and Brisbane have broad coverage; remote areas may return fewer stations or stale prices. The API does not filter or restrict by state — any region in Australia reachable via a valid bounding box is queryable.
Can I retrieve historical fuel price data or price trends over time?+
Not currently. All three endpoints return the most recent reported price for each fuel type at each station; there is no historical series or trend endpoint. You can fork this API on Parse and revise it to add a time-series recording endpoint if your use case requires historical data.
Page content last updated . Spec covers 3 endpoints from petrolspy.com.au.
Related APIs in Maps GeoSee all →
fuelwatch.gov.sg API
Find fuel prices across Western Australia by searching stations by suburb, comparing daily and monthly price trends, and viewing detailed station information. Track fuel price movements across different regions and fuel types to identify the cheapest options nearby.
gasbuddy.com API
Find the cheapest gas prices in your area by fuel type, then view detailed station information including amenities and customer reviews. Compare prices across multiple stations to save money on your next fill-up.
pl.fuelo.net API
Find real-time fuel prices and gas station information across Poland by accessing comprehensive pricing data from Fuelo.net's network of retail stations. Compare prices and locate specific station details to make informed decisions about where to refuel.
ocu.org API
Find real-time gas prices and locations at stations across Spain by searching your address or postal code, with filtering options by fuel type, brand, and distance radius. Compare prices per liter, calculate total tank costs, and get detailed station information including coordinates and price ratings to find the best deals near you.
metro.sk API
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.
gasprices.aaa.com API
Access national, state, and metro-level gas prices from AAA in real time. Compare fuel costs across regions, view historical price trends, check EV charging rates, and browse the latest AAA fuel market news.
cne.gob.mx API
Track current gasoline and diesel prices across all Mexican gas stations by state and municipality, helping you find the best fuel deals in real time. Compare Regular and Premium gasoline options alongside diesel prices at specific locations to optimize your fuel spending.
plugshare.com API
Search for EV charging stations worldwide by location and radius. Retrieve real-time availability, connector types, user reviews, and amenity details for any station. Filter by residential or commercial property type to find chargers at apartment complexes, parking facilities, and more.