API reference

Fuel

Last updated:

Fuel stations and pump prices in Canada

GET/v2/fuel/stationssince 2026-10-26

Fuel stations near a point, with current prices

Radius search over our daily snapshot of Canadian fuel stations — no live upstream. Each station carries its current posted prices (newest post per fuel and payment, at most 7 days old) in Canadian cents per litre. Nearest first, or cheapest first with `sort=price` and a `fuel`.

Query parameters

latnumberrequired

Search-center latitude

lngnumberrequired

Search-center longitude

radius_kmnumberoptional

Search radius in km

fuel"regular" | "midgrade" | "premium" | "diesel" | "e85" | "propane"optional

Only stations with a current price for this fuel

sort"distance" | "price"optional

Nearest first, or cheapest current credit price first (needs fuel)

limitintegeroptional

Station cap

curl "https://api.cardog.app/v2/fuel/stations?lat=43.6532&lng=-79.3832&radius_km=5&fuel=regular" \
  -H "x-api-key: $CARDOG_API_KEY"

Response

200FuelStationSearch
totalinteger

Number of stations returned, at most limit

stationsobject[]
refstring

Entity ref ({domain}:{key}) in the "poi" domain. Example: "poi:dpz9cxmmw0"

idstring

The station's id: a 10-character geohash of its location, the ref without "poi:" (e.g. "dpz9cxmmw0")

namestring | null
brandstring | null
addressobject
streetstring | null
citystring | null
statestring | null

Province or territory code, e.g. "ON"

postalCodestring | null
countrystring | null

Country code (ISO 3166-1 alpha-2)

locationobject
latitudenumber
longitudenumber
fuels"regular" | "midgrade" | "premium" | "diesel" | "e85" | "propane"[]

Fuels the station sells

amenitiesstring[]

e.g. "c_store", "pay_at_pump", "restrooms". Other values may be added.

openingHoursstring | null
pricesobject[]

Current prices: the newest post per fuel and payment, at most 7 days old

fuel"regular" | "midgrade" | "premium" | "diesel" | "e85" | "propane"

Fuel: a gasoline grade (regular, midgrade, premium) or diesel, e85, propane

fuelTypestring

Fuel-type entity ref, e.g. "fuel-type:gasoline"

payment"credit" | "cash"

Price paying by card or by cash; most stations post credit only

centsPerLitrenumber

Posted price, Canadian cents per litre

currency"CAD"
postedAtstring

When the price was posted (ISO 8601)

reportedBystring | null

Who posted it: "owner" (the station) or "member" / "visitor" (a driver). Other values may be added.

lastSeenstring

The newest daily snapshot the station appeared in (YYYY-MM-DD)

distanceKmnumberoptional

Distance from the search point, in km (search results only)

linksobjectoptional

Related resources, keyed by relation name, each a server-relative path. Example: {"recalls": "/v2/recalls/entity/model-year:toyota/rav4/2021"}

asOfstringoptional

The newest daily snapshot served (YYYY-MM-DD)

linksobjectoptional

Related resources, keyed by relation name, each a server-relative path. Example: {"recalls": "/v2/recalls/entity/model-year:toyota/rav4/2021"}

Example response

4 keys
"response": {
"total": 5,
"stations": [
0: {13 items},
1: {13 items},
2: {13 items},
3: {13 items},
4: {13 items}
],
"asOf": "2026-10-25",
"links": {
"self": "/v2/fuel/stations"
}
}

Errors400401402429500every non-2xx body is the error envelope

GET/v2/fuel/stations/{id}since 2026-10-26

One fuel station by id, with current prices

The id is the station's 10-character geohash: its ref without "poi:" (e.g. `dpz9cxmmw0` for `poi:dpz9cxmmw0`). Anything else is a 404.

Path parameters

idstringrequired

Station id: a 10-character geohash, the ref without "poi:" (e.g. "dpz9cxmmw0")

curl "https://api.cardog.app/v2/fuel/stations/dpz9cxmmw0" \
  -H "x-api-key: $CARDOG_API_KEY"

Response

200FuelStationDetail
stationobject
refstring

Entity ref ({domain}:{key}) in the "poi" domain. Example: "poi:dpz9cxmmw0"

idstring

The station's id: a 10-character geohash of its location, the ref without "poi:" (e.g. "dpz9cxmmw0")

namestring | null
brandstring | null
addressobject
streetstring | null
citystring | null
statestring | null

Province or territory code, e.g. "ON"

postalCodestring | null
countrystring | null

Country code (ISO 3166-1 alpha-2)

locationobject
latitudenumber
longitudenumber
fuels"regular" | "midgrade" | "premium" | "diesel" | "e85" | "propane"[]

