{"id":68677,"date":"2026-07-17T12:12:02","date_gmt":"2026-07-17T19:12:02","guid":{"rendered":"https:\/\/liv.rent\/blog\/?p=68677"},"modified":"2026-08-28T12:31:24","modified_gmt":"2026-08-28T19:31:24","slug":"july-2026-metro-vancouver-rent-report","status":"publish","type":"post","link":"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/","title":{"rendered":"July 2026 Metro Vancouver Rent Report"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">At a glance <\/h3>\n\n\n\n<ul>\n<li><strong>Unfurnished one-bedroom rents declined across every Metro Vancouver city year-over-year<\/strong>\n<ul>\n<li>All nine cities recorded lower unfurnished one-bedroom rents compared with July 2025, with declines ranging from <strong>2.3% in Coquitlam<\/strong> to <strong>10.1% in New Westminster<\/strong>. Across the nine municipalities, rents decreased by an average of approximately <strong>6.5%<\/strong>.<br><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Burnaby shows the most consistent signs of rental-market softness<\/strong>\n<ul>\n<li>Burnaby rents declined across all six rental categories between January and July. Its largest start-of-year decrease was for furnished three-bedroom homes, which fell <strong>12.4% from $3,476 to $3,046<\/strong>. Compared with July 2025, furnished three-bedroom rents were down approximately <strong>20.2% from $3,815 to $3,046<\/strong>, the largest individual decline in the dataset.<br><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Surrey\u2019s furnished rental market is outperforming its unfurnished market<\/strong>\n<ul>\n<li>Since January, Surrey\u2019s furnished one-bedroom rents increased <strong>9.4% from $1,772 to $1,939<\/strong>, while furnished two-bedroom rents rose <strong>9.6% from $2,106 to $2,309<\/strong>. By comparison, unfurnished one-bedroom rents increased only <strong>1.2%<\/strong>, while unfurnished two-bedroom rents decreased <strong>2.5%<\/strong>.<br><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<style>\n  \n.background-downloadable-report-van-monthly-rent-report {\n  text-align: center;\n  color: #303030;\n  font-family: 'Inter', sans-serif;\n  font-size: 24px;\n}\n\n.cta-block-downloadable-report-van-monthly-rent-report p{\n  font-family: 'Inter', sans-serif;\n  color: #303030; \n  font-weight: 400;\n  text-align: center; \n  font-size: 16px;\n}\n\n.cta-block-downloadable-report-van-monthly-rent-report {\n  background-color: #F5F5F5;\n  border-radius: 16px;\n  padding: 30px;\n  text-align: center;\n  margin: 20px 0px;\n}\n.button-downloadable-report-van-monthly-rent-report{\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\n<div class=\"background-downloadable-report-van-monthly-rent-report cta-block-downloadable-report-van-monthly-rent-report\">\n<h3><strong>Download The Latest Vancouver Rent Report<\/strong><\/h3>\n\n<p>For the complete Vancouver rent report including new neighbourhood breakdowns, download here.<\/p>\n\n<button id=\"downloadable-report-van-monthly-rent-report\" class=\"button-downloadable-report-van-monthly-rent-report\">Download Report<\/button>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph has-text-color\" style=\"color:#fe5f55; border: 2px solid #fe5f55; padding: 10px; display: inline-block;\">\n    <em><strong>Download <a href=\"https:\/\/liv.rent\/blog\/rent-reports\/2026-canada-rental-market-trend-report\/\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:#fe5f55 !important; text-decoration: underline !important;\">liv.rent\u2019s 2026 Canada Rental Market Trends Report<\/a> for in-depth insights and forecasts on average rent prices, regional market comparisons, key economic drivers, and emerging AI trends shaping Canada\u2019s rental landscape.<\/strong><\/em>\n<\/p>\n<br>\n<br>\n\n\n\n<p><\/p>\n\n\n\n<p>As of July 15, 2026, the Bank of Canada held its target overnight rate at 2.25%, marking the sixth consecutive announcement with no change. Many economists expect the Bank to remain cautious through 2026 as inflation and economic uncertainty persist. B.C.&#8217;s <a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/residential-tenancies\/rent-rtb\/rent-increases#2023\">2026 rent increase limit<\/a> is capped at 2.3%.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Let&#8217;s look now at the current rental costs and overarching trends in <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver\" target=\"_blank\" rel=\"noreferrer noopener\">Vancouver<\/a> for July 2026. <\/p>\n\n\n\n<br><h2 id=\"average-rent\">Average rent across Metro Vancouver<\/h2>\n\n\n\n<p><br>This month, the average rent price for an unfurnished one-bedroom unit decreased slightly to a new average of $2,089\/month. Since July 2025, Metro Vancouver&#8217;s average rate for an unfurnished one-bedroom unit has decreased by $143.<\/p>\n\n\n\n<p><strong><em>Planning on raising rent this year? B.C.&#8217;s new annual allowable rent increase limit for 2026 is 2.3%. Find out when and how to increase rent and ensure you comply with provincial guidelines by reading our updated <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2019\/09\/bc-rent-increase\/\" target=\"_blank\" rel=\"noreferrer noopener\">Guide to B.C. Rent Increases<\/a>.<\/em><\/strong><br><\/p>\n\n\n\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 30px 0; padding: 20px; color: #BD8D7C;\">\n<p style=\"font-size: 16px;margin: 0;\"><b>&gt;&gt; Recommended Reading:<\/b> <a href=\"https:\/\/liv.rent\/blog\/rental-resources\/bc-rent-increase\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rent Increase BC 2026: How much rent can your landlord Increase?<\/a><\/p>\n<\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"717\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-3-1024x717.png\" alt=\"\" class=\"wp-image-68678\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-3-980x686.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-3-480x336.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<br><h2 id=\"month-to-month\">Month-to-month rent change<\/h2>\n\n\n\n<p><br>To better understand how rent prices have changed in Metro Vancouver cities, let&#8217;s look at the most significant changes for both furnished and unfurnished one-bedroom units this month. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>To better understand how rent prices have changed across Metro Vancouver cities, let&#8217;s look at the most significant month-to-month changes for furnished and unfurnished one-bedroom units. For furnished one-bedroom units, <a href=\"https:\/\/liv.rent\/rental-listings\/city\/new-westminster\">New Westminster<\/a> (7.41%), <a href=\"https:\/\/liv.rent\/rental-listings\/city\/surrey\">Surrey<\/a> (4.06%), and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/coquitlam\">Coquitlam<\/a> (2.56%) saw the most notable increases this month. Meanwhile, <a href=\"https:\/\/liv.rent\/rental-listings\/city\/burnaby\">Burnaby<\/a> (-4.95%), <a href=\"https:\/\/liv.rent\/rental-listings\/city\/west-vancouver\">West Vancouver<\/a> (-4.94%), and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver\">Vancouver<\/a> (-3.75%) recorded the most notable decreases. For unfurnished one-bedroom units, <a href=\"https:\/\/liv.rent\/rental-listings\/city\/langley\">Langle<\/a>y (2.41%) and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/surrey\">Surrey<\/a> (1.78%) saw the most notable increases, while <a href=\"https:\/\/liv.rent\/rental-listings\/city\/north-vancouver\">North Vancouver<\/a> (-2.69%) and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/new-westminster\">New Westminster<\/a> (-1.18%) recorded the most notable decreases.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"805\" height=\"1024\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-11-1-805x1024.png\" alt=\"\" class=\"wp-image-68693\"\/><\/figure>\n\n\n\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 20px 0%; padding: 20px; color: #BD8D7C;\">\r\n<p style=\"font-size: 16px;\"><b>Read More:<\/b> <a href=\"https:\/\/liv.rent\/blog\/2021\/07\/liv-rent-user-guide-for-renters\/\" target=\"_blank\" rel=\"noopener noreferrer\">The Ultimate Renter\u2019s Guide To Using liv.rent\r\n<\/a><\/p>\r\n<\/div>\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=\"square-foot\">Rent per square foot<\/h2>\n\n\n\n<p>Where&#8217;s the <a href=\"https:\/\/liv.rent\/blog\/neighbourhoods\/cheapest-neighbourhoods-for-rent-in-metro-vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">cheapest place to rent in Metro Vancouver<\/a> based on how much space you get? As of July 2026, the average rent per square foot decreased to $3.15\/sq. ft. The least expensive cities for square footage are <a href=\"http:\/\/liv.rent\/rental-listings\/city\/burnaby\" target=\"_blank\" rel=\"noreferrer noopener\">Richmond<\/a> ($2.32\/sq.ft.), <a href=\"https:\/\/liv.rent\/rental-listings\/city\/coquitlam\">Coquitlam<\/a> ($2.81\/sq.ft.), and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/langley\">Langle<\/a>y($2.98\/sq.ft.) Meanwhile, the most expensive cities for square footage are North Vancouver ($3.80\/sq. ft.), Vancouver ($3.71\/sq. ft.), and Burnaby ($3.50\/sq. ft.).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"717\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-4-1024x717.png\" alt=\"\" class=\"wp-image-68680\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-4-980x686.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-4-480x336.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<br>\n<style>\n.background-landlord-cta-free-rent-estimate {\n  text-align: center;\n  color: #303030;\n  font-family: 'Inter', sans-serif;\n  font-size: 24px;\n}\n\n.cta-block-landlord-cta-free-rent-estimate p{\n  font-family: 'Inter', sans-serif;\n  color: #303030; \n  font-weight: 400;\n  text-align: center; \n  font-size: 16px;\n}\n\n.cta-block-landlord-cta-free-rent-estimate {\n  background-color: #F5F5F5;\n  border-radius: 16px;\n  padding: 30px;\n  text-align: center;\n  margin: 20px 0px;\n}\n.button-landlord-cta-free-rent-estimate{\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<\/style>\n\n<div class=\"background-landlord-cta-free-rent-estimate cta-block-landlord-cta-free-rent-estimate\">\n<h3><strong>Is your rental priced competitively?<\/strong><\/h3>\n\n<p>Find out with a <em>free<\/em> rent estimate. Our team of rental experts will calculate your unit&#8217;s true value based on your listing details &amp; current market trends.<\/p>\n\n<a href=\"https:\/\/landlords.liv.rent\/rentestimate\/\" target=\"_blank\" rel=\"noopener noreferrer\"><button id=\"button-landlord-cta-free-rent-estimate\" class=\"button-landlord-cta-free-rent-estimate\">Get Your Free Estimate<\/button><\/a>\n<\/div>\n<br>\n\n\n\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 30px 0; padding: 20px; color: #BD8D7C;\">\r\n<p style=\"font-size: 16px;margin: 0;\"><b>Read More:<\/b> <a href=\"https:\/\/liv.rent\/blog\/landlords\/how-much-to-charge-for-rent\/\" target=\"_blank\" rel=\"noopener noreferrer\">Landlord Guide: How Much Should I Charge For Rent?\r\n\r\n<\/a><\/p>\r\n<\/div>\n\n\n\n<br><h2 id=\"active-listings\">Active listing data<\/h2>\n\n\n\n<p>We&#8217;ll also examine detailed statistics for currently active listings available on the market to see which property types and number of bedrooms are the most represented. For renters, these numbers show which types of units you&#8217;re most likely to encounter in the Metro Vancouver region, while for landlords, you can assess how much competition you&#8217;ll face based on the current supply.<\/p>\n\n\n\n<br><h3 style=\"color: #fe5f55\">Active listings by property type<\/h3>\n\n\n\n<p>As of July 2026, apartments were the most common rental property type, representing 70.99% of active listings on the market. Partial houses were the second-most common listing type this month, at 15.38% of active listings currently available to rent, followed by houses at 9.63%.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"439\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-14-1024x439.png\" alt=\"\" class=\"wp-image-68681\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-14-980x420.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-14-480x206.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<br><h3 style=\"color: #fe5f55\">Active listings by number of bedrooms<\/h3>\n\n\n\n<p>In terms of the number of bedrooms, we saw a spread across active listings on the market this July. One-bedroom units were the most common type of listing this month at 46.83%, though two-bedroom units held a very near share, representing 42.81% of all active listings on the market. Three-bedrooms rounded out at 10.36% of listings. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"390\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-13-1024x390.png\" alt=\"\" class=\"wp-image-68682\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-13-980x373.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-13-480x183.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<style type=\"text\/css\" style=\"display: none;\">\n  .featured-listings-wrapper {\n    margin: 40px auto;\n    padding: 30px 0;\n    border-top: 1px solid #e1e1e1;\n    border-bottom: 1px solid #e1e1e1;\n    max-width: 1094px;\n  }\n\n  .featured-listings-title {\n    font-family: \"Open Sans\", Arial, sans-serif;\n    font-size: 24px;\n    font-weight: 600;\n    letter-spacing: -0.58px;\n    line-height: 22px;\n    margin: 0 0 25px;\n  }\n\n  #featured-listings-root {\n    display: grid;\n    grid-template-columns: repeat(auto-fill, 245px);\n    grid-template-rows: repeat(1, 1fr);\n    grid-auto-rows: 0;\n    overflow-y: hidden;\n    grid-gap: 0 15px;\n    justify-content: center;\n    align-content: start;\n  }\n\n  .block-listing-card-wrapper {\n    width: 245px;\n    height: 175px;\n    cursor: pointer;\n    position: relative;\n    text-decoration: none;\n    display: flex;\n    align-items: flex-end;\n    overflow: hidden;\n    justify-self: center;\n    text-decoration: none !important;\n  }\n\n  .block-listing-card-body {\n    display: flex;\n    padding: 10px;\n    width: 100%;\n    background: linear-gradient(\n      180deg,\n      rgba(0, 0, 0, 0) 0%,\n      rgba(4, 4, 4, 0.8) 100%\n    );\n  }\n\n  .block-listing-card-detail-column {\n    display: flex;\n    flex: 1.2;\n    flex-direction: column;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  .block-listing-card-pre-price-text {\n    font-family: \"Open Sans\", Arial, sans-serif;\n    text-shadow: rgba(0, 0, 0, 0.8) 0px 0px 3px;\n    font-size: 11px;\n    color: #fff !important;\n    margin: 0;\n  }\n\n  .block-listing-card-price-text {\n    font-family: \"Open Sans\", Arial, sans-serif;\n    text-shadow: rgba(0, 0, 0, 0.8) 0px 0px 3px;\n    font-size: 12px;\n    color: #fff !important;\n    margin: 0;\n    line-height: 18px;\n  }\n\n  .block-listing-card-price-text strong {\n    font-size: 18px;\n    font-weight: 600;\n  }\n\n  .block-listing-card-price-text-mobile {\n    display: none;\n  }\n\n  .block-listing-card-address-text {\n    font-family: \"Open Sans\", Arial, sans-serif;\n    text-shadow: rgba(0, 0, 0, 0.8) 0px 0px 3px;\n    font-size: 12px;\n    color: #fff !important;\n    line-height: 15px;\n    margin: 0;\n    text-overflow: ellipsis;\n    overflow: hidden;\n    white-space: nowrap;\n  }\n\n  .block-listing-card-detail-row {\n    display: none;\n  }\n\n  .block-listing-card-detail-text {\n    font-family: \"Open Sans\", Arial, sans-serif;\n    text-shadow: rgba(0, 0, 0, 0.8) 0px 0px 3px;\n    font-size: 16px;\n    color: #fff !important;\n    line-height: 18px;\n    margin: 0;\n  }\n\n  .block-listing-card-detail-text:last-child {\n    margin-left: 10px;\n    padding-left: 10px;\n    border-left: 1px solid #fff;\n  }\n\n  div.ribbon-wrapper {\n    width: 100px;\n    height: 24px;\n    display: flex;\n    align-items: center;\n    position: absolute;\n    z-index: 10;\n    top: 10px;\n    left: -15px;\n    padding-left: 22px;\n  }\n\n  div.ribbon-wrapper > p {\n    font-family: \"Open Sans\", Arial, sans-serif;\n    font-size: 14px;\n    color: #fff !important;\n    margin: 0;\n  }\n\n  .featured-listings-block-link {\n    display: block;\n    font-size: 14px;\n    color: #3e5b77;\n    text-align: center;\n    margin-top: 10px;\n  }\n\n  @media only screen and (max-width: 991px) {\n    #featured-listings-root {\n      grid-template-columns: 1fr 1fr;\n      grid-template-rows: 1fr 1fr;\n      grid-gap: 15px;\n    }\n\n    .featured-listings-wrapper {\n      padding: 30px 0 25px;\n    }\n\n    .block-listing-card-wrapper {\n      width: 100%;\n      height: 130px;\n      max-width: 350px;\n      background-size: cover;\n    }\n\n    .block-listing-card-body {\n      padding: 4px;\n    }\n\n    .block-listing-card-detail-column {\n      flex: unset;\n    }\n\n    .block-listing-card-detail-row {\n      display: flex;\n      flex: 1;\n    }\n\n    .block-listing-card-pre-price-text {\n      display: none;\n    }\n\n    .block-listing-card-price-text {\n      display: none;\n    }\n\n    .block-listing-card-price-text-mobile {\n      display: block;\n      font-family: \"Open Sans\", Arial, sans-serif;\n      text-shadow: rgba(0, 0, 0, 0.8) 0px 0px 3px;\n      font-size: 12px;\n      color: #fff !important;\n      margin: 0;\n      line-height: 18px;\n    }\n\n    .block-listing-card-detail-text {\n      font-size: 12px;\n      line-height: 18px;\n      margin-left: 5px;\n      padding-left: 5px;\n      border-left: 1px solid #fff;\n    }\n\n    .block-listing-card-detail-text:last-child {\n      margin-left: 5px;\n      padding-left: 5px;\n    }\n\n    .block-listing-card-address-text {\n      display: none;\n    }\n\n    div.ribbon-wrapper {\n      display: none;\n    }\n  }\n\n  @media only screen and (max-width: 364px) {\n    .block-listing-card-detail-text:last-child {\n      display: none;\n    }\n  }\n<\/style>\n\n<script type=\"text\/javascript\">\n  document.addEventListener(\n    \"DOMContentLoaded\",\n    function () {\n      const query = `query list($input: ListSearchInput!) {\n        listSearch {\n          featured(input: $input) {\n            street_name\n            building_type\n            full_street_name\n            city\n            state\n            bathrooms\n            bedrooms\n            gr_min_price\n            gr_unit\n            hide_unit_number\n            cover_photo_aws_s3_key\n            listing_id\n            price\n            price_frequency\n            is_hidden\n            state_machine\n            landlords {\n              identity_verified_state\n            }\n          } \n        } \n      }`;\n      const variables = {\n        input: {\n          featured: 4,\n          page: 1,\n          page_size: 12,\n          housing_type: null,\n          bedroom_count: null,\n          furnished: null,\n          cities: [\"Richmond\", \"Burnaby\", \"Surrey\", \"North Vancouver\"],\n        },\n      };\n      const url = \"https:\/\/nemesis-prod.liv.rent\/graphql\";\n      const options = {\n        method: \"POST\",\n        headers: { \"Content-Type\": \"application\/json\" },\n        body: JSON.stringify({ query, variables }),\n      };\n      const FREQUENCY = {\n        daily: \"Day\",\n        weekly: \"Week\",\n        monthly: \"Month\",\n        one_time: \"Single payment\",\n      };\n      const FREQUENCY_MOBILE = {\n        daily: \"\/d\",\n        weekly: \"\/w\",\n        monthly: \"\/m\",\n        one_time: \"\",\n      };\n      fetch(url, options)\n        .then((res) => res.json())\n        .then((data) => {\n          const featured = data.data.listSearch.featured;\n          \/\/ const root = document.querySelector(\"div.related-post\");\n          \/\/ const root = document.querySelector(\"div.entry-content\");\n          const root = document.querySelector(\"#featured-block-root\");\n          let html = [];\n\n          featured.map((listing) => {\n            const isGroup = listing.gr_unit;\n\n            const ribbon = document.createElement(\"div\");\n            const ribbonText = document.createElement(\"p\");\n            ribbonText.innerHTML = \"Featured\";\n            ribbon.className = \"ribbon-wrapper\";\n            ribbon.style.background =\n              \"url('https:\/\/liv.rent\/blog\/wp-content\/uploads\/2020\/03\/ribbon.png') center no-repeat\";\n            ribbon.appendChild(ribbonText);\n\n            const prePriceText = isGroup\n              ? '<p class=\"block-listing-card-pre-price-text\">Starting at...<\/p>'\n              : \"\";\n            const price = isGroup\n              ? parseFloat(listing.gr_min_price)\n              : parseFloat(listing.price);\n            const priceFrequency = FREQUENCY[listing.price_frequency];\n            const mobilePriceFrequency =\n              FREQUENCY_MOBILE[listing.price_frequency];\n            const priceText =\n              '<p class=\"block-listing-card-price-text\"><strong>$' +\n              price +\n              \"<\/strong> \/ \" +\n              priceFrequency +\n              \"<\/p>\";\n            const mobilePriceText =\n              '<p class=\"block-listing-card-price-text-mobile\">$' +\n              price +\n              mobilePriceFrequency +\n              \"<\/p>\";\n            const address = listing.hide_unit_number\n              ? listing.street_name\n              : listing.full_street_name;\n            const addressText =\n              '<p class=\"block-listing-card-address-text\">' +\n              address +\n              \", \" +\n              listing.city +\n              \"<\/p>\";\n            const bedroomText =\n              '<p class=\"block-listing-card-detail-text\">' +\n              (listing.bedrooms > 0\n                ? parseFloat(listing.bedrooms) + \" Bed\"\n                : \"Studio\") +\n              \"<\/p>\";\n            const bathroomText =\n              '<p class=\"block-listing-card-detail-text\">' +\n              parseFloat(listing.bathrooms) +\n              \" Bath\" +\n              \"<\/p>\";\n\n            const cardBody =\n              '<div class=\"block-listing-card-body\"><div class=\"block-listing-card-detail-column\">' +\n              prePriceText +\n              priceText +\n              mobilePriceText +\n              addressText +\n              '<\/div><div class=\"block-listing-card-detail-row\">' +\n              bedroomText +\n              bathroomText +\n              \"<\/div><\/div><\/div>\";\n\n            const cardWrapper = document.createElement(\"a\");\n            cardWrapper.className = \"block-listing-card-wrapper\";\n            cardWrapper.setAttribute(\n              \"id\",\n              \"blog-featured-card-\" + listing.listing_id\n            );\n            cardWrapper.innerHTML = cardBody;\n            cardWrapper.setAttribute(\n              \"href\",\n              \"https:\/\/liv.rent\/rental-listings\/\" + listing.listing_id\n            );\n            const baseImageUrl = \"https:\/\/cdn.liv.rent\/350x262\/\";\n            const imageUrl = listing.cover_photo_aws_s3_key;\n            cardWrapper.style.background =\n              \"url(\" +\n              baseImageUrl +\n              imageUrl +\n              \") center center \/ cover no-repeat\";\n            cardWrapper.appendChild(ribbon);\n\n            return html.push(cardWrapper);\n          });\n\n          const listingsRoot = document.createElement(\"div\");\n          listingsRoot.setAttribute(\"id\", \"featured-listings-root\");\n          html.forEach((card) => {\n            listingsRoot.appendChild(card);\n          });\n\n          const titleText = document.createElement(\"h2\");\n          titleText.className = \"featured-listings-title\";\n          titleText.innerHTML = \"Featured Listings for Rent\";\n\n          const linkText = document.createElement(\"a\");\n          linkText.className = \"featured-listings-block-link\";\n          linkText.innerHTML = \"View all listings on liv.rent\";\n          linkText.setAttribute(\"href\", \"https:\/\/liv.rent\/rental-listings\/map\");\n\n          const innerWrapper = document.createElement(\"div\");\n          innerWrapper.className = \"featured-listings-grid-wrapper\";\n          innerWrapper.appendChild(listingsRoot);\n\n          const outterWrapper = document.createElement(\"div\");\n          outterWrapper.className = \"featured-listings-wrapper\";\n          outterWrapper.appendChild(titleText);\n          outterWrapper.appendChild(listingsRoot);\n          outterWrapper.appendChild(linkText);\n\n          \/\/ Insert Into\n          root.appendChild(outterWrapper);\n\n          \/\/ Insert Before\n          \/\/ root.parentNode.insertBefore(outterWrapper, root);\n\n          \/\/ Insert After\n          \/\/ root.parentNode.insertBefore(outterWrapper, root.nextSibling);\n        })\n        .catch(function (err) {\n          console.warn(\"Something went wrong.\", err);\n        });\n    },\n    false\n  );\n<\/script>\n\n<!-- Root div if not using existing or dynamic element as root -->\n<div id=\"featured-block-root\"><\/div>\n\n\n\n<br><h2 id=\"unfurnished-furnished\">Average unfurnished vs. furnished rates<\/h2>\n\n\n\n<p>Average prices for both a furnished and unfurnished one-bedroom unit decreased in Metro Vancouver this month. Furnished one-bedrooms decreased (-0.72%) to $2,174\/month, while unfurnished units decreased (0.08%) to $2,089\/month. Currently, a furnished one-bedroom unit rents for more than an unfurnished one-bedroom unit by $85\/month on average.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"657\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-2-1024x657.png\" alt=\"\" class=\"wp-image-68683\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-2-980x629.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-2-480x308.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<br>\n<style>\n.background-landlord-cta-free-rent-estimate {\n  text-align: center;\n  color: #303030;\n  font-family: 'Inter', sans-serif;\n  font-size: 24px;\n}\n\n.cta-block-landlord-cta-free-rent-estimate p{\n  font-family: 'Inter', sans-serif;\n  color: #303030; \n  font-weight: 400;\n  text-align: center; \n  font-size: 16px;\n}\n\n.cta-block-landlord-cta-free-rent-estimate {\n  background-color: #F5F5F5;\n  border-radius: 16px;\n  padding: 30px;\n  text-align: center;\n  margin: 20px 0px;\n}\n.button-landlord-cta-free-rent-estimate{\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<\/style>\n\n<div class=\"background-landlord-cta-free-rent-estimate cta-block-landlord-cta-free-rent-estimate\">\n<h3><strong>Is your rental priced competitively?<\/strong><\/h3>\n\n<p>Find out with a <em>free<\/em> rent estimate. Our team of rental experts will calculate your unit&#8217;s true value based on your listing details &amp; current market trends.<\/p>\n\n<a href=\"https:\/\/landlords.liv.rent\/rentestimate\/\" target=\"_blank\" rel=\"noopener noreferrer\"><button id=\"button-landlord-cta-free-rent-estimate\" class=\"button-landlord-cta-free-rent-estimate\">Get Your Free Estimate<\/button><\/a>\n<\/div>\n<br>\n\n\n\n<p><\/p>\n\n\n\n<p><strong><em>Looking for our full July 2026 Metro Vancouver Rent Report? Download your copy <a href=\"#downloadable-resources\">here<\/a> to get all the latest insights, including a detailed breakdown by neighbourhood.<\/em><\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<br><h2 id=\"city-breakdown\">City&nbsp;breakdown&nbsp;<\/h2>\n\n\n\n<p>Metro Vancouver&#8217;s rental averages vary greatly across the region, so we&#8217;ve broken up our data by municipality\/city to compare the cost of one-, two-, and three-bedroom rates for furnished and unfurnished units in different areas. Here are some highlights from our most recent findings:<\/p>\n\n\n\n<ul>\n<li>Coquitlam and Richmond were the strongest performers for unfurnished rentals this month, with one-, two-, and three-bedroom rents all increasing month over month.<\/li>\n\n\n\n<li>North Vancouver showed the clearest signs of softness among unfurnished rentals, with rents decreasing across all three bedroom types.<\/li>\n\n\n\n<li>Surrey stood out in the furnished market, as all furnished unit types increased in price this month.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"722\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-9-1024x722.png\" alt=\"\" class=\"wp-image-68684\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-9-980x691.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-9-480x338.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"722\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-8-1024x722.png\" alt=\"\" class=\"wp-image-68685\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-8-980x691.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-8-480x338.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<br>\n<style>\n.background-landlord-cta-landlord-dashboard {\n  text-align: center;\n  color: #303030;\n  font-family: 'Inter', sans-serif;\n  font-size: 24px;\n}\n\n.cta-block-landlord-cta-landlord-dashboard p{\n  font-family: 'Inter', sans-serif;\n  color: #303030; \n  font-weight: 400;\n  text-align: center; \n  font-size: 16px;\n}\n\n.cta-block-landlord-cta-landlord-dashboard {\n  background-color: #F5F5F5;\n  border-radius: 16px;\n  padding: 30px;\n  text-align: center;\n  margin: 20px 0px;\n}\n.button-landlord-cta-landlord-dashboard {\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-landlord-cta-landlord-dashboard cta-block-landlord-cta-landlord-dashboard\">\n<p><b>Gain comprehensive insights about your listings with the new liv.rent <a href=\"https:\/\/liv.rent\/blog\/livrent\/landlord-dashboard-digital-tools-for-landlords-property-managers\/\" target=\"_blank\" rel=\"noopener noreferrer\">Landlord listing Dashboard<\/a>.<\/b> <a href=\"https:\/\/liv.rent\/app\/\" target=\"_blank\" rel=\"noopener noreferrer\">Sign in<\/a> to unlock live insights &#8211; find out the average rent for a comparable property, number of views your listing received and more!<\/p>\n\n<a href=\"https:\/\/liv.rent\/blog\/livrent\/landlord-dashboard-digital-tools-for-landlords-property-managers\/\" target=\"_blank\" rel=\"noopener noreferrer\"><button id=\"button-landlord-cta-landlord-dashboard\" class=\"button-landlord-cta-landlord-dashboard\">Learn More<\/button><\/a>\n<\/div>\n\n\n\n<br><h2 id=\"neighbourhood-breakdown\">Neighbourhood breakdown<\/h2>\n\n\n\n<p>We&#8217;ve broken down Vancouver into its neighbourhoods for a more complete look at the city&#8217;s rental markets. For a further breakdown of neighbourhoods in municipalities and cities outside of Vancouver, be sure to <a href=\"#downloadable-resources\">download<\/a> our complete Rent Report.<\/p>\n\n\n\n<p>Let&#8217;s take a look now at some of the latest averages from Vancouver&#8217;s many unique neighbourhoods. West Point Grey\/UBC is the city&#8217;s most expensive neighbourhood for unfurnished one-bedroom rentals this month, with an unfurnished one-bedroom unit renting for $2,809\/month, while Sunset-Victoria Fraserview is the cheapest at $1,860\/month.<\/p>\n\n\n\n<p>We&#8217;ve added more new neighbourhoods to our monthly reports that aren&#8217;t shown in the data below. To see data on these additional neighbourhoods, statistics for furnished rentals, and neighbourhood breakdowns for other cities in Metro Vancouver, be sure to download your copy of our full report <a href=\"#downloadable-resources\">here<\/a>.  <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"684\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-12-1024x684.png\" alt=\"\" class=\"wp-image-68687\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-12-980x655.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-12-480x321.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<br><h2 id=\"Most-Expensive-Cities-in-Canada\">Most expensive cities in Canada<\/h2>\n\n\n\n<p>This July, the top 4 of the country&#8217;s most expensive cities are located in Metro Vancouver as <a href=\"https:\/\/liv.rent\/rental-listings\/city\/west-vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">West Vancouver<\/a> claims the top spot as the most expensive city in the country to rent in, followed by <a href=\"https:\/\/liv.rent\/rental-listings\/city\/north-vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">North Vancouver<\/a>, <a href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">Vancouver<\/a>, and <a href=\"http:\/\/liv.rent\/rental-listings\/city\/richmond\" target=\"_blank\" rel=\"noreferrer noopener\">Richmond<\/a> with Burlington, Ontario rounding out the top 5.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"490\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-5-1024x490.png\" alt=\"\" class=\"wp-image-68686\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-5-980x469.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-5-480x230.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/landlords.liv.rent\/screening\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"278\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2024\/08\/2024-08-06-MRR-TrustScore-min-1024x278.jpg\" alt=\"Banner image Trust score\" class=\"wp-image-60833\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2024\/08\/2024-08-06-MRR-TrustScore-min-980x266.jpg 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2024\/08\/2024-08-06-MRR-TrustScore-min-480x130.jpg 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/a><\/figure>\n\n\n\n<br><h2 id=\"other-data\">Other rental data<\/h2>\n\n\n\n<p>These insights are exclusive to our blog and are intended to give more context to each month&#8217;s rental data. Based on data sourced directly from liv.rent, these statistics provide a more comprehensive overview of the current rental situation in Canada.<\/p>\n\n\n\n<br><h3 style=\"color: #fe5f55\" id=\"renter-demographics\">Renter demographics<\/h3>\n\n\n\n<p>On liv.rent, renter demographics are spread across several age groups, with the largest share of renters aged 35-44 at 38%, followed by those aged 25-34 at 27%. Renters under 25 also make up a notable share of the platform&#8217;s audience at 13%.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img decoding=\"async\" width=\"1024\" height=\"487\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-10-1024x487.png\" alt=\"\" class=\"wp-image-68688\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-10-980x466.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-10-480x228.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<br><h3 style=\"color: #fe5f55\" id=\"pet-friendly\">Pet-friendly rentals<\/h3>\n\n\n\n<p>We&#8217;re proud to say that liv.rent continues to be the rental platform with the most <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver?page=1&amp;pet_policy=ALLOWED\" target=\"_blank\" rel=\"noreferrer noopener\">pet-friendly rentals<\/a>. This July, other rental platforms had just 22% of units available that were pet-friendly, while on liv.rent, 54% of all listed units were pet-friendly.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"455\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-6-1-1024x455.png\" alt=\"\" class=\"wp-image-68690\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-6-1-980x435.png 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-6-1-480x213.png 480w\" sizes=\"(min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 30px 0; padding: 20px; color: #BD8D7C;\">\r\n<p style=\"font-size: 16px;margin: 0;\"><b>&gt;&gt; Recommended Reading:<\/b> <a href=\"https:\/\/liv.rent\/blog\/2019\/07\/top-pet-friendly-neighbourhoods-in-vancouver\/\" target=\"_blank\" rel=\"noopener noreferrer\">The Top 8 Pet Friendly Neighbourhoods in Metro Vancouver<\/a><\/p>\r\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"downloadable-resources\">Downloadable resources<\/h2>\n\n\n\n<style>\n  \n.background-downloadable-report-van-monthly-rent-report {\n  text-align: center;\n  color: #303030;\n  font-family: 'Inter', sans-serif;\n  font-size: 24px;\n}\n\n.cta-block-downloadable-report-van-monthly-rent-report p{\n  font-family: 'Inter', sans-serif;\n  color: #303030; \n  font-weight: 400;\n  text-align: center; \n  font-size: 16px;\n}\n\n.cta-block-downloadable-report-van-monthly-rent-report {\n  background-color: #F5F5F5;\n  border-radius: 16px;\n  padding: 30px;\n  text-align: center;\n  margin: 20px 0px;\n}\n.button-downloadable-report-van-monthly-rent-report{\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\n<div class=\"background-downloadable-report-van-monthly-rent-report cta-block-downloadable-report-van-monthly-rent-report\">\n<h3><strong>Download The Latest Vancouver Rent Report<\/strong><\/h3>\n\n<p>For the complete Vancouver rent report including new neighbourhood breakdowns, download here.<\/p>\n\n<button id=\"downloadable-report-van-monthly-rent-report\" class=\"button-downloadable-report-van-monthly-rent-report\">Download Report<\/button>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<br><h2 id=\"resources\">Rental resources for B.C. renters<\/h2>\n\n\n\n<p>You can read these comprehensive guides for more information on renting in B.C. and using liv.rent to streamline your rental process.<\/p>\n\n\n\n<ul>\n<li><strong><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2019\/09\/residential-tenancy-agreement-explained\/\" target=\"_blank\">BC Residential Tenancy Agreement Explained<\/a><\/strong><\/li>\n\n\n\n<li><strong><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2020\/08\/2020-guide-to-bc-tenancy-forms\/\" target=\"_blank\">Guide to BC Tenancy Forms<\/a><\/strong><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\"The Complete User Guide To liv.rent For Landlords &amp; Property Managers (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2021\/06\/liv-rent-user-guide-landlords-and-property-managers\/\" target=\"_blank\"><strong>The Complete User Guide To liv.rent For Landlords &amp; Property Managers<\/strong><\/a><\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" aria-label=\"The Ultimate Renter\u2019s Guide To Using liv.rent (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2021\/07\/liv-rent-user-guide-for-renters\/\" target=\"_blank\"><strong>The Ultimate Renter\u2019s Guide To Using liv.rent<\/strong><\/a><\/li>\n<\/ul>\n\n\n\n<br><h2 id=\"methodology\">Data collection methodology<\/h2>\n\n\n\n<font size= \"2\"><i>\r\n<p>Our monthly rent reports use data from our own liv.rent listings, as well as data our team manually collects from other popular listing sites &#8211; looking at available basement suites, apartments, condos, townhouses, semi-detached houses, and single-detached houses for each area.<\/p>\r\n\r\n<p>When collecting this data, we do exclude luxury properties listed at over $5,000, as well as rooms for rent and shared accommodation.  Investing in manual data collection means that we only consider the current month\u2019s listing, since we can filter out duplicate listings and older ads that haven\u2019t been removed. <\/p>\r\n\r\n<p>Another key difference between our data collection methods and some government agencies like the CMHC is that we only include current asking rent prices. Many official reports will include data for entire buildings in their reports, which tends to skew numbers lower since many units are already occupied, and may be rent-controlled or rented for significantly lower than the current rates. <\/p>\r\n\r\n<p>As we are a Canadian rental platform founded and based in Vancouver, we want to ensure that we\u2019re providing a completely accurate depiction of the rental market in the cities we look at. <\/p>\r\n<\/p><\/font><\/i>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<br>\n<style>\n.button-rethink-way-you-rent-monthly-report {\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<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<h2 style=\"color: #3E5B77;\">Rethink The Way You Rent<\/h2>\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 &amp; contracts, verified tenants &amp; 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-monthly-report\" class=\"button-rethink-way-you-rent-monthly-report\">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 monthly updates on Canada&#8217;s major rental markets. Discover last month&#8217;s Rent Reports below:<\/p>\n<p><a href=\"https:\/\/liv.rent\/blog\/rent-reports\/vancouver\/\" target=\"_blank\" rel=\"noopener noreferrer\">Vancouver Rent Report<\/a><br>\n<a href=\"https:\/\/liv.rent\/blog\/rent-reports\/ontario-rent-reports\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ontario Rent Report<\/a>\n<br>\n<a href=\"https:\/\/liv.rent\/blog\/rent-reports\/montreal\/\" target=\"_blank\" rel=\"noopener noreferrer\">Montreal Rent Report<\/a>\n<br>\n<a href=\"https:\/\/liv.rent\/blog\/rent-reports\/alberta\/\" target=\"_blank\" rel=\"noopener noreferrer\">Calgary and Edmonton Rent Report<\/a>\n<\/p>\n<br>\n","protected":false},"excerpt":{"rendered":"<p>At a glance Download liv.rent\u2019s 2026 Canada Rental Market Trends Report for in-depth insights and forecasts on average rent prices, regional market comparisons, key economic drivers, and emerging AI trends shaping Canada\u2019s rental landscape. As of July 15, 2026, the Bank of Canada held its target overnight rate at 2.25%, marking the sixth consecutive announcement [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":68691,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"<!-- wp:heading {\"level\":3} -->\n<h3 class=\"wp-block-heading\">At a glance <\/h3>\n<!-- \/wp:heading -->\n\n<!-- wp:list -->\n<ul><!-- wp:list-item -->\n<li><strong>Unfurnished one-bedroom rents declined across every Metro Vancouver city year over year<\/strong><!-- wp:list -->\n<ul><!-- wp:list-item -->\n<li>All nine cities recorded lower unfurnished one-bedroom rents compared with July 2025, with declines ranging from <strong>2.3% in Coquitlam<\/strong> to <strong>10.1% in New Westminster<\/strong>. Across the nine municipalities, rents decreased by an average of approximately <strong>6.5%<\/strong>.<br><\/li>\n<!-- \/wp:list-item --><\/ul>\n<!-- \/wp:list --><\/li>\n<!-- \/wp:list-item -->\n\n<!-- wp:list-item -->\n<li><strong>Burnaby shows the most consistent signs of rental-market softness<\/strong><!-- wp:list -->\n<ul><!-- wp:list-item -->\n<li>Burnaby rents declined across all six rental categories between January and July. Its largest start-of-year decrease was for furnished three-bedroom homes, which fell <strong>12.4% from $3,476 to $3,046<\/strong>. Compared with July 2025, furnished three-bedroom rents were down approximately <strong>20.2% from $3,815 to $3,046<\/strong>, the largest individual decline in the dataset.<br><\/li>\n<!-- \/wp:list-item --><\/ul>\n<!-- \/wp:list --><\/li>\n<!-- \/wp:list-item -->\n\n<!-- wp:list-item -->\n<li><strong>Surrey\u2019s furnished rental market is outperforming its unfurnished market<\/strong><!-- wp:list -->\n<ul><!-- wp:list-item -->\n<li>Since January, Surrey\u2019s furnished one-bedroom rents increased <strong>9.4% from $1,772 to $1,939<\/strong>, while furnished two-bedroom rents rose <strong>9.6% from $2,106 to $2,309<\/strong>. By comparison, unfurnished one-bedroom rents increased only <strong>1.2%<\/strong>, while unfurnished two-bedroom rents decreased <strong>2.5%<\/strong>.<br><\/li>\n<!-- \/wp:list-item --><\/ul>\n<!-- \/wp:list --><\/li>\n<!-- \/wp:list-item --><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:block {\"ref\":33313} \/-->\n\n<!-- wp:html -->\n<p class=\"wp-block-paragraph has-text-color\" style=\"color:#fe5f55; border: 2px solid #fe5f55; padding: 10px; display: inline-block;\">\n    <em><strong>Download <a href=\"https:\/\/liv.rent\/blog\/rent-reports\/2026-canada-rental-market-trend-report\/\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:#fe5f55 !important; text-decoration: underline !important;\">liv.rent\u2019s 2026 Canada Rental Market Trends Report<\/a> for in-depth insights and forecasts on average rent prices, regional market comparisons, key economic drivers, and emerging AI trends shaping Canada\u2019s rental landscape.<\/strong><\/em>\n<\/p>\n<br>\n<br>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>As of June 10th, 2026, the <a href=\"https:\/\/www.bankofcanada.ca\/2026\/06\/fad-press-release-2026-06-10\/\">Bank of Canada<\/a> maintains the interest rate at 2.25%, holding steady for the <strong>fifth<\/strong> consecutive announcement. Experts predict this rate will be maintained through most of 2026. Additionally, the <a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/residential-tenancies\/rent-rtb\/rent-increases#2023\">2026 rent increase limit<\/a> is capped at 2.3%.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Let's look now at the current rental costs and overarching trends in <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver\" target=\"_blank\" rel=\"noreferrer noopener\">Vancouver<\/a> for July 2026. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:html -->\n<br><h2 id=\"average-rent\">Average rent across Metro Vancouver<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p><br>This month, the average rent price for an unfurnished, one-bedroom unit went down by $1, to a new average of $2,089\/month. Since June 2025, Metro Vancouver's average rate for an unfurnished one-bedroom unit has decreased by $143.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><strong><em>Planning on raising rent this year? B.C.'s new annual allowable rent increase limit for 2026 is 2.3%. Find out when and how to increase rent and ensure you comply with provincial guidelines by reading our updated <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2019\/09\/bc-rent-increase\/\" target=\"_blank\" rel=\"noreferrer noopener\">Guide to B.C. Rent Increases<\/a>.<\/em><\/strong><br><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:html -->\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 30px 0; padding: 20px; color: #BD8D7C;\">\n<p style=\"font-size: 16px;margin: 0;\"><b>&gt;&gt; Recommended Reading:<\/b> <a href=\"https:\/\/liv.rent\/blog\/rental-resources\/bc-rent-increase\/\" target=\"_blank\" rel=\"noopener noreferrer\">Rent Increase BC 2026: How much rent can your landlord Increase?<\/a><\/p>\n<\/div>\n<!-- \/wp:html -->\n\n<!-- wp:image {\"id\":68678,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-3-1024x717.png\" alt=\"\" class=\"wp-image-68678\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:html -->\n<br><h2 id=\"month-to-month\">Month-to-month rent change<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p><br>To better understand how rent prices have changed in Metro Vancouver cities, let's look at the most significant changes for both furnished and unfurnished one-bedroom units this month. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Several cities saw notable changes in average rent prices this month with New Westminster seeing the highest increase and Burnaby the lowest decrease. Looking at furnished one-bedroom units, <a href=\"https:\/\/liv.rent\/rental-listings\/city\/new-westminster\">New Westminster<\/a> (7.41%),  <a href=\"https:\/\/liv.rent\/rental-listings\/city\/surrey\">Surrey<\/a> (4.06%), and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/coquitlam\">Coquitlam<\/a> (2.56%), while <a href=\"https:\/\/liv.rent\/rental-listings\/city\/burnaby\">Burnaby<\/a> (-4.95%), <a href=\"https:\/\/liv.rent\/rental-listings\/city\/west-vancouver\">West Vancouver<\/a> (-4.94%), and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver\">Vancouver<\/a> (-3.75%),  saw the lowest decreases.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Looking now at unfurnished one-bedroom units, <a href=\"https:\/\/liv.rent\/rental-listings\/city\/langley\">Langle<\/a>y (2.41%) and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/surrey\">Surrey<\/a> (1.78%) saw the highest increases, while <a href=\"https:\/\/liv.rent\/rental-listings\/city\/north-vancouver\">North Vancouver<\/a> (-2.69%) and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/new-westminster\">New Westminster<\/a> (-1.18%) recorded the lowest decreases.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":68693,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-11-1-805x1024.png\" alt=\"\" class=\"wp-image-68693\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:html -->\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 20px 0%; padding: 20px; color: #BD8D7C;\">\r\n<p style=\"font-size: 16px;\"><b>Read More:<\/b> <a href=\"https:\/\/liv.rent\/blog\/2021\/07\/liv-rent-user-guide-for-renters\/\" target=\"_blank\" rel=\"noopener noreferrer\">The Ultimate Renter\u2019s Guide To Using liv.rent\r\n<\/a><\/p>\r\n<\/div>\n<!-- \/wp:html -->\n\n<!-- wp:html -->\n<br><h2 id=\"square-foot\">Rent per square foot<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>Where's the <a href=\"https:\/\/liv.rent\/blog\/neighbourhoods\/cheapest-neighbourhoods-for-rent-in-metro-vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">cheapest place to rent in Metro Vancouver<\/a> based on how much space you get? As of July 2026, the average rent per square foot increased up to $3.15\/sq. ft.. The least expensive cities for square footage are <a href=\"http:\/\/liv.rent\/rental-listings\/city\/burnaby\" target=\"_blank\" rel=\"noreferrer noopener\">Richmond<\/a> ($2.32\/sq.ft.), <a href=\"https:\/\/liv.rent\/rental-listings\/city\/coquitlam\">Coquitlam<\/a> ($2.81\/sq.ft.), and <a href=\"https:\/\/liv.rent\/rental-listings\/city\/langley\">Langle<\/a>y($2.98\/sq.ft.) Meanwhile, the most expensive cities for square footage are <a href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver\" target=\"_blank\" rel=\"noreferrer noopener\">Vancouver<\/a> ($3.71\/sq. ft.), <a href=\"https:\/\/liv.rent\/rental-listings\/city\/north-vancouver\">North Vancouver<\/a> ($3.80\/sq.ft.), and <a href=\"http:\/\/liv.rent\/rental-listings\/city\/burnaby\" target=\"_blank\" rel=\"noreferrer noopener\">Burnaby <\/a>($3.50\/sq. ft.).<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":68680,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-4-1024x717.png\" alt=\"\" class=\"wp-image-68680\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:block {\"ref\":34654} \/-->\n\n<!-- wp:html -->\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 30px 0; padding: 20px; color: #BD8D7C;\">\r\n<p style=\"font-size: 16px;margin: 0;\"><b>Read More:<\/b> <a href=\"https:\/\/liv.rent\/blog\/landlords\/how-much-to-charge-for-rent\/\" target=\"_blank\" rel=\"noopener noreferrer\">Landlord Guide: How Much Should I Charge For Rent?\r\n\r\n<\/a><\/p>\r\n<\/div>\n<!-- \/wp:html -->\n\n<!-- wp:html -->\n<br><h2 id=\"active-listings\">Active listing data<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>We'll also examine detailed statistics for currently active listings available on the market to see which property types and number of bedrooms are the most represented. For renters, these numbers show which types of units you're most likely to encounter in the Metro Vancouver region, while for landlords, you can assess how much competition you'll face based on the current supply.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:html -->\n<br><h3 style=\"color: #fe5f55\">Active listings by property type<\/h3>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>As of July 2026, apartments were the most common rental property type, representing 70.99% of active listings on the market. Partial houses were the second-most rented unit type this month, at 15.38% of active listings currently available to rent, followed by houses at 9.63%.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":68681,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-14-1024x439.png\" alt=\"\" class=\"wp-image-68681\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:html -->\n<br><h3 style=\"color: #fe5f55\">Active listings by number of bedrooms<\/h3>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>In terms of the number of bedrooms, we saw a spread across active listings on the market this July. One-bedroom units were the most common type of listing this month at 46.83%, though two-bedroom units held a very near share, representing 42.81% of all active listings on the market. Three-bedrooms rounded out at 10.36% of listings. <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":68682,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-13-1024x390.png\" alt=\"\" class=\"wp-image-68682\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:block {\"ref\":17726} \/-->\n\n<!-- wp:html -->\n<br><h2 id=\"unfurnished-furnished\">Average unfurnished vs. furnished rates<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>Average prices for both a furnished and unfurnished one-bedroom unit decreased in Metro Vancouver this month. Furnished one-bedrooms decreased (-0.72%) to $2,174\/month, while unfurnished units decreased (0.08%) to $2,089\/month. Currently, a furnished one-bedroom unit rents for more than an unfurnished one-bedroom unit by $85\/month on average.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":68683,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-2-1024x657.png\" alt=\"\" class=\"wp-image-68683\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:block {\"ref\":34654} \/-->\n\n<!-- wp:paragraph -->\n<p><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><strong><em>Looking for our full July 2026 Metro Vancouver Rent Report? Download your copy <a href=\"#downloadable-resources\">here<\/a> to get all the latest insights, including a detailed breakdown by neighbourhood.<\/em><\/strong><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p><\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:html -->\n<br><h2 id=\"city-breakdown\">City&nbsp;breakdown&nbsp;<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>Metro Vancouver's rental averages vary greatly across the region, so we've broken up our data by municipality\/city to compare the cost of one-, two-, and three-bedroom rates for furnished and unfurnished units in different areas. Here are some highlights from our most recent findings:<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><!-- wp:list-item -->\n<li>All unfurnished unit rental prices increased across Coquitlam and Richmond.<\/li>\n<!-- \/wp:list-item -->\n\n<!-- wp:list-item -->\n<li>Meanwhile, all unfurnished unit types decreased in North Vancouver.<\/li>\n<!-- \/wp:list-item -->\n\n<!-- wp:list-item -->\n<li>All furnished units in the city of Surrey increased in price.<\/li>\n<!-- \/wp:list-item --><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:image {\"id\":68684,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-9-1024x722.png\" alt=\"\" class=\"wp-image-68684\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:image {\"id\":68685,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-8-1024x722.png\" alt=\"\" class=\"wp-image-68685\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:block {\"ref\":25128} \/-->\n\n<!-- wp:html -->\n<br><h2 id=\"neighbourhood-breakdown\">Neighbourhood breakdown<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>We've broken down Vancouver into its neighbourhoods for a more complete look at the city's rental markets. For a further breakdown of neighbourhoods in municipalities and cities outside of Vancouver, be sure to <a href=\"#downloadable-resources\">download<\/a> our complete Rent Report.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>Let's take a look now at some of the latest averages from Vancouver's many unique neighbourhoods. West Point Grey\/UBC is the city's most expensive neighbourhood to rent in this month, with an unfurnished one-bedroom unit renting for $2,809\/month, while Shaunessy is the cheapest at $2,080\/month.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:paragraph -->\n<p>We've added more new neighbourhoods to our monthly reports that aren't shown in the data below. To see data on these additional neighbourhoods, statistics for furnished rentals, and neighbourhood breakdowns for other cities in Metro Vancouver, be sure to download your copy of our full report <a href=\"#downloadable-resources\">here<\/a>.  <\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":68687,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-12-1024x684.png\" alt=\"\" class=\"wp-image-68687\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:html -->\n<br><h2 id=\"Most-Expensive-Cities-in-Canada\">Most expensive cities in Canada<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>This July, the top 4 of the country's most expensive cities are located in Metro Vancouver as <a href=\"https:\/\/liv.rent\/rental-listings\/city\/west-vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">West Vancouver<\/a> claims the top spot as the most expensive city in the country to rent in, followed by <a href=\"https:\/\/liv.rent\/rental-listings\/city\/north-vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">North Vancouver<\/a>, <a href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">Vancouver<\/a>, and <a href=\"http:\/\/liv.rent\/rental-listings\/city\/richmond\" target=\"_blank\" rel=\"noreferrer noopener\">Richmond<\/a> with Burlington, Ontario rounding out the top 5.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":68686,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-5-1024x490.png\" alt=\"\" class=\"wp-image-68686\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:image {\"id\":60833,\"sizeSlug\":\"large\",\"linkDestination\":\"custom\"} -->\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/landlords.liv.rent\/screening\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2024\/08\/2024-08-06-MRR-TrustScore-min-1024x278.jpg\" alt=\"Banner image Trust score\" class=\"wp-image-60833\"\/><\/a><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:html -->\n<br><h2 id=\"other-data\">Other rental data<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>These insights are exclusive to our blog and are intended to give more context to each month's rental data. Based on data sourced directly from liv.rent, these statistics provide a more comprehensive overview of the current rental situation in Canada.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:html -->\n<br><h3 style=\"color: #fe5f55\" id=\"renter-demographics\">Renter demographics<\/h3>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>On liv.rent, our renter demographics are fairly balanced across all different age groups. Most of our users are now fairly spread between those aged 25-34, and those aged between 35-44 with the majority being in the latter age range. There are also a notable number of users under 25 years old.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"align\":\"center\",\"id\":68688,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image aligncenter size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-10-1024x487.png\" alt=\"\" class=\"wp-image-68688\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:html -->\n<br><h3 style=\"color: #fe5f55\" id=\"pet-friendly\">Pet-friendly rentals<\/h3>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>We're proud to say that liv.rent continues to be the rental platform with the most <a aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/rental-listings\/city\/vancouver?page=1&amp;pet_policy=ALLOWED\" target=\"_blank\" rel=\"noreferrer noopener\">pet-friendly rentals<\/a>. This July, other rental platforms had just 22% of units available that were pet-friendly, while on liv.rent, 54% of all listed units were pet-friendly.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:image {\"id\":68690,\"sizeSlug\":\"large\",\"linkDestination\":\"none\"} -->\n<figure class=\"wp-block-image size-large\"><img src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-6-1-1024x455.png\" alt=\"\" class=\"wp-image-68690\"\/><\/figure>\n<!-- \/wp:image -->\n\n<!-- wp:html -->\n<div style=\"border: 2px solid lightcoral; text-align: center; margin: 30px 0; padding: 20px; color: #BD8D7C;\">\r\n<p style=\"font-size: 16px;margin: 0;\"><b>&gt;&gt; Recommended Reading:<\/b> <a href=\"https:\/\/liv.rent\/blog\/2019\/07\/top-pet-friendly-neighbourhoods-in-vancouver\/\" target=\"_blank\" rel=\"noopener noreferrer\">The Top 8 Pet Friendly Neighbourhoods in Metro Vancouver<\/a><\/p>\r\n<\/div>\n<!-- \/wp:html -->\n\n<!-- wp:separator {\"opacity\":\"css\"} -->\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:heading {\"anchor\":\"downloadable-resources\"} -->\n<h2 class=\"wp-block-heading\" id=\"downloadable-resources\">Downloadable resources<\/h2>\n<!-- \/wp:heading -->\n\n<!-- wp:block {\"ref\":33313} \/-->\n\n<!-- wp:separator {\"opacity\":\"css\"} -->\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:html -->\n<br><h2 id=\"resources\">Rental resources for B.C. renters<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:paragraph -->\n<p>You can read these comprehensive guides for more information on renting in B.C. and using liv.rent to streamline your rental process.<\/p>\n<!-- \/wp:paragraph -->\n\n<!-- wp:list -->\n<ul><!-- wp:list-item -->\n<li><strong><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2019\/09\/residential-tenancy-agreement-explained\/\" target=\"_blank\">BC Residential Tenancy Agreement Explained<\/a><\/strong><\/li>\n<!-- \/wp:list-item -->\n\n<!-- wp:list-item -->\n<li><strong><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2020\/08\/2020-guide-to-bc-tenancy-forms\/\" target=\"_blank\">Guide to BC Tenancy Forms<\/a><\/strong><\/li>\n<!-- \/wp:list-item -->\n\n<!-- wp:list-item -->\n<li><a rel=\"noreferrer noopener\" aria-label=\"The Complete User Guide To liv.rent For Landlords &amp; Property Managers (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2021\/06\/liv-rent-user-guide-landlords-and-property-managers\/\" target=\"_blank\"><strong>The Complete User Guide To liv.rent For Landlords &amp; Property Managers<\/strong><\/a><\/li>\n<!-- \/wp:list-item -->\n\n<!-- wp:list-item -->\n<li><a rel=\"noreferrer noopener\" aria-label=\"The Ultimate Renter\u2019s Guide To Using liv.rent (opens in a new tab)\" href=\"https:\/\/liv.rent\/blog\/2021\/07\/liv-rent-user-guide-for-renters\/\" target=\"_blank\"><strong>The Ultimate Renter\u2019s Guide To Using liv.rent<\/strong><\/a><\/li>\n<!-- \/wp:list-item --><\/ul>\n<!-- \/wp:list -->\n\n<!-- wp:html -->\n<br><h2 id=\"methodology\">Data collection methodology<\/h2>\n<!-- \/wp:html -->\n\n<!-- wp:html -->\n<font size= \"2\"><i>\r\n<p>Our monthly rent reports use data from our own liv.rent listings, as well as data our team manually collects from other popular listing sites - looking at available basement suites, apartments, condos, townhouses, semi-detached houses, and single-detached houses for each area.<\/p>\r\n\r\n<p>When collecting this data, we do exclude luxury properties listed at over $5,000, as well as rooms for rent and shared accommodation.  Investing in manual data collection means that we only consider the current month\u2019s listing, since we can filter out duplicate listings and older ads that haven\u2019t been removed. <\/p>\r\n\r\n<p>Another key difference between our data collection methods and some government agencies like the CMHC is that we only include current asking rent prices. Many official reports will include data for entire buildings in their reports, which tends to skew numbers lower since many units are already occupied, and may be rent-controlled or rented for significantly lower than the current rates. <\/p>\r\n\r\n<p>As we are a Canadian rental platform founded and based in Vancouver, we want to ensure that we\u2019re providing a completely accurate depiction of the rental market in the cities we look at. <\/p>\r\n<\/p><\/font><\/i>\n<!-- \/wp:html -->\n\n<!-- wp:separator {\"opacity\":\"css\"} -->\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n<!-- \/wp:separator -->\n\n<!-- wp:block {\"ref\":25138} \/-->","_et_gb_content_width":"","inline_featured_image":false},"categories":[621,292,133],"tags":[399,349],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>July 2026 Metro Vancouver Rent Report | liv.rent blog<\/title>\n<meta name=\"description\" content=\"A report carried out examining the rental landscape of metro Vancouver in the detailed and most trusted Vancouver Rent Report by liv.rent\" \/>\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\/rent-reports\/july-2026-metro-vancouver-rent-report\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"July 2026 Metro Vancouver Rent Report | liv.rent blog\" \/>\n<meta property=\"og:description\" content=\"A report carried out examining the rental landscape of metro Vancouver in the detailed and most trusted Vancouver Rent Report by liv.rent\" \/>\n<meta property=\"og:url\" content=\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/\" \/>\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=\"2026-07-17T19:12:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-28T19:31:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1620\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Zandro Salvo\" \/>\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=\"Zandro Salvo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/\"},\"author\":{\"name\":\"Zandro Salvo\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/bc225877d5c8f17061417588bee3895b\"},\"headline\":\"July 2026 Metro Vancouver Rent Report\",\"datePublished\":\"2026-07-17T19:12:02+00:00\",\"dateModified\":\"2026-08-28T19:31:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/\"},\"wordCount\":1464,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/liv.rent\/blog\/#organization\"},\"keywords\":[\"Rent Report\",\"Vancouver\"],\"articleSection\":[\"Featured\",\"Rent Reports\",\"Vancouver\"],\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/\",\"url\":\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/\",\"name\":\"July 2026 Metro Vancouver Rent Report | liv.rent blog\",\"isPartOf\":{\"@id\":\"https:\/\/liv.rent\/blog\/#website\"},\"datePublished\":\"2026-07-17T19:12:02+00:00\",\"dateModified\":\"2026-08-28T19:31:24+00:00\",\"description\":\"A report carried out examining the rental landscape of metro Vancouver in the detailed and most trusted Vancouver Rent Report by liv.rent\",\"breadcrumb\":{\"@id\":\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/liv.rent\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"July 2026 Metro Vancouver Rent Report\"}]},{\"@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\/bc225877d5c8f17061417588bee3895b\",\"name\":\"Zandro Salvo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6475a956bc01b7885fb6b867dc823bd9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6475a956bc01b7885fb6b867dc823bd9?s=96&d=mm&r=g\",\"caption\":\"Zandro Salvo\"},\"url\":\"https:\/\/liv.rent\/blog\/author\/zandro-salvo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"July 2026 Metro Vancouver Rent Report | liv.rent blog","description":"A report carried out examining the rental landscape of metro Vancouver in the detailed and most trusted Vancouver Rent Report by liv.rent","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\/rent-reports\/july-2026-metro-vancouver-rent-report\/","og_locale":"en_US","og_type":"article","og_title":"July 2026 Metro Vancouver Rent Report | liv.rent blog","og_description":"A report carried out examining the rental landscape of metro Vancouver in the detailed and most trusted Vancouver Rent Report by liv.rent","og_url":"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/","og_site_name":"liv.rent blog","article_publisher":"https:\/\/www.facebook.com\/liv.rent\/","article_published_time":"2026-07-17T19:12:02+00:00","article_modified_time":"2026-08-28T19:31:24+00:00","og_image":[{"width":1620,"height":1080,"url":"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2026\/07\/RentReport_Vancouver_2026_July_Blog-1.png","type":"image\/png"}],"author":"Zandro Salvo","twitter_card":"summary_large_image","twitter_creator":"@liv_rent","twitter_site":"@liv_rent","twitter_misc":{"Written by":"Zandro Salvo","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/#article","isPartOf":{"@id":"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/"},"author":{"name":"Zandro Salvo","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/bc225877d5c8f17061417588bee3895b"},"headline":"July 2026 Metro Vancouver Rent Report","datePublished":"2026-07-17T19:12:02+00:00","dateModified":"2026-08-28T19:31:24+00:00","mainEntityOfPage":{"@id":"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/"},"wordCount":1464,"commentCount":0,"publisher":{"@id":"https:\/\/liv.rent\/blog\/#organization"},"keywords":["Rent Report","Vancouver"],"articleSection":["Featured","Rent Reports","Vancouver"],"inLanguage":"en-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/","url":"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/","name":"July 2026 Metro Vancouver Rent Report | liv.rent blog","isPartOf":{"@id":"https:\/\/liv.rent\/blog\/#website"},"datePublished":"2026-07-17T19:12:02+00:00","dateModified":"2026-08-28T19:31:24+00:00","description":"A report carried out examining the rental landscape of metro Vancouver in the detailed and most trusted Vancouver Rent Report by liv.rent","breadcrumb":{"@id":"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/liv.rent\/blog\/rent-reports\/july-2026-metro-vancouver-rent-report\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/liv.rent\/blog\/"},{"@type":"ListItem","position":2,"name":"July 2026 Metro Vancouver Rent Report"}]},{"@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\/bc225877d5c8f17061417588bee3895b","name":"Zandro Salvo","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6475a956bc01b7885fb6b867dc823bd9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6475a956bc01b7885fb6b867dc823bd9?s=96&d=mm&r=g","caption":"Zandro Salvo"},"url":"https:\/\/liv.rent\/blog\/author\/zandro-salvo\/"}]}},"_links":{"self":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/68677"}],"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\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/comments?post=68677"}],"version-history":[{"count":6,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/68677\/revisions"}],"predecessor-version":[{"id":69129,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/68677\/revisions\/69129"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/media\/68691"}],"wp:attachment":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/media?parent=68677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/categories?post=68677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/tags?post=68677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}