API reference
Locations
Last updated:
Places a driver goes: fuel stations, chargers and dealers, one ref each
- GET
/v2/locationsPlaces near a point: fuel stations, chargers and dealers - GET
/v2/locations/{id}One place by id, with each kind's detail
/v2/locationssince 2026-10-26Places near a point: fuel stations, chargers and dealers
Radius search over every place a driver goes, one `poi:{geohash}` ref per place: a gas station with chargers is one place with two kinds. A place is listed when any requested kind is live (a fuel station seen in the last 7 days, an operational charger, a dealer seen in the last 7 days). Nearest first. Each hit links to its own group's record (`links.fuel`, `links.charging`).
Query parameters
latnumberrequiredSearch-center latitude
lngnumberrequiredSearch-center longitude
radius_kmnumberoptionalSearch radius in km
kindstringoptionalOnly places of these kinds: a comma list of "fuel", "charging", "seller" (e.g. "fuel,charging")
limitintegeroptionalPlace cap
curl "https://api.cardog.app/v2/locations?lat=43.6532&lng=-79.3832&radius_km=5&kind=fuel" \
-H "x-api-key: $CARDOG_API_KEY"Response
200LocationSearchtotalintegerNumber of places returned, at most limit
locationsobject[]Nearest first
refstringEntity ref ({domain}:{key}) in the "poi" domain. Example: "poi:dpz9cxmmw0"
idstringThe place's id: a 10-character geohash of its location, the ref without "poi:" (e.g. "dpz9cxmmw0")
kinds"fuel" | "charging" | "seller"[]Every kind the place is, e.g. a gas station with chargers is ["fuel", "charging"]
namestring | nullbrandstring | nulladdressobjectstreetstring | nullcitystring | nullstatestring | nullProvince or territory code, e.g. "ON"
postalCodestring | nullcountrystring | nullCountry code (ISO 3166-1 alpha-2)
locationobjectlatitudenumberlongitudenumberdistanceKmnumberDistance from the search point, in km
linksobjectoptionalself, plus fuel (the /v2/fuel station) when kinds has fuel and charging (the /v2/charging station) when kinds has charging
asOfstringoptionalThe newest day any place was seen (YYYY-MM-DD)
linksobjectoptionalRelated resources, keyed by relation name, each a server-relative path. Example: {"recalls": "/v2/recalls/entity/model-year:toyota/rav4/2021"}
Example response
4 keysErrors400401402429500every non-2xx body is the error envelope
/v2/locations/{id}since 2026-10-26One place by id, with each kind's detail
The id is the place's 10-character geohash: its ref without "poi:" (e.g. `dpz9cxmmw0`). Anything else is a 404. Each kind's block (`fuel`, `charging`, `sellers`) is in its own group's shape, or null when the place is not that kind. One place can hold several dealers (an auto mall): `sellers.dealers` lists those seen in the last 7 days. The charging block carries the Open Charge Map attribution (ODbL 1.0); show it wherever station data renders.
Path parameters
idstringrequiredPlace id: a 10-character geohash, the ref without "poi:" (e.g. "dpz9cxmmw0")
curl "https://api.cardog.app/v2/locations/dpz9cxmmw0" \
-H "x-api-key: $CARDOG_API_KEY"Response
200LocationDetailResponselocationobjectrefstringEntity ref ({domain}:{key}) in the "poi" domain. Example: "poi:dpz9cxmmw0"
idstringThe place's id: a 10-character geohash of its location, the ref without "poi:" (e.g. "dpz9cxmmw0")
kinds"fuel" | "charging" | "seller"[]Every kind the place is, e.g. a gas station with chargers is ["fuel", "charging"]
namestring | nullbrandstring | nulladdressobjectstreetstring | nullcitystring | nullstatestring | nullProvince or territory code, e.g. "ON"
postalCodestring | nullcountrystring | nullCountry code (ISO 3166-1 alpha-2)
locationobjectlatitudenumberlongitudenumberfuelobject | nullFuel detail, or null when the place is not a fuel station
fuels"regular" | "midgrade" | "premium" | "diesel" | "e85" | "propane"[]Fuels the station sells
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
fuelTypestringFuel-type entity ref, e.g. "fuel-type:gasoline"
payment"credit" | "cash"Price paying by card or by cash; most stations post credit only
centsPerLitrenumberPosted price, Canadian cents per litre
currency"CAD"postedAtstringWhen the price was posted (ISO 8601)
reportedBystring | nullWho posted it: "owner" (the station) or "member" / "visitor" (a driver). Other values may be added.
amenitiesstring[]e.g. "c_store", "pay_at_pump", "restrooms". Other values may be added.
openingHoursstring | nullchargingobject | nullCharging stations here, or null when there are none
stationsobject[]refstringEntity ref ({domain}:{key}) in the "station" domain. Example: "station:ocm/248113"
idstringStation id in the source dataset (Open Charge Map ChargePoint ID)
namestring | nulladdressobjectlocationobjectconnectorsobject[]maxPowerKwnumber | nullHighest rated power of any connector at the station, in kW
numberOfPointsinteger | nullNumber of charge points at the station
operatorstring | nullstatusstringStation status: "Operational" or "NonOperational". Decommissioned stations are kept in the dataset, so filter on this field.
usagestring | nullUsage class, e.g. "Public", "Private - Restricted Access"
isMembershipRequiredboolean | nullisPayAtLocationboolean | nulldateCreatedstring | nullWhen the source first recorded the station (ISO 8601)
dateLastVerifiedstring | nullLast source verification (ISO 8601)
poistring | nullThe place this station is at: a poi:{geohash} ref, readable at /v2/locations/{geohash}. A fuel station or dealer at the same spot shares it. Null when the station has no place.
linksobjectoptionalRelated resources, keyed by relation name, each a server-relative path. Example: {"recalls": "/v2/recalls/entity/model-year:toyota/rav4/2021"}
attributionstringOpen Charge Map attribution string (ODbL 1.0 licence). Must be shown wherever station data is displayed.
sellersobject | nullThe dealers here seen in the last 7 days, or null when there are none
dealersobject[]orgstringThe dealer organization's ref, e.g. "org:cardog/0b6f…"
namestring | nulllinksobjectoptionalself, plus fuel and charging as on a search hit
asOfstringoptionalThe newest day any place was seen (YYYY-MM-DD)
Example response
2 keysErrors400401402404429500every 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/locations.md
Was this helpful?