BC Parks Camping (Discover Camping)
camping.bcparks.ca's own reservation API (Discover Camping) — find a provincial park campground by name, then read its real per-site, per-night…
camping.bcparks.ca's own reservation API (Discover Camping) — find a provincial park campground by name, then read its real per-site, per-night availability for a stay.
Domain: camping.bcparks.ca
Also known as: BC Parks, BC Parks Camping, Discover Camping, camping.bcparks.ca, bcparks.ca
Call it directly
bowmark.providers.bcparkscamping.searchCampgrounds(query: string): Promise<BcParksCampground[]>
bowmark.providers.bcparkscamping.checkAvailability(arg: { resourceLocationId: number, startDate: string, endDate: string }): Promise<BcParksAvailabilityResult>Functions
| Function | What it does |
|---|---|
searchCampgrounds | Given a free-text substring, returns every BC Parks campground whose short or full name matches, with its resourceLocationId for checkAvailability. |
checkAvailability | Given a campground's resourceLocationId and a date range, returns each individual campsite's real per-night availability for that stay. |
Types
interface BcParksCampground {
resourceLocationId: number;
name: string;
fullName: string;
}
interface BcParksSiteAvailability {
resourceId: number;
siteName: string | null;
nightsRequested: number;
nightsAvailable: number;
fullyAvailable: boolean;
}
interface BcParksAvailabilityResult {
resourceLocationId: number;
startDate: string;
endDate: string;
nights: number;
sites: BcParksSiteAvailability[];
}Examples
const parks = await bowmark.providers.bcparkscamping.searchCampgrounds("Bamberton");
// parks -> [{ resourceLocationId: -2147483646, name: "Bamberton", fullName: "Bamberton Provincial Park" }]
const result = await bowmark.providers.bcparkscamping.checkAvailability({
resourceLocationId: -2147483646, startDate: "2026-09-05", endDate: "2026-09-07",
});
// result.sites -> [{ resourceId: -2147483534, siteName: "7", nightsAvailable: 2, nightsRequested: 2, fullyAvailable: true }, …]