{"id":16610,"date":"2020-02-25T11:07:47","date_gmt":"2020-02-25T19:07:47","guid":{"rendered":"https:\/\/liv.rent\/blog\/?p=16610"},"modified":"2026-08-28T12:44:04","modified_gmt":"2026-08-28T19:44:04","slug":"neighbourhood-guide-new-westminster","status":"publish","type":"post","link":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/","title":{"rendered":"Neighbourhood Guide: New Westminster"},"content":{"rendered":"\n<p>New Westminster was founded in 1858 as the original capital city of B.C. by a group of British military engineers called the Sappers, who set up camp where the majestic Fraser River splits north and south. Today, the vibrant city is a destination for foodies and history aficionados alike thanks to its famed brewery district and a scenic waterfront \u2013 not to mention its thriving rental scene. In this post, <a rel=\"noreferrer noopener\" aria-label=\"liv.rent (opens in a new tab)\" href=\"https:\/\/liv.rent\" target=\"_blank\">liv.rent<\/a> will look at some of New Westminster&#8217;s most popular neighbourhoods for renters to give you an idea of why the city has emerged as one of Metro Vancouver&#8217;s premier rental destinations.<\/p>\n\n\n\n<br>\n<h2 style=\"text-align: center;\" id=\"toc\"><strong>Table of Contents<\/strong><\/h2>\n\n\n\n<div style=\"border: 1px solid black; text-align: center; margin: 20px 0%; padding: 20px\">\n\n<p style=\"text-align: center;\"><strong><a href=\"#living-in-new-west\">What is it like to live in New Westminster, BC?<\/a><\/strong><\/p>\n\n<p style=\"text-align: center;\"><strong><a href=\"#average-rent\">Average rent in New Westminster<\/a><\/strong><\/p>\n\n<p style=\"text-align: center;\"><strong><a href=\"#house-prices\">Average house prices in New Westminster<\/a><\/strong><\/p>\n\n<p style=\"text-align: center;\"><strong><a href=\"#neighbourhoods\">New Westminster Neighbourhoods<\/a><\/strong><\/p>\n\n<p style=\"text-align: center;\"><strong><a href=\"#brow-of-the-hill\">Brow of the Hill<\/a><\/strong><\/p>\n\n<p style=\"text-align: center;\"><strong><a href=\"#downtown\">Downtown New Westminster<\/a><\/strong><\/p>\n\n<p style=\"text-align: center;\"><strong><a href=\"#uptown\">Uptown<\/a><\/strong><\/p>\n\n<p style=\"text-align: center;\"><strong><a href=\"#sapperton\">Sapperton<\/a><\/strong><\/p>\n\n<p style=\"text-align: center;\"><strong><a href=\"#glenbrooke-south\">Glenbrooke South<\/a><\/strong><\/p>\n\n<p style=\"text-align: center;\"><strong><a href=\"#brunette-creek\">Brunette Creek<\/a><\/strong><\/p>\n\n<\/div>\n\n\n\n<br>\n<style>\n.background-renter-cta-trusted-website {\n  text-align: center;\n  color: #303030;\n  font-family: 'Inter', sans-serif;\n  font-size: 24px;\n}\n\n.cta-block-renter-cta-trusted-website p{\n  font-family: 'Inter', sans-serif;\n  color: #303030; \n  font-weight: 400;\n  text-align: center; \n  font-size: 16px;\n}\n.cta-block-renter-cta-trusted-website li{\n  font-family: 'Inter', sans-serif;\n  color: #303030; \n  font-weight: 400;\n  text-align: center; \n  font-size: 16px;\n}\n.cta-block-renter-cta-trusted-website {\n  background-color: #F5F5F5;\n  border-radius: 16px;\n  padding: 30px;\n  text-align: center;\n  margin: 20px 0px;\n}\n.button-renter-cta-trusted-website {\n  margin-top: 20px;\n  padding: 12px 16px;\n  background: #1D415E;\n  border: 0px solid white;\n  box-shadow: 0px 6px 8px -2px rgba(29, 66, 94, 0.4), 0px 12px 16px rgba(32, 121, 193, 0.15);\n  border-radius: 6px;\n  cursor: pointer;\n  \n  font-family: 'Inter';\n  font-style: normal;\n  font-weight: 600;\n  font-size: 14px;\n  line-height: 16px;\n  text-align: center;\n  color: #FFFFFF;\n\n}\n  \n<\/style>\n\n<div class=\"background-renter-cta-trusted-website cta-block-renter-cta-trusted-website\">\n<h3><strong>liv.rent &#8211; Canada&#8217;s trusted house &amp; apartment rental website<\/strong><\/h3>\n\n<p>Search apartments, condos, and homes for rent.<\/p>\n<br>\n<li><b>Verified Landlords:<\/b> Rent from a trusted landlord. Look for the &#8220;<a href=\"https:\/\/liv.rent\/blog\/livrent\/rental-verification-process\/\" target=\"_blank\" rel=\"noopener noreferrer\">ID Verified<\/a>&#8221; tag to identify which landlords have been pre-screened.<\/li>\n<li><b>Quality Rentals:<\/b> Browse listings that have been checked by our team. Verified by official documents or by mail.<\/li>\n<li><b>One-Click Applications:<\/b> Fill out your <a href=\"https:\/\/liv.rent\/blog\/livrent\/apply-to-multiple-listings\/\" target=\"_blank\" rel=\"noopener noreferrer\">Renter Resume<\/a> once and apply to multiple listings in just a few clicks.<\/li>\n\n<a href=\"https:\/\/liv.rent\/\" target=\"_blank\" rel=\"noopener noreferrer\"><button id=\"button-renter-cta-trusted-website\" class=\"button-renter-cta-trusted-website\">Find Rentals Near You<\/button><\/a>\n<\/ul><\/div>\n\n\n\n<br><h2 id=\"living-in-new-west\">What is it like to live in New Westminster, BC?<\/h2>\n\n\n\n<p>It&#8217;s no wonder why young professionals from across Metro Vancouver are flocking to New Westminster in droves. The city has something to offer just about everyone, combining the best of the big city with proximity to some of B.C.&#8217;s best parks, trails, and its famous riverside. Let&#8217;s break it down now to see what New West has to offer its residents.<\/p>\n\n\n\n<br><h3 style=\"color: #fe5f55\">Location<\/h3>\n\n\n\n<p>New Westminster has a unique location about 17km southeast of Vancouver and 8km from Burnaby, nestled in its own little corner of the Lower Mainland right on the banks of the Fraser River. This means it&#8217;s a short drive or transit trip to just about everywhere else in the Lower Mainland, about 30 minutes by SkyTrain or car to Vancouver. Not that you&#8217;ll feel the need to leave very often though \u2013 New Westminster is a gorgeous city that&#8217;s particularly sought out in the summer for its lush parks and picturesque riverside location <\/p>\n\n\n\n<br><h3 style=\"color: #fe5f55\">Transportation<\/h3>\n\n\n\n<p>New Westminster has some of the best and most vast <a rel=\"noreferrer noopener\" aria-label=\"public transit (opens in a new tab)\" href=\"https:\/\/www.newwestcity.ca\/transportation\/getting-around\/transit\" target=\"_blank\">public transit<\/a> options of cities in the Lower Mainland, with five SkyTrain stations, over twenty bus routes and Frequent Transit Networks linking New Westminster to other cities make it exceedingly easy to get around for those who don&#8217;t have a vehicle. For those that do drive, getting around and in &amp; out of New West is also quick and convenient. The Trans Canada Highway links the city with just about everywhere else in B.C. and beyond, and will also be your main route to Vancouver. The other major artery connecting New West with the rest of the area is Highway 91A over the Queensborough Connector. <\/p>\n\n\n\n<br><h3 style=\"color: #fe5f55\">Culture &amp; Entertainment<\/h3>\n\n\n\n<p>New Westminster has a  burgeoning arts &amp; culture scene and bustling waterfront community that make it appealing for renters of all ages. This is best shown by the <a aria-label=\"New West Cultural Crawl (opens in a new tab)\" rel=\"noreferrer noopener\" href=\"https:\/\/newwestculturalcrawl.com\/#:~:text=in%20New%20Westminster&amp;text=The%20New%20West%20Cultural%20Crawl,visitors%20from%20across%20Metro%20Vancouver.\" target=\"_blank\">New West Cultural Crawl<\/a>, which takes place in October each year and spotlights local artists and all that makes New Westminster unique. Another popular event that runs practically year-round, the <a rel=\"noreferrer noopener\" aria-label=\"New West Farmers Market (opens in a new tab)\" href=\"https:\/\/newwestfarmers.ca\/\" target=\"_blank\">New West Farmers Market<\/a> is a focal point of the community&#8217;s locally-focused outlook and provides an excellent place to gather and shop for local produce and goods. New Westminster is also known for its excellent breweries, like <a rel=\"noreferrer noopener\" aria-label=\"Steel &amp; Oak (opens in a new tab)\" href=\"https:\/\/steelandoak.ca\/\" target=\"_blank\">Steel &amp; Oak<\/a> and <a rel=\"noreferrer noopener\" aria-label=\"Another Beer Co. (opens in a new tab)\" href=\"https:\/\/www.anotherbeerco.com\/\" target=\"_blank\">Another Beer Co<\/a>.<\/p>\n\n\n\n<br><h3 style=\"color: #fe5f55\">Sports &amp; Recreation<\/h3>\n\n\n\n<p>If an active, community-centred lifestyle sounds good to you, then New West should be right up your alley. The city&#8217;s famous Quay and the <a rel=\"noreferrer noopener\" aria-label=\"River Market (opens in a new tab)\" href=\"https:\/\/rivermarket.ca\/\" target=\"_blank\">River Market<\/a> make for an excellent place to spend a weekend afternoon, bordering on the Fraser River and home to plenty of local shops and seasonal events. <a rel=\"noreferrer noopener\" aria-label=\"Queen's Park (opens in a new tab)\" href=\"https:\/\/www.newwestcity.ca\/parks-and-recreation\/parks\/community-parks\/articles\/5437.php\" target=\"_blank\">Queen&#8217;s Park<\/a> is another popular gathering spot for tourists and locals alike, with 75 acres of sprawling parkland as well as its own basketball, pickleball and tennis courts, walking\/running trails, and an indoor arena. The city is also just a 20-30 minute drive to Downtown Vancouver, or about 45 minutes by transit. <\/p>\n\n\n\n<br><h3 style=\"color: #fe5f55\">Who should live in New Westminster?<\/h3>\n\n\n\n<p>In short \u2013 everyone! New Westminster has plenty to offer, no matter your age or goals. The area has tons of elementary and secondary schools, daycare facilities, and parks which draw in families from around the Lower Mainland, especially combined with the city&#8217;s many activities and reputation for safety. For students, <a rel=\"noreferrer noopener\" aria-label=\"Douglas College (opens in a new tab)\" href=\"https:\/\/www.douglascollege.ca\/\" target=\"_blank\">Douglas College<\/a> is one of the Lower Mainland&#8217;s largest colleges with over 17,000 students and offers a variety of programs as well as both on-campus housing and plenty of nearby rentals as well. Young professionals particularly adore New West for its <a rel=\"noreferrer noopener\" aria-label=\"affordable rental rates (opens in a new tab)\" href=\"https:\/\/liv.rent\/rental-listings\/city\/new-westminster\" target=\"_blank\">affordable rental rates<\/a>, proximity to larger cities like Burnaby and Vancouver, and tight-knit feel with plenty of entertainment, dining, recreation, shopping and other amenity options.<\/p>\n\n\n\n\n\n<br><h2 id=\"average-rent\">Average rent in New Westminster<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"800\" height=\"650\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_1.png\" alt=\"average rent by new westminster neighbourhood for one bedroom, two bedroom, and three bedroom listings via liv rent\" class=\"wp-image-34793\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_1.png 800w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_1-300x244.png 300w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_1-768x624.png 768w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_1-100x80.png 100w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_1-270x220.png 270w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p>New Westminster offers incredible value to renters, particularly in its Downtown and Brow of the Hill neighbourhoods. For two-bedroom and three-bedroom units especially, the city has rates well below the Lower Mainland&#8217;s average.<\/p>\n\n\n\n<p><strong><em>Looking for more insights into Metro Vancouver&#8217;s average rental rates? Be sure to check out our <a rel=\"noreferrer noopener\" aria-label=\"Monthly Rent Reports (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/category\/rent-reports\/vancouver\/\" target=\"_blank\">Monthly Rent Reports<\/a> for the latest data and trends.<\/em><\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Below are the average rental rates for unfurnished units in New Westminster, taken from our March 2022 Vancouver Rent Report. <\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1 Bed<\/td><td>2 Bed<\/td><td>3 Bed<\/td><\/tr><tr><td>$1,700<\/td><td>$2,286<\/td><td>$2,700<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>We&#8217;ve also compared the average rent per square foot across the Lower Mainland, and as you can see, New Westminster&#8217;s rates are just below Metro Vancouver&#8217;s average, and well below those in the city of Vancouver itself.. <\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1024\" height=\"717\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/RentReport_Vancouver_Mar_2022_EN_Blog-4-1024x717.png\" alt=\"average rent across metro vancouver for the march 2022 liv rent report\" class=\"wp-image-34940\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/RentReport_Vancouver_Mar_2022_EN_Blog-4-1024x717.png 1024w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/RentReport_Vancouver_Mar_2022_EN_Blog-4-300x210.png 300w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/RentReport_Vancouver_Mar_2022_EN_Blog-4-768x538.png 768w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/RentReport_Vancouver_Mar_2022_EN_Blog-4-351x247.png 351w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/RentReport_Vancouver_Mar_2022_EN_Blog-4.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<br><h3 style=\"color: #fe5f55\" id=\"pet-friendly\">Pet-friendly rentals in New Westminster<\/h3>\n\n\n\n<p>Good news for pet owners \u2013 looking at our current liv.rent listings for New Westminster, 31% of rentals in the city are pet-friendly. New Westminster is an excellent place for pets thanks to its many scenic riverside paths and trails and an abundance of parks and green spaces where residents can take their furry friends.<\/p>\n\n\n\n<!--\n  Reusable Buildings Block - By Building URLs\n  ---------------------------------------------------\n  This block takes full liv.rent building URLs, pulls the numeric id\n  out of each one for the GraphQL query, and links the card straight\n  back to the URL you pasted, so the pretty slug is always the one you\n  supplied.\n\n  To change which buildings appear, edit BUILDING_URLS in the script\n  below. Everything else (title, footer link, wording) is in the CONFIG\n  object next to it. Anything from 1 to 10 buildings renders; the grid\n  reflows on its own.\n\n  Note: the building record itself is what drives the card, so a building\n  with nothing currently for rent still renders (it just shows no price).\n  Only an id that does not exist at all is skipped, with a console warning.\n-->\n\n<style type=\"text\/css\">\n  .liv-buildings.liv-buildings,\n  .liv-buildings.liv-buildings * {\n    box-sizing: border-box !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    font-family: Inter, Helvetica, Arial, sans-serif !important;\n    font-style: normal !important;\n    line-height: 1.4 !important;\n    letter-spacing: normal !important;\n    word-spacing: normal !important;\n    text-transform: none !important;\n    text-indent: 0 !important;\n    text-align: left !important;\n    text-shadow: none !important;\n    float: none !important;\n    list-style: none !important;\n  }\n\n  \/* ---------- Block ---------- *\/\n  .liv-buildings.liv-buildings {\n    display: block !important;\n    max-width: 1094px;\n    margin: 40px auto !important;\n    padding: 32px 0 !important;\n    border-top: 1px solid #eaecf1;\n    border-bottom: 1px solid #eaecf1;\n    background: none;\n    font-size: 13px !important;\n    color: #0e131b !important;\n    -webkit-font-smoothing: antialiased;\n    container-type: inline-size;\n    container-name: livbuildings;\n  }\n\n  .liv-buildings .liv-buildings__title {\n    display: block !important;\n    font-size: 24px !important;\n    font-weight: 700 !important;\n    line-height: 1.2 !important;\n    letter-spacing: -0.4px !important;\n    color: #0e131b !important;\n    margin: 0 0 20px !important;\n    padding: 0 !important;\n  }\n\n  \/* ---------- Grid ---------- *\/\n  .liv-buildings .liv-buildings__grid {\n    display: grid !important;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 14px;\n    align-items: stretch;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  @media only screen and (min-width: 900px) {\n    .liv-buildings .liv-buildings__grid {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 16px;\n    }\n  }\n\n  @container livbuildings (max-width: 699px) {\n    .liv-buildings .liv-buildings__grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 14px;\n    }\n  }\n\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__grid {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 16px;\n    }\n  }\n\n  \/* Small counts should not stretch a card across the whole column. *\/\n  .liv-buildings .liv-buildings__grid--n1 {\n    grid-template-columns: minmax(0, 1fr);\n    max-width: 320px;\n  }\n\n  .liv-buildings .liv-buildings__grid--n2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    max-width: 660px;\n  }\n\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__grid--n3 {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      max-width: 820px;\n    }\n  }\n\n  \/* 5 or 9 buildings across 4 columns strands a single card on its own\n     row. Three columns divides both evenly (3+2, 3+3+3). Declared after\n     the base grid so it wins on source order in both engines. *\/\n  @media only screen and (min-width: 900px) {\n    .liv-buildings .liv-buildings__grid--three {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__grid--three {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  \/* ---------- Card ----------\n     Qualified with the tag so it also outranks theme rules aimed at\n     `.entry-content a`, which is where link colour usually comes from. *\/\n  .liv-buildings a.liv-buildings__card {\n    display: flex !important;\n    flex-direction: column;\n    background: #ffffff !important;\n    border: 1px solid #d2d7df !important;\n    border-radius: 8px !important;\n    box-shadow: 0 0 16px 0 rgba(69, 79, 91, 0.12) !important;\n    overflow: hidden;\n    margin: 0 !important;\n    padding: 0 !important;\n    text-decoration: none !important;\n    color: #0e131b !important;\n    cursor: pointer;\n  }\n\n  .liv-buildings a.liv-buildings__card:hover,\n  .liv-buildings a.liv-buildings__card:focus,\n  .liv-buildings a.liv-buildings__card:visited {\n    text-decoration: none !important;\n    color: #0e131b !important;\n  }\n\n  .liv-buildings .liv-buildings__media {\n    display: block !important;\n    position: relative;\n    width: 100%;\n    aspect-ratio: 16 \/ 10;\n    background: #f3f5f7;\n    overflow: hidden;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  @supports not (aspect-ratio: 16 \/ 10) {\n    .liv-buildings .liv-buildings__media {\n      height: 140px;\n    }\n  }\n\n  .liv-buildings img.liv-buildings__img {\n    display: block !important;\n    width: 100% !important;\n    height: 100% !important;\n    max-width: 100% !important;\n    object-fit: cover;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 0 !important;\n    border-radius: 0 !important;\n    box-shadow: none !important;\n  }\n\n  .liv-buildings .liv-buildings__badge {\n    display: inline-block !important;\n    position: absolute;\n    top: 8px;\n    left: 8px;\n    max-width: calc(100% - 16px);\n    background: #0e131b !important;\n    color: #ffffff !important;\n    font-size: 10px !important;\n    font-weight: 500 !important;\n    line-height: 16px !important;\n    margin: 0 !important;\n    padding: 1px 6px !important;\n    border: 0 !important;\n    border-radius: 2px !important;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    pointer-events: none;\n  }\n\n  .liv-buildings .liv-buildings__body {\n    display: flex !important;\n    flex-direction: column;\n    flex: 1;\n    gap: 5px;\n    margin: 0 !important;\n    padding: 10px !important;\n  }\n\n  .liv-buildings .liv-buildings__price-row {\n    display: flex !important;\n    align-items: baseline;\n    flex-wrap: nowrap;\n    gap: 4px;\n    min-width: 0;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  .liv-buildings .liv-buildings__price {\n    font-size: 15px !important;\n    font-weight: 700 !important;\n    line-height: 1.3 !important;\n    color: #0e131b !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  .liv-buildings .liv-buildings__period {\n    font-size: 11px !important;\n    font-weight: 400 !important;\n    line-height: 1.3 !important;\n    color: #0e131b !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    white-space: nowrap;\n  }\n\n  .liv-buildings .liv-buildings__details {\n    display: block !important;\n    font-size: 12px !important;\n    font-weight: 500 !important;\n    line-height: 1.4 !important;\n    color: #5a6881 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .liv-buildings .liv-buildings__divider {\n    display: block !important;\n    height: 1px;\n    width: 100%;\n    background: #d2d7df !important;\n    border: 0 !important;\n    margin: 3px 0 !important;\n    padding: 0 !important;\n  }\n\n  \/* Building names run long, so give them two lines rather than\n     truncating \"Lakeview Pointe Kelowna Apartments\" to nothing. *\/\n  .liv-buildings .liv-buildings__name {\n    display: -webkit-box !important;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n    font-size: 12px !important;\n    font-weight: 600 !important;\n    line-height: 1.35 !important;\n    color: #0e131b !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  \/* Two lines rather than one ellipsized line: on a 2-up phone layout a\n     single line drops the city, which is the half that matters when the\n     block spans more than one of them. *\/\n  .liv-buildings .liv-buildings__region {\n    display: -webkit-box !important;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n    font-size: 11px !important;\n    font-weight: 400 !important;\n    line-height: 1.35 !important;\n    color: #5a6881 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  \/* `margin: auto 0 0` rather than `margin-top: auto` - the reset zeroes\n     the shorthand, so a longhand top margin would be overwritten and the\n     buttons would stop aligning along the bottom of a row. *\/\n  .liv-buildings .liv-buildings__cta {\n    display: flex !important;\n    align-items: center;\n    justify-content: center;\n    height: 32px;\n    margin: auto 0 0 !important;\n    padding: 0 8px !important;\n    background: #051a49 !important;\n    color: #ffffff !important;\n    font-size: 11px !important;\n    font-weight: 500 !important;\n    line-height: 1 !important;\n    text-align: center !important;\n    border: 0 !important;\n    border-radius: 6px !important;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    transition: background 0.15s ease;\n  }\n\n  .liv-buildings a.liv-buildings__card:hover .liv-buildings__cta {\n    background: #0d3880 !important;\n  }\n\n  \/* One step up once the block itself has room. Scoped to the block, not\n     the card, so there is only a single set of overrides to reason about. *\/\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__body {\n      gap: 7px;\n      padding: 12px !important;\n    }\n\n    .liv-buildings .liv-buildings__badge {\n      top: 12px;\n      left: 12px;\n      max-width: calc(100% - 24px);\n      font-size: 11px !important;\n      line-height: 18px !important;\n      padding: 1px 8px !important;\n    }\n\n    .liv-buildings .liv-buildings__price {\n      font-size: 17px !important;\n    }\n\n    .liv-buildings .liv-buildings__period {\n      font-size: 13px !important;\n    }\n\n    .liv-buildings .liv-buildings__details,\n    .liv-buildings .liv-buildings__name {\n      font-size: 13px !important;\n    }\n\n    .liv-buildings .liv-buildings__region {\n      font-size: 12px !important;\n    }\n\n    .liv-buildings .liv-buildings__cta {\n      height: 38px;\n      font-size: 13px !important;\n    }\n  }\n\n  .liv-buildings a.liv-buildings__footer-link {\n    display: block !important;\n    font-size: 14px !important;\n    font-weight: 500 !important;\n    line-height: 1.4 !important;\n    color: #051a49 !important;\n    text-align: center !important;\n    margin: 18px 0 0 !important;\n    padding: 0 !important;\n    background: none !important;\n    text-decoration: none !important;\n  }\n\n  .liv-buildings a.liv-buildings__footer-link:visited,\n  .liv-buildings a.liv-buildings__footer-link:focus,\n  .liv-buildings a.liv-buildings__footer-link:hover {\n    color: #051a49 !important;\n  }\n\n  .liv-buildings a.liv-buildings__footer-link:hover {\n    text-decoration: underline !important;\n  }\n\n  \/* The placeholder the block renders INTO is ordinary post content, so\n     the theme styles it too - a stray `padding` there silently re-centres\n     the whole block, and a `margin-bottom` adds phantom space under it.\n     findMount() tags the div it creates as a fallback with the same class\n     so this rule reaches that one as well. *\/\n  .liv-buildings-root.liv-buildings-root,\n  #liv-buildings-root {\n    display: block !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 0 !important;\n    background: none !important;\n    font-size: inherit !important;\n    line-height: normal !important;\n    text-align: left !important;\n    text-indent: 0 !important;\n  }\n<\/style>\n\n<script type=\"text\/javascript\">\n  \/* ==================================================================\n   * DO NOT PUT AN AMPERSAND CHARACTER ANYWHERE IN THIS SCRIPT.\n   *\n   * WordPress runs post content through wptexturize(), which rewrites a\n   * bare ampersand into a numeric HTML entity. Inside a script tag that\n   * is a syntax error, so the whole block dies on parse: the markup is\n   * still visible in the DOM, but nothing runs and no request is made.\n   * It rewrites only SOME of them, which makes it look intermittent.\n   *\n   * That is why this file uses nested ifs, ternaries, early returns and\n   * the get() helper instead of the logical-and operator. Keeping the\n   * character out entirely means `grep` is a reliable check.\n   * ================================================================== *\/\n  (function () {\n    \/\/ Captured while this script runs, so each copy of the block can find\n    \/\/ its OWN placeholder. `document.currentScript` is null inside the\n    \/\/ deferred callback, so it has to be read here at the top level.\n    var SELF = document.currentScript;\n\n    \/* ----------------------------------------------------------------\n     * CONFIG - edit these\n     * ---------------------------------------------------------------- *\/\n    var CONFIG = {\n      \/\/ Buildings to show, in the order they should appear. Paste the\n      \/\/ full liv.rent URL: the id is read out of it for the query and\n      \/\/ the URL itself becomes the card link, slug and all.\n      \/\/ Works with 1 building, works with 10.\n      BUILDING_URLS: [\n        \"https:\/\/liv.rent\/building\/55691\/lakeview-pointe-kelowna-apartments-apartment-building-3623-elliot-road-west-kelowna-bc\",\n        \"https:\/\/liv.rent\/building\/53981\/parque-on-park-apartment-building-20449-park-ave-langley-bc\",\n        \"https:\/\/liv.rent\/building\/8227\/the-pendrell-apartment-building-1770-pendrell-st-vancouver-bc\",\n        \"https:\/\/liv.rent\/building\/55792\/nells-place-apartment-building-4502-rupert-street-vancouver-bc\",\n        \"https:\/\/liv.rent\/building\/55771\/hub-place-apartment-building-1649-e-broadway-vancouver-bc\",\n      ],\n      TITLE: \"Now renting in B.C.\",\n      FOOTER_LINK_TEXT: \"See all CAPREIT rental listings\",\n      FOOTER_LINK_URL: \"https:\/\/liv.rent\/company\/capreit\",\n      ROOT_SELECTOR: \".liv-buildings-root, #liv-buildings-root\",\n      IMAGES_URL: \"https:\/\/cdn.liv.rent\",\n      GRAPHQL_URL: \"https:\/\/nemesis-prod.liv.rent\/graphql\",\n      \/\/ Safety rail so a runaway paste cannot fire a 40-alias query.\n      MAX_BUILDINGS: 10,\n    };\n\n    \/* ----------------------------------------------------------------\n     * Query - one request, two aliased fields per building.\n     *\n     *   building(...)       the building record: name, address, photos.\n     *                       Renders even with nothing available.\n     *   buildingDetail(...) the units currently live in that building.\n     *                       The server pins state_machine=published and\n     *                       is_hidden=false, so this is only ever what a\n     *                       renter could actually apply to right now.\n     *\n     * Ids are digits pulled out of the URL by regex, so they are safe to\n     * inline as Int literals.\n     * ---------------------------------------------------------------- *\/\n    var BUILDING_FIELDS = [\n      \"id\",\n      \"name\",\n      \"building_type\",\n      \"full_street_name\",\n      \"city\",\n      \"state\",\n      \"building_files { aws_s3_key tag position }\",\n    ];\n\n    var LISTING_FIELDS = [\n      \"listing_id\",\n      \"price\",\n      \"price_frequency\",\n      \"bedrooms\",\n      \"gr_unit\",\n      \"gr_count\",\n      \"gr_min_price\",\n      \"unit_type_scope_txt_id\",\n      \"cover_photo_aws_s3_key\",\n    ];\n\n    function buildQuery(ids) {\n      var lines = [\"query blogBuildings {\"];\n      ids.forEach(function (id, index) {\n        lines.push(\n          \"  b\" + index + \": building(input: { building_id: \" + id + \" }) {\",\n        );\n        lines.push(\"    \" + BUILDING_FIELDS.join(\"\\n    \"));\n        lines.push(\"  }\");\n        lines.push(\n          \"  d\" +\n            index +\n            \": buildingDetail(input: { building_id: \" +\n            id +\n            \" }) {\",\n        );\n        lines.push(\"    \" + LISTING_FIELDS.join(\"\\n    \"));\n        lines.push(\"  }\");\n      });\n      lines.push(\"}\");\n      return lines.join(\"\\n\");\n    }\n\n    \/* ----------------------------------------------------------------\n     * Lookups mirrored from the liv.rent app so wording matches\n     * ---------------------------------------------------------------- *\/\n    var PERIOD = {\n      monthly: \"\/Month\",\n      weekly: \"\/Week\",\n      daily: \"\/Day\",\n      yearly: \"\/Year\",\n      one_time: \"\/One-time\",\n    };\n\n    \/\/ Widest first: the src, then the retry ladder attachFallback() walks.\n    var SIZES = [\n      [480, 300],\n      [320, 200],\n    ];\n\n    var TYPE_LABEL = {\n      condo: \"Apartment Building\",\n      highrise: \"Apartment Building\",\n      lowrise: \"Apartment Building\",\n      house: \"House\",\n      townhouse: \"Townhouse\",\n    };\n\n    \/* ----------------------------------------------------------------\n     * Helpers\n     * ---------------------------------------------------------------- *\/\n    function el(tag, className) {\n      var node = document.createElement(tag);\n      if (className) node.className = className;\n      return node;\n    }\n\n    \/\/ Walks a path of keys, stopping at the first missing link.\n    function get(obj, path) {\n      var node = obj;\n      for (var i = 0; i < path.length; i++) {\n        if (!node) return null;\n        node = node[path[i]];\n      }\n      return node;\n    }\n\n    function money(value) {\n      var n = Number(value);\n      if (!isFinite(n)) return null;\n      if (n <= 0) return null;\n      return \"$\" + Math.round(n).toLocaleString(\"en-US\");\n    }\n\n    \/\/ gr_unit marks a \"group\" listing: one record standing in for several\n    \/\/ identical units, priced from gr_min_price.\n    function isGroup(listing) {\n      if (listing.gr_unit === true) return true;\n      return listing.gr_unit === \"1\";\n    }\n\n    \/\/ https:\/\/liv.rent\/building\/55691\/lakeview-pointe... -> '55691'\n    function idFromUrl(url) {\n      var match = String(url || \"\").match(\/\\\/building\\\/(\\d+)\/);\n      if (!match) return null;\n      return match[1];\n    }\n\n    \/\/ Mirrors getImageUrl() in the app, including the character escapes -\n    \/\/ an unescaped bracket or quote in a filename breaks the CDN path.\n    function imageUrl(key, width, height) {\n      if (!key) return null;\n      var match = String(key).match(\/static_file.+$\/);\n      if (!match) return null;\n      var path = match[0]\n        .replace(\/^\\\/\/, \"\")\n        .replace(\/ \/g, \"%20\")\n        .replace(\/\\(\/g, \"%28\")\n        .replace(\/\\)\/g, \"%29\")\n        .replace(\/'\/g, \"%27\")\n        .replace(\/\"\/g, \"%22\");\n      return (\n        CONFIG.IMAGES_URL +\n        \"\/\" +\n        width +\n        \"x\" +\n        height +\n        \"\/filters:quality(80)\/\" +\n        path\n      );\n    }\n\n    \/\/ Some older building photos are narrower than the largest thumbnail\n    \/\/ the card asks for, and the CDN answers an upscale with a 500 rather\n    \/\/ than serving the original. Step down through the smaller sizes, then\n    \/\/ give up and leave the neutral panel instead of a broken-image icon.\n    \/\/ srcset has to go with the first retry or the browser just reselects\n    \/\/ the candidate that already failed.\n    function attachFallback(img, key) {\n      var step = 0;\n      img.onerror = function () {\n        if (step >= SIZES.length) {\n          img.onerror = null;\n          if (img.parentNode) img.parentNode.removeChild(img);\n          return;\n        }\n        var size = SIZES[step];\n        step += 1;\n        img.removeAttribute(\"srcset\");\n        img.removeAttribute(\"sizes\");\n        img.setAttribute(\"src\", imageUrl(key, size[0], size[1]));\n      };\n    }\n\n    \/\/ Building photos prefer the tagged cover. Some buildings only carry\n    \/\/ untagged `building_image` rows with a null position, so the sort is\n    \/\/ a tiebreak rather than the primary rule.\n    function coverKey(building, listings) {\n      var files = building.building_files;\n      if (Array.isArray(files)) {\n        if (files.length) {\n          var cover = files.filter(function (file) {\n            return file.tag === \"cover_photo\";\n          })[0];\n          if (cover) return cover.aws_s3_key;\n\n          var ordered = files.slice().sort(function (a, b) {\n            return position(a) - position(b);\n          });\n          if (ordered[0]) return ordered[0].aws_s3_key;\n        }\n      }\n\n      \/\/ No building photo on file: borrow the first live unit's cover so\n      \/\/ the card is never a grey box.\n      var withPhoto = listings.filter(function (listing) {\n        return Boolean(listing.cover_photo_aws_s3_key);\n      })[0];\n      if (withPhoto) return withPhoto.cover_photo_aws_s3_key;\n      return null;\n    }\n\n    function position(file) {\n      var n = Number(file.position);\n      if (!isFinite(n)) return 9999;\n      return n;\n    }\n\n    function bedLabel(n) {\n      if (!n) return \"Studio\";\n      return n + \" Bed\";\n    }\n\n    \/* Rolls the live units up into the three things the card shows:\n     * how many are available, the cheapest asking price, and the spread\n     * of bedroom counts. *\/\n    function summarise(listings) {\n      var units = 0;\n      var price = null;\n      var frequency = \"\";\n      var minBeds = null;\n      var maxBeds = null;\n      var hasRoom = false;\n\n      listings.forEach(function (listing) {\n        var group = isGroup(listing);\n\n        var count = Number(listing.gr_count);\n        if (group) {\n          units += isFinite(count) ? Math.max(count, 1) : 1;\n        } else {\n          units += 1;\n        }\n\n        var amount = Number(group ? listing.gr_min_price : listing.price);\n        if (isFinite(amount)) {\n          if (amount > 0) {\n            if (price === null) {\n              price = amount;\n              frequency = listing.price_frequency;\n            } else if (amount < price) {\n              price = amount;\n              frequency = listing.price_frequency;\n            }\n          }\n        }\n\n        \/\/ A room in a shared unit has no meaningful bedroom count.\n        var scope = String(listing.unit_type_scope_txt_id || \"\").toUpperCase();\n        if (scope === \"SINGLE\") {\n          hasRoom = true;\n          return;\n        }\n\n        var beds = Number(listing.bedrooms);\n        if (isFinite(beds)) {\n          if (minBeds === null) minBeds = beds;\n          else if (beds < minBeds) minBeds = beds;\n          if (maxBeds === null) maxBeds = beds;\n          else if (beds > maxBeds) maxBeds = beds;\n        }\n      });\n\n      return {\n        units: units,\n        price: money(price),\n        period: PERIOD[frequency] || \"\",\n        beds: bedText(minBeds, maxBeds, hasRoom),\n      };\n    }\n\n    function bedText(min, max, hasRoom) {\n      if (min === null) return hasRoom ? \"Room\" : \"\";\n      if (min === max) {\n        var single = bedLabel(min);\n        return hasRoom ? single + \" \u00b7 Room\" : single;\n      }\n      var low = !min ? \"Studio\" : String(min);\n      var range = low + \" - \" + max + \" Bed\";\n      return hasRoom ? range + \" \u00b7 Room\" : range;\n    }\n\n    function unitsText(units) {\n      if (!units) return \"\";\n      if (units === 1) return \"1 Unit Available\";\n      return units + \" Units Available\";\n    }\n\n    function typeLabel(building) {\n      var type = String(building.building_type || \"\").toLowerCase();\n      return TYPE_LABEL[type] || \"Building\";\n    }\n\n    \/* ----------------------------------------------------------------\n     * Rendering\n     * ---------------------------------------------------------------- *\/\n    function buildCard(entry) {\n      var building = entry.building;\n      var listings = entry.listings;\n      var summary = summarise(listings);\n\n      var name = building.name || building.full_street_name;\n      var region = [building.full_street_name, building.city, building.state]\n        .filter(Boolean)\n        .join(\", \");\n\n      var card = el(\"a\", \"liv-buildings__card\");\n      \/\/ The pasted URL is the link, so the slug always matches the one\n      \/\/ that was checked by hand.\n      card.setAttribute(\"href\", entry.url);\n      card.setAttribute(\"id\", \"liv-blog-building-\" + building.id);\n      \/\/ Same as the footer link: new tab so the reader keeps their place,\n      \/\/ noopener for safety, and no noreferrer so the visit still\n      \/\/ attributes back to the blog.\n      card.setAttribute(\"target\", \"_blank\");\n      card.setAttribute(\"rel\", \"noopener\");\n\n      \/* Media *\/\n      var media = el(\"div\", \"liv-buildings__media\");\n      var key = coverKey(building, listings);\n      var src = imageUrl(key, 640, 400);\n\n      if (src) {\n        var img = el(\"img\", \"liv-buildings__img\");\n        img.setAttribute(\"src\", src);\n        img.setAttribute(\n          \"srcset\",\n          [\n            imageUrl(key, 320, 200) + \" 320w\",\n            imageUrl(key, 480, 300) + \" 480w\",\n            imageUrl(key, 640, 400) + \" 640w\",\n          ].join(\", \"),\n        );\n        \/\/ Layout is driven by the blog column, not the viewport, and the\n        \/\/ column count varies with how many buildings are configured, so\n        \/\/ one static hint cannot be exact. It errs to the widest case (3\n        \/\/ across) - better a slightly heavy image than a soft one.\n        img.setAttribute(\"sizes\", \"(min-width: 900px) 360px, 50vw\");\n        img.setAttribute(\"loading\", \"lazy\");\n        img.setAttribute(\"decoding\", \"async\");\n        img.setAttribute(\"alt\", [name, region].filter(Boolean).join(\", \"));\n        attachFallback(img, key);\n        media.appendChild(img);\n      }\n\n      var badgeText = unitsText(summary.units);\n      if (badgeText) {\n        var badge = el(\"span\", \"liv-buildings__badge\");\n        badge.textContent = badgeText;\n        media.appendChild(badge);\n      }\n\n      card.appendChild(media);\n\n      \/* Body *\/\n      var body = el(\"div\", \"liv-buildings__body\");\n\n      var priceRow = el(\"div\", \"liv-buildings__price-row\");\n      var priceNode = el(\"span\", \"liv-buildings__price\");\n      if (summary.price) {\n        priceNode.textContent = \"From \" + summary.price;\n        priceRow.appendChild(priceNode);\n        if (summary.period) {\n          var periodNode = el(\"span\", \"liv-buildings__period\");\n          periodNode.textContent = summary.period;\n          priceRow.appendChild(periodNode);\n        }\n      } else {\n        \/\/ Nothing live in the building today. The building page is still\n        \/\/ worth a visit, so the card stays and only the price softens.\n        priceNode.textContent = \"Contact for availability\";\n        priceRow.appendChild(priceNode);\n      }\n      body.appendChild(priceRow);\n\n      var details = el(\"p\", \"liv-buildings__details\");\n      details.textContent = summary.beds || typeLabel(building);\n      body.appendChild(details);\n\n      body.appendChild(el(\"div\", \"liv-buildings__divider\"));\n\n      var nameNode = el(\"p\", \"liv-buildings__name\");\n      nameNode.textContent = name;\n      body.appendChild(nameNode);\n\n      var regionNode = el(\"p\", \"liv-buildings__region\");\n      regionNode.textContent = region;\n      body.appendChild(regionNode);\n\n      var cta = el(\"span\", \"liv-buildings__cta\");\n      cta.textContent = \"View Building\";\n      body.appendChild(cta);\n\n      card.appendChild(body);\n      return card;\n    }\n\n    function render(entries, root) {\n      var wrapper = el(\"div\", \"liv-buildings\");\n\n      var title = el(\"h2\", \"liv-buildings__title\");\n      title.textContent = CONFIG.TITLE;\n      wrapper.appendChild(title);\n\n      var grid = el(\"div\", \"liv-buildings__grid\");\n      if (entries.length < 4) {\n        grid.className += \" liv-buildings__grid--n\" + entries.length;\n      } else if (entries.length % 4 === 1) {\n        \/\/ 5 and 9 would otherwise leave one card alone on the last row.\n        grid.className += \" liv-buildings__grid--three\";\n      }\n      entries.forEach(function (entry) {\n        grid.appendChild(buildCard(entry));\n      });\n      wrapper.appendChild(grid);\n\n      var footer = el(\"a\", \"liv-buildings__footer-link\");\n      footer.textContent = CONFIG.FOOTER_LINK_TEXT;\n      footer.setAttribute(\"href\", CONFIG.FOOTER_LINK_URL);\n      \/\/ Opens in a new tab so the reader keeps their place in the post.\n      \/\/ noopener only - the referrer is left intact so the visit still\n      \/\/ attributes back to the blog.\n      footer.setAttribute(\"target\", \"_blank\");\n      footer.setAttribute(\"rel\", \"noopener\");\n      wrapper.appendChild(footer);\n\n      root.appendChild(wrapper);\n    }\n\n    \/* ----------------------------------------------------------------\n     * Fetch + boot\n     * ---------------------------------------------------------------- *\/\n    \/\/ Two copies of this block on one page must not both render into the\n    \/\/ first placeholder, so prefer the one that follows this script and\n    \/\/ claim it before the fetch starts.\n    var CLAIMED = \"data-liv-mounted\";\n\n    function isFreePlaceholder(node) {\n      if (!node.matches) return false;\n      if (!node.matches(CONFIG.ROOT_SELECTOR)) return false;\n      return !node.hasAttribute(CLAIMED);\n    }\n\n    function findMount() {\n      var host = SELF ? SELF.parentNode : null;\n\n      if (host) {\n        var sibling = SELF.nextElementSibling;\n        while (sibling) {\n          if (isFreePlaceholder(sibling)) return sibling;\n          sibling = sibling.nextElementSibling;\n        }\n      }\n\n      var candidates = document.querySelectorAll(CONFIG.ROOT_SELECTOR);\n      for (var i = 0; i < candidates.length; i++) {\n        if (!candidates[i].hasAttribute(CLAIMED)) return candidates[i];\n      }\n\n      \/\/ No placeholder reached us - render where the script itself sits.\n      \/\/ Tagged with the placeholder class so the theme-neutralising rule\n      \/\/ in the stylesheet covers this div too.\n      if (host) {\n        var mount = document.createElement(\"div\");\n        mount.className = \"liv-buildings-root\";\n        host.insertBefore(mount, SELF.nextSibling);\n        return mount;\n      }\n\n      return null;\n    }\n\n    function parseUrls() {\n      var seen = {};\n      var parsed = [];\n\n      CONFIG.BUILDING_URLS.forEach(function (url) {\n        var id = idFromUrl(url);\n        if (!id) {\n          console.warn(\"[liv.rent buildings] Not a building URL: \" + url);\n          return;\n        }\n        if (seen[id]) return;\n        seen[id] = true;\n        parsed.push({ id: id, url: url });\n      });\n\n      if (parsed.length > CONFIG.MAX_BUILDINGS) {\n        console.warn(\n          \"[liv.rent buildings] Showing the first \" +\n            CONFIG.MAX_BUILDINGS +\n            \" of \" +\n            parsed.length +\n            \" buildings.\",\n        );\n        return parsed.slice(0, CONFIG.MAX_BUILDINGS);\n      }\n\n      return parsed;\n    }\n\n    function load() {\n      var targets = parseUrls();\n      if (!targets.length) {\n        console.warn(\"[liv.rent buildings] No usable building URLs.\");\n        return;\n      }\n\n      var root = findMount();\n      if (!root) {\n        console.warn(\n          \"[liv.rent buildings] No place to render - expected a <div \" +\n            'class=\"liv-buildings-root\"> after the script.',\n        );\n        return;\n      }\n      root.setAttribute(CLAIMED, \"1\");\n\n      var ids = targets.map(function (target) {\n        return target.id;\n      });\n\n      fetch(CONFIG.GRAPHQL_URL, {\n        method: \"POST\",\n        headers: { \"Content-Type\": \"application\/json\" },\n        body: JSON.stringify({ query: buildQuery(ids) }),\n      })\n        .then(function (res) {\n          return res.json();\n        })\n        .then(function (payload) {\n          if (payload.errors) {\n            if (payload.errors.length) {\n              throw new Error(payload.errors[0].message);\n            }\n          }\n\n          var missing = [];\n\n          \/\/ Aliases come back keyed by index, so the configured order is\n          \/\/ preserved for free - no client-side reordering needed.\n          var entries = targets\n            .map(function (target, index) {\n              var building = get(payload, [\"data\", \"b\" + index]);\n              if (!building) {\n                missing.push(target.id);\n                return null;\n              }\n              return {\n                id: target.id,\n                url: target.url,\n                building: building,\n                listings: get(payload, [\"data\", \"d\" + index]) || [],\n              };\n            })\n            .filter(Boolean);\n\n          if (missing.length) {\n            console.warn(\n              \"[liv.rent buildings] No building record for: \" +\n                missing.join(\", \"),\n            );\n          }\n\n          \/\/ Leave the post untouched rather than showing an empty frame.\n          if (!entries.length) return;\n\n          render(entries, root);\n        })\n        .catch(function (err) {\n          console.warn(\"[liv.rent buildings] Failed to load buildings.\", err);\n        });\n    }\n\n    \/\/ The block can be parsed after DOMContentLoaded has already fired.\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\"DOMContentLoaded\", load, false);\n    } else {\n      load();\n    }\n  })();\n<\/script>\n\n<!-- Where the block renders. Keep this after the script. -->\n<div class=\"liv-buildings-root\"><\/div>\n\n<style id=\"liv-buildings-subtitle-css\">\n.liv-buildings .liv-buildings__subtitle{display:block !important;font-size:14px !important;font-weight:500 !important;line-height:1.4 !important;color:#5b6472 !important;margin:-14px 0 20px !important;padding:0 !important;letter-spacing:0 !important;}\n<\/style>\n<script>\n(function(){\n  var TEXT = \"Featured buildings from CAPREIT\";\n  function place(){\n    var done = 0;\n    document.querySelectorAll('.liv-buildings').forEach(function(root){\n      var t = root.querySelector('.liv-buildings__title');\n      if(!t) return;\n      if(root.querySelector('.liv-buildings__subtitle')) { done++; return; }\n      var s = document.createElement('div');\n      s.className = 'liv-buildings__subtitle';\n      s.textContent = TEXT;\n      t.insertAdjacentElement('afterend', s);\n      done++;\n    });\n    return done;\n  }\n  if(document.readyState==='loading') document.addEventListener('DOMContentLoaded', place); else place();\n  var n=0, iv=setInterval(function(){ place(); if(++n>40) clearInterval(iv); }, 250);\n})();\n<\/script>\n\n\n<script id=\"capreit-cta-tracking\">\n(function(){\n  var PROV = \"bc\", PROVU = \"BC\";\n  function tag(){\n    document.querySelectorAll(\".liv-buildings\").forEach(function(root){\n      var cards = root.querySelectorAll(\"a.liv-buildings__card\");\n      Array.prototype.forEach.call(cards, function(a, i){\n        var pos = i + 1;\n        if(!a.getAttribute(\"data-building-id\")){\n          var m = (a.id || \"\").match(\/liv-blog-building-(\\d+)\/);\n          if(m) a.setAttribute(\"data-building-id\", m[1]);\n        }\n        if(!a.getAttribute(\"data-building-name\")){\n          var n = a.querySelector(\".liv-buildings__name\");\n          if(n) a.setAttribute(\"data-building-name\", n.textContent.trim());\n        }\n        a.setAttribute(\"data-province\", PROVU);\n        a.setAttribute(\"data-position\", String(pos));\n        a.setAttribute(\"data-cta-type\", \"building\");\n        a.id = \"blog-cta-capreit-\" + PROV + \"-building-\" + pos;\n      });\n      var f = root.querySelector(\"a.liv-buildings__footer-link\");\n      if(f){\n        f.id = \"blog-cta-capreit-\" + PROV + \"-footer-all-listings\";\n        f.setAttribute(\"data-province\", PROVU);\n        f.setAttribute(\"data-cta-type\", \"footer-all-listings\");\n      }\n    });\n  }\n  if(document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", tag); else tag();\n  var c = 0, iv = setInterval(function(){ tag(); if(++c > 40) clearInterval(iv); }, 250);\n  if(!window.__capreitCtaBound){\n    window.__capreitCtaBound = true;\n    \/\/ bubble phase, so anything that cancels the navigation has already run\n    document.addEventListener(\"click\", function(e){\n      if (e.defaultPrevented) return;                 \/\/ navigation was cancelled\n      if (typeof e.button === \"number\" && e.button !== 0) return;  \/\/ primary button only\n      var a = e.target && e.target.closest ? e.target.closest(\"a[id^='blog-cta-capreit-']\") : null;\n      if (!a) return;\n      var href = a.getAttribute(\"href\") || \"\";\n      if (!href) return;\n      if (href.charAt(0) === \"#\") return;\n      if (href.toLowerCase().indexOf(\"javascript:\") === 0) return;\n      window.dataLayer = window.dataLayer || [];\n      window.dataLayer.push({\n        event: \"capreit_blog_cta_click\",\n        cta_id: a.id,\n        cta_type: a.getAttribute(\"data-cta-type\") || \"\",\n        building_id: a.getAttribute(\"data-building-id\") || \"\",\n        building_name: a.getAttribute(\"data-building-name\") || \"\",\n        province: a.getAttribute(\"data-province\") || \"\",\n        position: a.getAttribute(\"data-position\") ? Number(a.getAttribute(\"data-position\")) : null,\n        link_url: a.href || \"\"\n      });\n    }, false);\n  }\n})();\n<\/script>\n\n\n\n<br><h2 id=\"house-prices\">Average house prices in New Westminster<\/h2>\n\n\n\n<p>Below are the average house prices in New Westminster as of March 2022. These numbers are from Zolo.ca with data drawn from MLS listings in the area.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><\/td><td>1 Bed<\/td><td>2 Bed<\/td><td>3 Bed<\/td><\/tr><tr><td>Apartment<\/td><td>$546,000<\/td><td>$671,000<\/td><td>$742,000<\/td><\/tr><tr><td>Townhome<\/td><td>N\/A<\/td><td>$928,000<\/td><td>$1,100,000<\/td><\/tr><tr><td>Detached<\/td><td>N\/A<\/td><td>$1,300,000<\/td><td>$1,600,000<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><em>Source: <a href=\"https:\/\/www.zolo.ca\/new-westminster-real-estate\/trends\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Zolo (opens in a new tab)\">Zolo<\/a><\/em><\/p>\n\n\n\n\n\n<br><h2 id=\"neighbourhoods\">New Westminster Neighbourhoods<\/h2>\n\n\n\n<p>Let&#8217;s take a closer look now at some of New Westminster&#8217;s many distinct neighbourhoods. For the sake of brevity, we&#8217;ll only be focusing on the neighbourhoods with the most to offer renters in terms of value and selection. Below, you can find a map comparing the average rental price for one-bedroom, unfurnished units in each of the six New Westminster neighbourhoods we&#8217;ll be looking at here.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"800\" height=\"642\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_2.png\" alt=\"map of new westminster neighbourhoods and the average cost of an unfurnished, one-bedroom unit via liv rent\" class=\"wp-image-34792\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_2.png 800w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_2-300x241.png 300w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_2-768x616.png 768w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2022\/02\/2022-02-09_New-Westminster-Neighbourhoods_2-100x80.png 100w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n\n\n<br><h3 style=\"color: #fe5f55\" id=\"brow-of-the-hill\">Brow of the Hill<\/h3>\n\n\n\n<p>New Westminster&#8217;s Brow of the Hill neighbourhood has an ideal location nestled between Quayside to the south and Uptown to the north. With an easy walk to the riverside and Downtown as well, Brow of the Hill residents enjoy quick access to the very best of New Westminster. For families, Fraser River Middle School is in the center of the neighbourhood, and there are plenty of parks in close proximity. In addition to its rich history, Brow of the Hill has emerged as one of New Westminster&#8217;s most acccessible, convenient neighbourhoods for a variety of renter demographics. Douglas College is a mere 10 minute walk away, and Columbia Station is 15-20 minutes. The numerous shops, businesses, and public gathering places make for a tight-knit community that&#8217;s the perfect mix of affordable and desirable.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Average apartment rent:<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1 Bed<\/td><td>2 Bed<\/td><td>3 Bed<\/td><\/tr><tr><td>$1,480<\/td><td>$1,915<\/td><td>$2,900<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 style=\"color: #7494ac\">Schools:<\/h4>\n\n\n\n<p>Brow of the Hill has a number of Elementary and Secondary Schools within its borders, as well as just beyond. Herbert Spencer Elementary School is minutes away in nearby Queen&#8217;s Park, while New Westminster Secondary School and Lord Kelvin Community School are both close by as well. On the neighbourhood&#8217;s southern end closer to downtown is Fraser River Middle School. As you can see, Brow of the Hill is ideal for families as it offers schooling options for children of all ages.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Transportation:<\/h4>\n\n\n\n<p><strong>Proximity to Downtown Vancouver:<\/strong><\/p>\n\n\n\n<ul>\n<li>25-35 minutes by car to Vancouver City Centre<\/li>\n\n\n\n<li>40-45 minutes by transit to Vancouver City Centre (15-minute walk to New Westminster Station, 25 minutes on Expo Line towards Waterfront Station)<\/li>\n<\/ul>\n\n\n\n<h4 style=\"color: #7494ac\">Sports &amp; recreation<\/h4>\n\n\n\n<p>Simcoe Park is within a 5-minute walk of just about anywhere in the Brow of the Hill neighbourhood, offering a community garden and an off-leash dog area. <\/p>\n\n\n\n\n\n<br><h3 style=\"color: #fe5f55\" id=\"downtown\">Downtown New Westminster<\/h3>\n\n\n\n<p>New Westminster&#8217;s Downtown is home to a good amount of the city&#8217;s dining, shopping and entertainment destinations, but it&#8217;s not like your typical urban downtown core. New West is Western Canada&#8217;s oldest city after all, with a rich history as an incorporated city dating all the way back to 1860. Nowhere is this more evident than in New Westminster&#8217;s downtown. Heritage buildings are everywhere, and you&#8217;ll be hard-pressed to find a high-rise. Instead, the Downtown area is a popular destination for young families both local and visiting with plenty of <a rel=\"noreferrer noopener\" aria-label=\"local shops (opens in a new tab)\" href=\"https:\/\/downtownnewwest.ca\/\" target=\"_blank\">local shops<\/a> as well as all the convenient shopping, dining and entertainment destinations one would expect of a modern downtown. As a bonus, it&#8217;s also right off the river and a short few minutes&#8217; walk from the Quay.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Average rent<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1 Bed<\/td><td>2 Bed<\/td><td>3 Bed<\/td><\/tr><tr><td>$1,450<\/td><td>$2,200<\/td><td>$2,900<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 style=\"color: #7494ac\">Schools<\/h4>\n\n\n\n<p>Though it&#8217;s primarily home to colleges, training institutes and alternative learning centres, Downtown New Westminster is nearby a couple of elementary and middle schools, with secondary schools not far away either. Fraser River Middle School is probably the closest, with Qayqayt Elementary School close by to provide an option for younger children.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Transportation<\/h4>\n\n\n\n<p><strong>Proximity to Downtown Vancouver:<\/strong><\/p>\n\n\n\n<ul>\n<li>30-35 minutes by car to Vancouver City Centre<\/li>\n\n\n\n<li>30-35 minutes by transit to Vancouver City Centre (5-minute walk to Columbia or New Westminster Stations, 25 minutes on Expo Line towards Waterfront Station) <\/li>\n<\/ul>\n\n\n\n<h4 style=\"color: #7494ac\">Sports &amp; recreation<\/h4>\n\n\n\n<p>Downtown New West is steps from the Waterfront Esplanade Park that runs along the banks of the Fraser River. There&#8217;s also Quayside Park close by, as well as the Quayside Off-leash dog area. <\/p>\n\n\n\n\n\n<br><h3 style=\"color: #fe5f55\" id=\"uptown\">Uptown<\/h3>\n\n\n\n<p><a rel=\"noreferrer noopener\" aria-label=\"Uptown (opens in a new tab)\" href=\"http:\/\/myuptown.ca\/\" target=\"_blank\">Uptown<\/a> is another New West neighbourhood with a ton of history, dating all the way back to the city&#8217;s early days back in the 1860s when it was primarily a residential area. These days, it&#8217;s a lively hub of activity with all sorts of things to do, places to eat, and more. The neighbourhood gets especially busy in the summer when people from around the city and beyond flock to Moody Park&#8217;s outdoor swimming pool to cool off. Year-round, this close-knit community is an excellent place for renters of all ages.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Average rent<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1 Bed<\/td><td>2 Bed<\/td><td>3 Bed<\/td><\/tr><tr><td>$1,630<\/td><td>$2,190`<\/td><td>$3,050<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 style=\"color: #7494ac\">Schools<\/h4>\n\n\n\n<p>Uptown has two nearby schools, Lord Kelvin Elementary School for children in kindergarten to grade 5, and New Westminster Secondary School for grades 9-12. The closest middle school. Fraser River Middle School, is just about a 10-15 minute walk away.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Transportation<\/h4>\n\n\n\n<p><strong>Proximity to Downtown Vancouver:<\/strong><\/p>\n\n\n\n<ul>\n<li>25-30 minutes by car to Vancouver City Centre<\/li>\n\n\n\n<li>40-50 minutes by transit to Vancouver City Centre (20-minute walk or 5-minute bus ride to New Westminster Station, 25 minutes on Expo Line towards Waterfront Station) <\/li>\n<\/ul>\n\n\n\n<h4 style=\"color: #7494ac\">Sports &amp; recreation<\/h4>\n\n\n\n<p>Moody Park is a defining feature of the Uptown area, bringing together the community practically every day with its range of activities for residents of all ages. The outdoor pool is a great place to go for a swim in the summer and is very popular in the summer, but Moody Park also offers lawn bowling, a playground &amp; water park, a sports field, and tennis &amp; pickleball courts.<\/p>\n\n\n\n\n\n<br><h3 style=\"color: #fe5f55\" id=\"sapperton\">Sapperton<\/h3>\n\n\n\n<p>Sapperton is one of New West&#8217;s most historic neighbourhoods, taking its name and identity from the Sappers \u2013 Royal Engineers who originally called the city home back in its early days. These days, it&#8217;s anything but dated though. The area is home to <a rel=\"noreferrer noopener\" aria-label=\"Royal Columbian Hospital (opens in a new tab)\" href=\"https:\/\/www.fraserhealth.ca\/Service-Directory\/Locations\/New-Westminster\/royal-columbian-hospital\" target=\"_blank\">Royal Columbian Hospital<\/a>, one of the largest hospitals in the region, as well as an impressive variety of shops, restaurants, and more. Like much of New West, Sapperton is immersed in nature with plenty of parks, recreational spaces, and forested areas for residents to enjoy. The neighbourhood is well-serviced by transit as well, with Sapperton SkyTrain station closer to RCH, and Braid Station to the south.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Average rent<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1 Bed<\/td><td>2 Bed<\/td><td>3 Bed<\/td><\/tr><tr><td>$1,600<\/td><td>$2,420<\/td><td>$3,000<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 style=\"color: #7494ac\">Schools<\/h4>\n\n\n\n<p>Sapperton is home to Richard McBride Elementary School, which provides classes for children in kindergarten to grade 5. Glenbrook Middle School is only about a 5-minute drive away, or a 20-30 minute walk depending on where in Sapperton you&#8217;re located. For older students, New Westminster Secondary School is about a 10-minute drive away.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Transportation<\/h4>\n\n\n\n<p><strong>Proximity to Downtown Vancouver:<\/strong><\/p>\n\n\n\n<ul>\n<li>30-45 minutes by car to Vancouver City Centre<\/li>\n\n\n\n<li>40-45 minutes by transit to Vancouver City Centre (5-10-minute walk to Sapperton or Braid SkyTrain stations, 30 minutes on Expo Line towards Waterfront Station)  <\/li>\n<\/ul>\n\n\n\n<h4 style=\"color: #7494ac\">Sports &amp; recreation<\/h4>\n\n\n\n<p>Sapperton Park is a spacious green area located adjacent to Royal Columbian Hospital, and has both a playground and a water park which comes in handy in the summer. Hume Park is on the north end of the neighbourhood, and has a spray park as well as a popular outdoor pool.<\/p>\n\n\n\n\n\n<br><h3 style=\"color: #fe5f55\" id=\"glenbrooke-south\">Glenbrooke South<\/h3>\n\n\n\n<p>Glenbrooke south is a quaint, expansive area on the eastern side of New Westminster with a laid-back feel, quiet streets, and plenty of smaller apartments. This combination makes it ideal for renters looking for a community-oriented neighbourhood that&#8217;s tranquil but still close to the action. Most amenities are within walking distance, like the area&#8217;s schools, parks and myriad businesses, and there are plenty of transit stations within Glenbrooke South to easily travel around New Westminster and beyond.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Average rent<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1 Bed<\/td><td>2 Bed<\/td><td>3 Bed<\/td><\/tr><tr><td>$1,825<\/td><td>$2,450<\/td><td>$2,850<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 style=\"color: #7494ac\">Schools<\/h4>\n\n\n\n<p>There are plenty of education options for Glenbrooke South residents, most within easy walking distance. Richard McBride Elementary School in nearby Sapperton is a short 5-minute drive away, with Herbert Spencer Elementary School and Glenbrook Middle School also nearby.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Transportation<\/h4>\n\n\n\n<p><strong>Proximity to Downtown Vancouver:<\/strong><\/p>\n\n\n\n<ul>\n<li>30-45 minutes by car to Vancouver City Centre<\/li>\n\n\n\n<li>40-60 minutes by transit to Vancouver City Centre (20-25 minute walk or 5-10 minute bus to Sapperton or Columbia SkyTrain stations, 30 minutes on Expo Line towards Waterfront Station)   <\/li>\n<\/ul>\n\n\n\n<h4 style=\"color: #7494ac\">Sports &amp; recreation<\/h4>\n\n\n\n<p>Glenbrook Ravine Park and the connecting trails are close by and are a great place to escape into nature for an afternoon. Also close by is Sapperton Landing Park along the waterfront, and Terry Hughes Park is near as well, attached to Glenbrook Middle School. Queens Park is also close by, one of the city&#8217;s largest outdoor spaces.<\/p>\n\n\n\n\n\n<br><h3 style=\"color: #fe5f55\" id=\"brunette-creek\">Brunette Creek<\/h3>\n\n\n\n<p>Idyllic Brunette Creek is on the city&#8217;s far east end, nestled between Sapperton and Glenbrook South. Defined by the Brunette River and expanding down to the Fraser River, Brunette Creek is a nature lover&#8217;s paradise with easy access to nearby trails at Glenbrook Ravine and Queen&#8217;s Park, yet with all the modern convenience you&#8217;d expect of a prominent New Westminster neighbourhood. For renters looking for the best of both worlds, Brunette Creek may be your perfect solution.<\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Average rent<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>1 Bed<\/td><td>2 Bed<\/td><td>3 Bed<\/td><\/tr><tr><td>$1,850<\/td><td>$2,460<\/td><td>$2,700<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 style=\"color: #7494ac\">Schools<\/h4>\n\n\n\n<p>Glenbrook Middle School is close by for students in grades 6-8, as are Herbert Spencer and F.W Howay Elementary Schools for younger students. <\/p>\n\n\n\n<h4 style=\"color: #7494ac\">Transportation<\/h4>\n\n\n\n<p><strong>Proximity to Downtown Vancouver:<\/strong><\/p>\n\n\n\n<ul>\n<li>30-45 minutes by car to Vancouver City Centre<\/li>\n\n\n\n<li>40-45 minutes by transit to Vancouver City Centre (10-15 minute walk to Sapperton station, 30 minutes on Expo Line towards Waterfront Station)<\/li>\n<\/ul>\n\n\n\n<h4 style=\"color: #7494ac\">Sports &amp; recreation<\/h4>\n\n\n\n<p>Nearby Queen&#8217;s Park is a popular gathering place with plenty of picnic areas, as well as a spray park, courts for tennis, pickleball and basketball, a sports arena, off-leash dog areas, and more. For those that want a quick hike without leaving their neighbourhood, The Glenbrook Ravine Park &amp; trails are a popular destination throughout the week for their lush greenery in an urban settings.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p><strong><em>Check out our other Metro Vancouver neighbourhood guides:<\/em><\/strong><\/p>\n\n\n\n<ol>\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2018\/09\/neighborhood-guide-living-in-yaletown\/\" target=\"_blank\">Yaletown<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2018\/10\/neighborhood-guide-main-street\/\" target=\"_blank\">Main Street<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2018\/08\/vancouver-neighbourhoods-chinatown\/\" target=\"_blank\">Chinatown<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2018\/11\/neighbourhood-guide-commercial-drive\/\" target=\"_blank\">Commercial Drive<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2019\/02\/neighbourhood-guide-west-end-vancouver\/\" target=\"_blank\">The West End<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2019\/08\/neighbourhood-guide-north-vancouver\/\" target=\"_blank\">North Vancouver<\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2019\/04\/neighbourhood-guide-marine-and-cambie-hub\/\" target=\"_blank\">Marine &amp; Cambie Hub<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/liv.rent\/blog\/2021\/05\/neighbourhood-guide-richmond-bc\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\"Richmond, BC (opens in a new tab)\">Richmond, BC<\/a><\/li>\n<\/ol>\n\n\n\n<br> \n\n<style> \n\n.button-rethink-way-you-rent { \n  background-color: #3E5B77; \n  border: 5px #26425C; \n  color: white; \n  padding: 10px 30px; \n  text-align: center; \n  text-decoration: none; \n  display: inline-block; \n  font-size: 15px; \n  margin: 5px 0px 20px 0px; \n  cursor: pointer; \n} \n<\/style> \n\n<img decoding=\"async\" class=\"alignleft wp-image-23097\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/08\/Digital-Contracts-Cropped-2.gif\" alt=\"Find apartments &amp; houses for rent with the liv.rent app\" width=\"196\" height=\"370\" style=\"float:left;\"> \n\n<h3 style=\"color: #3E5B77;\">Rethink The Way You Rent<\/h3> \n\n<p>Not on <strong><a href=\"https:\/\/liv.rent\/\" target=\"_blank\" rel=\"noopener noreferrer\">liv.rent<\/a><\/strong> yet? Experience the ease of digital applications &#038; contracts, verified tenants &#038; landlords, virtual tours and more \u2013 all on one platform. <strong><a href=\"https:\/\/liv.rent\/pricing\" target=\"_blank\" rel=\"noopener noreferrer\">Sign up for free<\/a><\/strong> or <strong><a href=\"https:\/\/liv.rent\/download\" target=\"_blank\" rel=\"noopener noreferrer\"> download the app<\/a><\/strong>.<\/p> \n\n<a href=\"https:\/\/liv.rent\/\" target=\"_blank\" rel=\"noopener noreferrer\"><button id=\"button-rethink-way-you-rent\" class=\"button-rethink-way-you-rent\">Learn More<\/button><\/a> \n\n<p style=\"color: #3E5B77\"><strong><a href=\"https:\/\/315027fd.sibforms.com\/serve\/MUIEALxBmw-zX8J7nIDbE8Y0GsbO2XD2wyS5o8IJ7wVaedytZTfE-Ysnf2unVSDuBMQ_DiIreTYMftk3u84zjN-NZ459-r4fafSVJmvHqufcCZsHOdl9YPdQlyNO_8e-aEyO3JswcwrjPcNt9Ll22P85SQ6zAIiqlLhL9S2Es9edJgfjg0307yN6DptRbjGnHobRqNlUNRLczWrl\" target=\"_blank\" rel=\"noopener noreferrer\">Subscribe<\/a><\/strong> to receive the latest tenant &#038; landlord tips and get notified about changes in the Canadian rental market.\n<\/p> \n\n<p style=\"color: #3E5B77\"><strong>>> Stay up-to-date on the average rent in Vancouver, Toronto and Montreal: <\/strong> <a href=\"https:\/\/liv.rent\/blog\/rent-reports\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rent Reports<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>New Westminster was founded in 1858 as the original capital city of B.C. by a group of British military engineers called the Sappers, who set up camp where the majestic Fraser River splits north and south. Today, the vibrant city is a destination for foodies and history aficionados alike thanks to its famed brewery district [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":35297,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false},"categories":[552,134,135],"tags":[349],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Neighbourhood Guide: New Westminster | liv.rent blog<\/title>\n<meta name=\"description\" content=\"Things to know about New Westminster - Brewery District Neighbourhood. History, transportation, housing types, amenities and rental property options.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Neighbourhood Guide: New Westminster | liv.rent blog\" \/>\n<meta property=\"og:description\" content=\"Things to know about New Westminster - Brewery District Neighbourhood. History, transportation, housing types, amenities and rental property options.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/\" \/>\n<meta property=\"og:site_name\" content=\"liv.rent blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/liv.rent\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-25T19:07:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-28T19:44:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/02\/2022-03-24-NeighbourhoodGuide-14-min.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1337\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Kristina Ikavalko\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@liv_rent\" \/>\n<meta name=\"twitter:site\" content=\"@liv_rent\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kristina Ikavalko\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/\"},\"author\":{\"name\":\"Kristina Ikavalko\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/d848b746dd0bf9661e52be319d6921ae\"},\"headline\":\"Neighbourhood Guide: New Westminster\",\"datePublished\":\"2020-02-25T19:07:47+00:00\",\"dateModified\":\"2026-08-28T19:44:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/\"},\"wordCount\":2567,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/liv.rent\/blog\/#organization\"},\"keywords\":[\"Vancouver\"],\"articleSection\":[\"BC\",\"Featured Listings\",\"Neighbourhoods\"],\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/\",\"url\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/\",\"name\":\"Neighbourhood Guide: New Westminster | liv.rent blog\",\"isPartOf\":{\"@id\":\"https:\/\/liv.rent\/blog\/#website\"},\"datePublished\":\"2020-02-25T19:07:47+00:00\",\"dateModified\":\"2026-08-28T19:44:04+00:00\",\"description\":\"Things to know about New Westminster - Brewery District Neighbourhood. History, transportation, housing types, amenities and rental property options.\",\"breadcrumb\":{\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/liv.rent\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Neighbourhood Guide: New Westminster\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/liv.rent\/blog\/#website\",\"url\":\"https:\/\/liv.rent\/blog\/\",\"name\":\"Liv Rent\",\"description\":\"Rental Made Easy\",\"publisher\":{\"@id\":\"https:\/\/liv.rent\/blog\/#organization\"},\"alternateName\":\"liv.rent\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/liv.rent\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-CA\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/liv.rent\/blog\/#organization\",\"name\":\"Liv Rent\",\"alternateName\":\"liv.rent\",\"url\":\"https:\/\/liv.rent\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/03\/liv-rent-logo-1.png\",\"contentUrl\":\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/03\/liv-rent-logo-1.png\",\"width\":1000,\"height\":457,\"caption\":\"Liv Rent\"},\"image\":{\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/liv.rent\/\",\"https:\/\/twitter.com\/liv_rent\",\"https:\/\/www.instagram.com\/liv.rent\/\",\"https:\/\/www.youtube.com\/channel\/UCyx0INp1qqQ2Xhw-rMiqQiA\",\"https:\/\/www.pinterest.ca\/livrent\/\",\"https:\/\/www.tiktok.com\/@liv.rent\",\"https:\/\/www.linkedin.com\/company\/livrent\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/d848b746dd0bf9661e52be319d6921ae\",\"name\":\"Kristina Ikavalko\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0a5bbf3fd596506205981f6d985d6969?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0a5bbf3fd596506205981f6d985d6969?s=96&d=mm&r=g\",\"caption\":\"Kristina Ikavalko\"},\"description\":\"Creative Content Creator for liv.rent, based in Vancouver.\",\"url\":\"https:\/\/liv.rent\/blog\/author\/kristina\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Neighbourhood Guide: New Westminster | liv.rent blog","description":"Things to know about New Westminster - Brewery District Neighbourhood. History, transportation, housing types, amenities and rental property options.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/","og_locale":"en_US","og_type":"article","og_title":"Neighbourhood Guide: New Westminster | liv.rent blog","og_description":"Things to know about New Westminster - Brewery District Neighbourhood. History, transportation, housing types, amenities and rental property options.","og_url":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/","og_site_name":"liv.rent blog","article_publisher":"https:\/\/www.facebook.com\/liv.rent\/","article_published_time":"2020-02-25T19:07:47+00:00","article_modified_time":"2026-08-28T19:44:04+00:00","og_image":[{"width":2000,"height":1337,"url":"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/02\/2022-03-24-NeighbourhoodGuide-14-min.jpg","type":"image\/jpeg"}],"author":"Kristina Ikavalko","twitter_card":"summary_large_image","twitter_creator":"@liv_rent","twitter_site":"@liv_rent","twitter_misc":{"Written by":"Kristina Ikavalko","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/#article","isPartOf":{"@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/"},"author":{"name":"Kristina Ikavalko","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/d848b746dd0bf9661e52be319d6921ae"},"headline":"Neighbourhood Guide: New Westminster","datePublished":"2020-02-25T19:07:47+00:00","dateModified":"2026-08-28T19:44:04+00:00","mainEntityOfPage":{"@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/"},"wordCount":2567,"commentCount":0,"publisher":{"@id":"https:\/\/liv.rent\/blog\/#organization"},"keywords":["Vancouver"],"articleSection":["BC","Featured Listings","Neighbourhoods"],"inLanguage":"en-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/","url":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/","name":"Neighbourhood Guide: New Westminster | liv.rent blog","isPartOf":{"@id":"https:\/\/liv.rent\/blog\/#website"},"datePublished":"2020-02-25T19:07:47+00:00","dateModified":"2026-08-28T19:44:04+00:00","description":"Things to know about New Westminster - Brewery District Neighbourhood. History, transportation, housing types, amenities and rental property options.","breadcrumb":{"@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/neighbourhood-guide-new-westminster\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/liv.rent\/blog\/"},{"@type":"ListItem","position":2,"name":"Neighbourhood Guide: New Westminster"}]},{"@type":"WebSite","@id":"https:\/\/liv.rent\/blog\/#website","url":"https:\/\/liv.rent\/blog\/","name":"Liv Rent","description":"Rental Made Easy","publisher":{"@id":"https:\/\/liv.rent\/blog\/#organization"},"alternateName":"liv.rent","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/liv.rent\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-CA"},{"@type":"Organization","@id":"https:\/\/liv.rent\/blog\/#organization","name":"Liv Rent","alternateName":"liv.rent","url":"https:\/\/liv.rent\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/liv.rent\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/03\/liv-rent-logo-1.png","contentUrl":"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/03\/liv-rent-logo-1.png","width":1000,"height":457,"caption":"Liv Rent"},"image":{"@id":"https:\/\/liv.rent\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/liv.rent\/","https:\/\/twitter.com\/liv_rent","https:\/\/www.instagram.com\/liv.rent\/","https:\/\/www.youtube.com\/channel\/UCyx0INp1qqQ2Xhw-rMiqQiA","https:\/\/www.pinterest.ca\/livrent\/","https:\/\/www.tiktok.com\/@liv.rent","https:\/\/www.linkedin.com\/company\/livrent\/"]},{"@type":"Person","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/d848b746dd0bf9661e52be319d6921ae","name":"Kristina Ikavalko","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0a5bbf3fd596506205981f6d985d6969?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0a5bbf3fd596506205981f6d985d6969?s=96&d=mm&r=g","caption":"Kristina Ikavalko"},"description":"Creative Content Creator for liv.rent, based in Vancouver.","url":"https:\/\/liv.rent\/blog\/author\/kristina\/"}]}},"_links":{"self":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/16610"}],"collection":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/comments?post=16610"}],"version-history":[{"count":3,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/16610\/revisions"}],"predecessor-version":[{"id":69143,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/16610\/revisions\/69143"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/media\/35297"}],"wp:attachment":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/media?parent=16610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/categories?post=16610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/tags?post=16610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}