Bowmark AIdocs

Bungalow

Bungalow's live, priced room and whole-home rental inventory and tour-booking availability, read straight off their own documented API — no key, no…

Bungalow's live, priced room and whole-home rental inventory and tour-booking availability, read straight off their own documented API — no key, no browser.

Domain: bungalow.com

Also known as: Bungalow, bungalow.com, Livebungalow

Call it directly

bowmark.providers.bungalow.listMarkets(): Promise<{ markets: BungalowMarket[] }>
bowmark.providers.bungalow.searchListings(filters: BungalowSearchFilters): Promise<BungalowSearchResult>
bowmark.providers.bungalow.getListing(slug: string): Promise<BungalowListingDetail>

Functions

FunctionWhat it does
listMarketsLists every market Bungalow currently operates in, with the slug every other function's marketSlug argument takes.
searchListingsSearches live, priced room and whole-home rental listings in one market, filterable by price, neighborhood and marketing type.
getListingReturns one listing's full detail — room-level rent and availability, amenities, promotions and tour-booking availability.

Types

interface BungalowMarket {
  slug: string;
  displayName: string;
  region: string;
  regionCode: string;
  country: string;
  countryCode: string;
}

interface BungalowListingSummary {
  id: string;
  slug: string;
  headline: string | null;
  marketingType: "co_living" | "group_living" | string;
  numBathrooms: string;
  sqft: number | null;
  city: string;
  neighborhood: string | null;
  marketSlug: string;
  marketDisplayName: string;
  isComingSoon: boolean;
}

interface BungalowSearchResult {
  listings: BungalowListingSummary[];
  count: number;
  totalMatching: number;
}

interface BungalowSearchFilters {
  marketSlug: string;
  marketingType?: "co_living" | "group_living";
  neighborhoodSlug?: string;
  minPrice?: number;
  maxPrice?: number;
  petFriendly?: boolean;
  limit?: number;
}

interface BungalowListingDetail {
  id: string;
  slug: string;
  headline: string | null;
  marketingType: "co_living" | "group_living" | string;
  totalRoomCount: number;
  availableRoomCount: number;
  earliestAvailableDate: string | null;
  roomPrices: number[];
  fullPropertyPrice: number | null;
  sqft: number | null;
  numBathrooms: string;
  amenities: unknown;
  matterportUrl: string | null;
  activePromotions: string[];
  isMeetAndGreetAvailable: boolean;
  showingsAvailable: { virtual: string | null; inPerson: string | null };
}