Bowmark AIdocs

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

FunctionWhat it does
searchCampgroundsGiven a free-text substring, returns every BC Parks campground whose short or full name matches, with its resourceLocationId for checkAvailability.
checkAvailabilityGiven 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 }, …]