Fuels the station sells

amenitiesstring[]

e.g. "c_store", "pay_at_pump", "restrooms". Other values may be added.

openingHoursstring | null
pricesobject[]

Current prices: the newest post per fuel and payment, at most 7 days old

fuel"regular" | "midgrade" | "premium" | "diesel" | "e85" | "propane"

Fuel: a gasoline grade (regular, midgrade, premium) or diesel, e85, propane

fuelTypestring

Fuel-type entity ref, e.g. "fuel-type:gasoline"

payment"credit" | "cash"

Price paying by card or by cash; most stations post credit only

centsPerLitrenumber

Posted price, Canadian cents per litre

currency"CAD"
postedAtstring

When the price was posted (ISO 8601)

reportedBystring | null

Who posted it: "owner" (the station) or "member" / "visitor" (a driver). Other values may be added.

lastSeenstring

The newest daily snapshot the station appeared in (YYYY-MM-DD)

distanceKmnumberoptional

Distance from the search point, in km (search results only)

linksobjectoptional

Related resources, keyed by relation name, each a server-relative path. Example: {"recalls": "/v2/recalls/entity/model-year:toyota/rav4/2021"}

asOfstringoptional

The newest daily snapshot served (YYYY-MM-DD)

Example response

2 keys
"response": {
"station": {
"ref": "poi:dpz9cxmmw0",
"id": "dpz9cxmmw0",
"name": "BVD Travel Centre",
"brand": "BVD Travel Centre",
"address": {5 items},
"location": {2 items},
"fuels": [4 items],
"amenities": [4 items],
"openingHours": "24/7",
"prices": [4 items],
"lastSeen": "2026-10-25",
"links": {1 item}
},
"asOf": "2026-10-25"
}

Errors400401402404429500every non-2xx body is the error envelope

GET/v2/fuel/pricessince 2026-10-26

Daily pump prices for Canada, a province or a postal FSA

The daily median, p10, p90 and mean of current credit prices across stations in an area, for one fuel, oldest first. Areas: `CA`, a province (`CA-ON`), or a forward sortation area (`L3Y`, the first three characters of a postal code).

Query parameters

areastringoptional

"CA", a province like "CA-ON", or an FSA like "L3Y"

fuel"regular" | "midgrade" | "premium" | "diesel" | "e85" | "propane"optional

Fuel

daysintegeroptional

Days of history

curl "https://api.cardog.app/v2/fuel/prices?area=CA-ON&fuel=regular&days=30" \
  -H "x-api-key: $CARDOG_API_KEY"

Response

200FuelPrices
areastring
areaKind"country" | "province" | "fsa"
fuel"regular" | "midgrade" | "premium" | "diesel" | "e85" | "propane"

Fuel: a gasoline grade (regular, midgrade, premium) or diesel, e85, propane

fuelTypestring

Fuel-type entity ref, e.g. "fuel-type:gasoline"

currency"CAD"
latestobject | null

The newest day in the series, or null when the area has no prices

datestring

YYYY-MM-DD

stationsinteger

Stations with a current credit price that day

medianCentsPerLitrenumber
p10CentsPerLitrenumber

10th percentile: the cheap end

p90CentsPerLitrenumber

90th percentile: the expensive end

meanCentsPerLitrenumber
seriesobject[]

One entry per day with prices, oldest first

datestring

YYYY-MM-DD

stationsinteger

Stations with a current credit price that day

medianCentsPerLitrenumber
p10CentsPerLitrenumber

10th percentile: the cheap end

p90CentsPerLitrenumber

90th percentile: the expensive end

meanCentsPerLitrenumber
asOfstringoptional

The newest daily snapshot served (YYYY-MM-DD)

linksobjectoptional

Related resources, keyed by relation name, each a server-relative path. Example: {"recalls": "/v2/recalls/entity/model-year:toyota/rav4/2021"}

Example response

9 keys
"response": {
"area": "CA-ON",
"areaKind": "province",
"fuel": "regular",
"fuelType": "fuel-type:gasoline",
"currency": "CAD",
"latest": {
"date": "2026-10-25",
"stations": 2803,
"medianCentsPerLitre": 168.9,
"p10CentsPerLitre": 159.8,
"p90CentsPerLitre": 175.9,
"meanCentsPerLitre": 168.8
},
"series": [
0: {6 items}
],
"asOf": "2026-10-25",
"links": {
"self": "/v2/fuel/prices"
}
}

Errors400401402429500every non-2xx body is the error envelope

Generated from the contract. Machine-readable spec: GET https://api.cardog.app/v2/openapi.json · markdown twin: /docs/reference/fuel.md