{"id":63636,"date":"2025-06-30T15:27:06","date_gmt":"2025-06-30T22:27:06","guid":{"rendered":"https:\/\/liv.rent\/blog\/?p=63636"},"modified":"2026-08-28T12:43:51","modified_gmt":"2026-08-28T19:43:51","slug":"how-much-is-the-average-rent-in-vancouver-canada","status":"publish","type":"post","link":"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/","title":{"rendered":"How Much is the Average Rent in Vancouver, Canada"},"content":{"rendered":"\n<p>Things seem to be looking up for renters as the average rent in Vancouver, Canada, for a one-bedroom apartment continues to drop. Furnished units saw a 2.32% drop to an average of <a href=\"https:\/\/liv.rent\/blog\/featured\/june-2025-metro-vancouver-rent-report\/\" target=\"_blank\" rel=\"noreferrer noopener\">$2,333\/month<\/a>, while unfurnished units fell 2.27% to <a href=\"https:\/\/liv.rent\/blog\/featured\/june-2025-metro-vancouver-rent-report\/\" target=\"_blank\" rel=\"noreferrer noopener\">$2,223\/month<\/a>. Although still among the highest rates in the country, the news is welcome as economic uncertainties and the cost of living still challenge affordability in the West Coast city. <\/p>\n\n\n\n<p>The Bank of Canada recently announced on June 4th that it\u2019s keeping the <a href=\"https:\/\/www.bankofcanada.ca\/2025\/06\/summary-governing-council-deliberations-fixed-announcement-date-of-june-4-2025\/\" target=\"_blank\" rel=\"noreferrer noopener\">overnight interest rate at 2.75%<\/a>, and many people think this could mean rent and home prices might keep dropping into 2025. All these indicators could be hopeful signs as urban demand continues to grow. Tracking Vancouver rental trends will ensure you find the best available units at an affordable price, so be sure to check the <a href=\"https:\/\/liv.rent\/blog\/featured\/june-2025-metro-vancouver-rent-report\/\" target=\"_blank\" rel=\"noreferrer noopener\">liv.rent rent report<\/a> and blog for the most up-to-date rental data.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"524\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_asset-01-1-1024x524.jpg\" alt=\"\" class=\"wp-image-63681\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_asset-01-1-980x501.jpg 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_asset-01-1-480x245.jpg 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=\"differences\">Vancouver&#8217;s Average Rent &#8211; June 2025 at a glance<\/h2>\n\n\n\n<p>Taking a closer look at June, average rent prices across Metro Vancouver have declined. The average monthly rent for an unfurnished one-bedroom unit dropped by $52, bringing it down to $2,223. Compared to June 2024, that\u2019s a total decrease of $114. Take a look at the average rent breakdown by listing type in the table below:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Unit Type<\/strong><\/td><td><strong>Unfurnished<\/strong><\/td><td><strong>Furnished<\/strong><\/td><td><strong>MoM Change<\/strong><\/td><\/tr><tr><td>1-bedroom<\/td><td>$2,223\/month<\/td><td>$2,333\/month<\/td><td>-2.30%<\/td><\/tr><tr><td>2-bedroom<\/td><td>$2,866\/month<\/td><td>$2,965\/month<\/td><td>+1.19%<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong><em>Planning on raising rent this year? B.C.\u2019s new annual allowable rent increase limit for 2025 is 3%. Find out when and how to increase rent and ensure you comply with provincial guidelines by reading our updated&nbsp;<\/em><\/strong><a href=\"https:\/\/liv.rent\/blog\/2019\/09\/bc-rent-increase\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong><em>Guide to B.C. Rent Increases<\/em><\/strong><\/a><strong><em>.<\/em><\/strong><\/p>\n\n\n\n<br><h2 id=\"differences\">Where is Rent Highest and Lowest in Vancouver?<\/h2>\n\n\n\n\n\n<p>There&#8217;s now an $869\/month gap between Vancouver\u2019s priciest and most affordable neighbourhoods. Downtown leads as the most expensive neighbourhood, with average rent for a one-bedroom unfurnished unit at $2,764\/month. On the opposite end, Hastings-Sunrise is the most budget-friendly, averaging just $1,895\/month.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"524\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_asset-02-1024x524.jpg\" alt=\"\" class=\"wp-image-63682\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_asset-02-980x501.jpg 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_asset-02-480x245.jpg 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<p><br>We\u2019ve expanded our monthly reports to include even more neighbourhoods. To access data on these additional areas, furnished rental statistics, and detailed neighbourhood breakdowns across Metro Vancouver, make sure to download the full report <a href=\"https:\/\/liv.rent\/blog\/featured\/june-2025-metro-vancouver-rent-report\/#downloadable-resources\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<br><br>Are you a student? It can be difficult to know <a href=\"https:\/\/liv.rent\/blog\/renters\/where-to-stay-in-vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">how to rent as a newcomer in Canada<\/a>, especially if you are in school. We have compiled a guide to the best student housing rentals in Canada. Check <a href=\"https:\/\/liv.rent\/blog\/renters\/off-campus-student-housing-canada\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a> for our insights into the top locations for students to rent in Canada.<\/p>\n\n\n\n<!--\n  Reusable Buildings Block - By Building URLs\n  ---------------------------------------------------\n  This block takes full liv.rent building URLs, pulls the numeric id\n  out of each one for the GraphQL query, and links the card straight\n  back to the URL you pasted, so the pretty slug is always the one you\n  supplied.\n\n  To change which buildings appear, edit BUILDING_URLS in the script\n  below. Everything else (title, footer link, wording) is in the CONFIG\n  object next to it. Anything from 1 to 10 buildings renders; the grid\n  reflows on its own.\n\n  Note: the building record itself is what drives the card, so a building\n  with nothing currently for rent still renders (it just shows no price).\n  Only an id that does not exist at all is skipped, with a console warning.\n-->\n\n<style type=\"text\/css\">\n  .liv-buildings.liv-buildings,\n  .liv-buildings.liv-buildings * {\n    box-sizing: border-box !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    font-family: Inter, Helvetica, Arial, sans-serif !important;\n    font-style: normal !important;\n    line-height: 1.4 !important;\n    letter-spacing: normal !important;\n    word-spacing: normal !important;\n    text-transform: none !important;\n    text-indent: 0 !important;\n    text-align: left !important;\n    text-shadow: none !important;\n    float: none !important;\n    list-style: none !important;\n  }\n\n  \/* ---------- Block ---------- *\/\n  .liv-buildings.liv-buildings {\n    display: block !important;\n    max-width: 1094px;\n    margin: 40px auto !important;\n    padding: 32px 0 !important;\n    border-top: 1px solid #eaecf1;\n    border-bottom: 1px solid #eaecf1;\n    background: none;\n    font-size: 13px !important;\n    color: #0e131b !important;\n    -webkit-font-smoothing: antialiased;\n    container-type: inline-size;\n    container-name: livbuildings;\n  }\n\n  .liv-buildings .liv-buildings__title {\n    display: block !important;\n    font-size: 24px !important;\n    font-weight: 700 !important;\n    line-height: 1.2 !important;\n    letter-spacing: -0.4px !important;\n    color: #0e131b !important;\n    margin: 0 0 20px !important;\n    padding: 0 !important;\n  }\n\n  \/* ---------- Grid ---------- *\/\n  .liv-buildings .liv-buildings__grid {\n    display: grid !important;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 14px;\n    align-items: stretch;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  @media only screen and (min-width: 900px) {\n    .liv-buildings .liv-buildings__grid {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 16px;\n    }\n  }\n\n  @container livbuildings (max-width: 699px) {\n    .liv-buildings .liv-buildings__grid {\n      grid-template-columns: repeat(2, minmax(0, 1fr));\n      gap: 14px;\n    }\n  }\n\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__grid {\n      grid-template-columns: repeat(4, minmax(0, 1fr));\n      gap: 16px;\n    }\n  }\n\n  \/* Small counts should not stretch a card across the whole column. *\/\n  .liv-buildings .liv-buildings__grid--n1 {\n    grid-template-columns: minmax(0, 1fr);\n    max-width: 320px;\n  }\n\n  .liv-buildings .liv-buildings__grid--n2 {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    max-width: 660px;\n  }\n\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__grid--n3 {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      max-width: 820px;\n    }\n  }\n\n  \/* 5 or 9 buildings across 4 columns strands a single card on its own\n     row. Three columns divides both evenly (3+2, 3+3+3). Declared after\n     the base grid so it wins on source order in both engines. *\/\n  @media only screen and (min-width: 900px) {\n    .liv-buildings .liv-buildings__grid--three {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__grid--three {\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n    }\n  }\n\n  \/* ---------- Card ----------\n     Qualified with the tag so it also outranks theme rules aimed at\n     `.entry-content a`, which is where link colour usually comes from. *\/\n  .liv-buildings a.liv-buildings__card {\n    display: flex !important;\n    flex-direction: column;\n    background: #ffffff !important;\n    border: 1px solid #d2d7df !important;\n    border-radius: 8px !important;\n    box-shadow: 0 0 16px 0 rgba(69, 79, 91, 0.12) !important;\n    overflow: hidden;\n    margin: 0 !important;\n    padding: 0 !important;\n    text-decoration: none !important;\n    color: #0e131b !important;\n    cursor: pointer;\n  }\n\n  .liv-buildings a.liv-buildings__card:hover,\n  .liv-buildings a.liv-buildings__card:focus,\n  .liv-buildings a.liv-buildings__card:visited {\n    text-decoration: none !important;\n    color: #0e131b !important;\n  }\n\n  .liv-buildings .liv-buildings__media {\n    display: block !important;\n    position: relative;\n    width: 100%;\n    aspect-ratio: 16 \/ 10;\n    background: #f3f5f7;\n    overflow: hidden;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  @supports not (aspect-ratio: 16 \/ 10) {\n    .liv-buildings .liv-buildings__media {\n      height: 140px;\n    }\n  }\n\n  .liv-buildings img.liv-buildings__img {\n    display: block !important;\n    width: 100% !important;\n    height: 100% !important;\n    max-width: 100% !important;\n    object-fit: cover;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 0 !important;\n    border-radius: 0 !important;\n    box-shadow: none !important;\n  }\n\n  .liv-buildings .liv-buildings__badge {\n    display: inline-block !important;\n    position: absolute;\n    top: 8px;\n    left: 8px;\n    max-width: calc(100% - 16px);\n    background: #0e131b !important;\n    color: #ffffff !important;\n    font-size: 10px !important;\n    font-weight: 500 !important;\n    line-height: 16px !important;\n    margin: 0 !important;\n    padding: 1px 6px !important;\n    border: 0 !important;\n    border-radius: 2px !important;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    pointer-events: none;\n  }\n\n  .liv-buildings .liv-buildings__body {\n    display: flex !important;\n    flex-direction: column;\n    flex: 1;\n    gap: 5px;\n    margin: 0 !important;\n    padding: 10px !important;\n  }\n\n  .liv-buildings .liv-buildings__price-row {\n    display: flex !important;\n    align-items: baseline;\n    flex-wrap: nowrap;\n    gap: 4px;\n    min-width: 0;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  .liv-buildings .liv-buildings__price {\n    font-size: 15px !important;\n    font-weight: 700 !important;\n    line-height: 1.3 !important;\n    color: #0e131b !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n  }\n\n  .liv-buildings .liv-buildings__period {\n    font-size: 11px !important;\n    font-weight: 400 !important;\n    line-height: 1.3 !important;\n    color: #0e131b !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    white-space: nowrap;\n  }\n\n  .liv-buildings .liv-buildings__details {\n    display: block !important;\n    font-size: 12px !important;\n    font-weight: 500 !important;\n    line-height: 1.4 !important;\n    color: #5a6881 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  .liv-buildings .liv-buildings__divider {\n    display: block !important;\n    height: 1px;\n    width: 100%;\n    background: #d2d7df !important;\n    border: 0 !important;\n    margin: 3px 0 !important;\n    padding: 0 !important;\n  }\n\n  \/* Building names run long, so give them two lines rather than\n     truncating \"Lakeview Pointe Kelowna Apartments\" to nothing. *\/\n  .liv-buildings .liv-buildings__name {\n    display: -webkit-box !important;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n    font-size: 12px !important;\n    font-weight: 600 !important;\n    line-height: 1.35 !important;\n    color: #0e131b !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  \/* Two lines rather than one ellipsized line: on a 2-up phone layout a\n     single line drops the city, which is the half that matters when the\n     block spans more than one of them. *\/\n  .liv-buildings .liv-buildings__region {\n    display: -webkit-box !important;\n    -webkit-line-clamp: 2;\n    -webkit-box-orient: vertical;\n    overflow: hidden;\n    font-size: 11px !important;\n    font-weight: 400 !important;\n    line-height: 1.35 !important;\n    color: #5a6881 !important;\n    margin: 0 !important;\n    padding: 0 !important;\n  }\n\n  \/* `margin: auto 0 0` rather than `margin-top: auto` - the reset zeroes\n     the shorthand, so a longhand top margin would be overwritten and the\n     buttons would stop aligning along the bottom of a row. *\/\n  .liv-buildings .liv-buildings__cta {\n    display: flex !important;\n    align-items: center;\n    justify-content: center;\n    height: 32px;\n    margin: auto 0 0 !important;\n    padding: 0 8px !important;\n    background: #051a49 !important;\n    color: #ffffff !important;\n    font-size: 11px !important;\n    font-weight: 500 !important;\n    line-height: 1 !important;\n    text-align: center !important;\n    border: 0 !important;\n    border-radius: 6px !important;\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    transition: background 0.15s ease;\n  }\n\n  .liv-buildings a.liv-buildings__card:hover .liv-buildings__cta {\n    background: #0d3880 !important;\n  }\n\n  \/* One step up once the block itself has room. Scoped to the block, not\n     the card, so there is only a single set of overrides to reason about. *\/\n  @container livbuildings (min-width: 700px) {\n    .liv-buildings .liv-buildings__body {\n      gap: 7px;\n      padding: 12px !important;\n    }\n\n    .liv-buildings .liv-buildings__badge {\n      top: 12px;\n      left: 12px;\n      max-width: calc(100% - 24px);\n      font-size: 11px !important;\n      line-height: 18px !important;\n      padding: 1px 8px !important;\n    }\n\n    .liv-buildings .liv-buildings__price {\n      font-size: 17px !important;\n    }\n\n    .liv-buildings .liv-buildings__period {\n      font-size: 13px !important;\n    }\n\n    .liv-buildings .liv-buildings__details,\n    .liv-buildings .liv-buildings__name {\n      font-size: 13px !important;\n    }\n\n    .liv-buildings .liv-buildings__region {\n      font-size: 12px !important;\n    }\n\n    .liv-buildings .liv-buildings__cta {\n      height: 38px;\n      font-size: 13px !important;\n    }\n  }\n\n  .liv-buildings a.liv-buildings__footer-link {\n    display: block !important;\n    font-size: 14px !important;\n    font-weight: 500 !important;\n    line-height: 1.4 !important;\n    color: #051a49 !important;\n    text-align: center !important;\n    margin: 18px 0 0 !important;\n    padding: 0 !important;\n    background: none !important;\n    text-decoration: none !important;\n  }\n\n  .liv-buildings a.liv-buildings__footer-link:visited,\n  .liv-buildings a.liv-buildings__footer-link:focus,\n  .liv-buildings a.liv-buildings__footer-link:hover {\n    color: #051a49 !important;\n  }\n\n  .liv-buildings a.liv-buildings__footer-link:hover {\n    text-decoration: underline !important;\n  }\n\n  \/* The placeholder the block renders INTO is ordinary post content, so\n     the theme styles it too - a stray `padding` there silently re-centres\n     the whole block, and a `margin-bottom` adds phantom space under it.\n     findMount() tags the div it creates as a fallback with the same class\n     so this rule reaches that one as well. *\/\n  .liv-buildings-root.liv-buildings-root,\n  #liv-buildings-root {\n    display: block !important;\n    margin: 0 !important;\n    padding: 0 !important;\n    border: 0 !important;\n    background: none !important;\n    font-size: inherit !important;\n    line-height: normal !important;\n    text-align: left !important;\n    text-indent: 0 !important;\n  }\n<\/style>\n\n<script type=\"text\/javascript\">\n  \/* ==================================================================\n   * DO NOT PUT AN AMPERSAND CHARACTER ANYWHERE IN THIS SCRIPT.\n   *\n   * WordPress runs post content through wptexturize(), which rewrites a\n   * bare ampersand into a numeric HTML entity. Inside a script tag that\n   * is a syntax error, so the whole block dies on parse: the markup is\n   * still visible in the DOM, but nothing runs and no request is made.\n   * It rewrites only SOME of them, which makes it look intermittent.\n   *\n   * That is why this file uses nested ifs, ternaries, early returns and\n   * the get() helper instead of the logical-and operator. Keeping the\n   * character out entirely means `grep` is a reliable check.\n   * ================================================================== *\/\n  (function () {\n    \/\/ Captured while this script runs, so each copy of the block can find\n    \/\/ its OWN placeholder. `document.currentScript` is null inside the\n    \/\/ deferred callback, so it has to be read here at the top level.\n    var SELF = document.currentScript;\n\n    \/* ----------------------------------------------------------------\n     * CONFIG - edit these\n     * ---------------------------------------------------------------- *\/\n    var CONFIG = {\n      \/\/ Buildings to show, in the order they should appear. Paste the\n      \/\/ full liv.rent URL: the id is read out of it for the query and\n      \/\/ the URL itself becomes the card link, slug and all.\n      \/\/ Works with 1 building, works with 10.\n      BUILDING_URLS: [\n        \"https:\/\/liv.rent\/building\/55691\/lakeview-pointe-kelowna-apartments-apartment-building-3623-elliot-road-west-kelowna-bc\",\n        \"https:\/\/liv.rent\/building\/53981\/parque-on-park-apartment-building-20449-park-ave-langley-bc\",\n        \"https:\/\/liv.rent\/building\/8227\/the-pendrell-apartment-building-1770-pendrell-st-vancouver-bc\",\n        \"https:\/\/liv.rent\/building\/55792\/nells-place-apartment-building-4502-rupert-street-vancouver-bc\",\n        \"https:\/\/liv.rent\/building\/55771\/hub-place-apartment-building-1649-e-broadway-vancouver-bc\",\n      ],\n      TITLE: \"Now renting in B.C.\",\n      FOOTER_LINK_TEXT: \"See all CAPREIT rental listings\",\n      FOOTER_LINK_URL: \"https:\/\/liv.rent\/company\/capreit\",\n      ROOT_SELECTOR: \".liv-buildings-root, #liv-buildings-root\",\n      IMAGES_URL: \"https:\/\/cdn.liv.rent\",\n      GRAPHQL_URL: \"https:\/\/nemesis-prod.liv.rent\/graphql\",\n      \/\/ Safety rail so a runaway paste cannot fire a 40-alias query.\n      MAX_BUILDINGS: 10,\n    };\n\n    \/* ----------------------------------------------------------------\n     * Query - one request, two aliased fields per building.\n     *\n     *   building(...)       the building record: name, address, photos.\n     *                       Renders even with nothing available.\n     *   buildingDetail(...) the units currently live in that building.\n     *                       The server pins state_machine=published and\n     *                       is_hidden=false, so this is only ever what a\n     *                       renter could actually apply to right now.\n     *\n     * Ids are digits pulled out of the URL by regex, so they are safe to\n     * inline as Int literals.\n     * ---------------------------------------------------------------- *\/\n    var BUILDING_FIELDS = [\n      \"id\",\n      \"name\",\n      \"building_type\",\n      \"full_street_name\",\n      \"city\",\n      \"state\",\n      \"building_files { aws_s3_key tag position }\",\n    ];\n\n    var LISTING_FIELDS = [\n      \"listing_id\",\n      \"price\",\n      \"price_frequency\",\n      \"bedrooms\",\n      \"gr_unit\",\n      \"gr_count\",\n      \"gr_min_price\",\n      \"unit_type_scope_txt_id\",\n      \"cover_photo_aws_s3_key\",\n    ];\n\n    function buildQuery(ids) {\n      var lines = [\"query blogBuildings {\"];\n      ids.forEach(function (id, index) {\n        lines.push(\n          \"  b\" + index + \": building(input: { building_id: \" + id + \" }) {\",\n        );\n        lines.push(\"    \" + BUILDING_FIELDS.join(\"\\n    \"));\n        lines.push(\"  }\");\n        lines.push(\n          \"  d\" +\n            index +\n            \": buildingDetail(input: { building_id: \" +\n            id +\n            \" }) {\",\n        );\n        lines.push(\"    \" + LISTING_FIELDS.join(\"\\n    \"));\n        lines.push(\"  }\");\n      });\n      lines.push(\"}\");\n      return lines.join(\"\\n\");\n    }\n\n    \/* ----------------------------------------------------------------\n     * Lookups mirrored from the liv.rent app so wording matches\n     * ---------------------------------------------------------------- *\/\n    var PERIOD = {\n      monthly: \"\/Month\",\n      weekly: \"\/Week\",\n      daily: \"\/Day\",\n      yearly: \"\/Year\",\n      one_time: \"\/One-time\",\n    };\n\n    \/\/ Widest first: the src, then the retry ladder attachFallback() walks.\n    var SIZES = [\n      [480, 300],\n      [320, 200],\n    ];\n\n    var TYPE_LABEL = {\n      condo: \"Apartment Building\",\n      highrise: \"Apartment Building\",\n      lowrise: \"Apartment Building\",\n      house: \"House\",\n      townhouse: \"Townhouse\",\n    };\n\n    \/* ----------------------------------------------------------------\n     * Helpers\n     * ---------------------------------------------------------------- *\/\n    function el(tag, className) {\n      var node = document.createElement(tag);\n      if (className) node.className = className;\n      return node;\n    }\n\n    \/\/ Walks a path of keys, stopping at the first missing link.\n    function get(obj, path) {\n      var node = obj;\n      for (var i = 0; i < path.length; i++) {\n        if (!node) return null;\n        node = node[path[i]];\n      }\n      return node;\n    }\n\n    function money(value) {\n      var n = Number(value);\n      if (!isFinite(n)) return null;\n      if (n <= 0) return null;\n      return \"$\" + Math.round(n).toLocaleString(\"en-US\");\n    }\n\n    \/\/ gr_unit marks a \"group\" listing: one record standing in for several\n    \/\/ identical units, priced from gr_min_price.\n    function isGroup(listing) {\n      if (listing.gr_unit === true) return true;\n      return listing.gr_unit === \"1\";\n    }\n\n    \/\/ https:\/\/liv.rent\/building\/55691\/lakeview-pointe... -> '55691'\n    function idFromUrl(url) {\n      var match = String(url || \"\").match(\/\\\/building\\\/(\\d+)\/);\n      if (!match) return null;\n      return match[1];\n    }\n\n    \/\/ Mirrors getImageUrl() in the app, including the character escapes -\n    \/\/ an unescaped bracket or quote in a filename breaks the CDN path.\n    function imageUrl(key, width, height) {\n      if (!key) return null;\n      var match = String(key).match(\/static_file.+$\/);\n      if (!match) return null;\n      var path = match[0]\n        .replace(\/^\\\/\/, \"\")\n        .replace(\/ \/g, \"%20\")\n        .replace(\/\\(\/g, \"%28\")\n        .replace(\/\\)\/g, \"%29\")\n        .replace(\/'\/g, \"%27\")\n        .replace(\/\"\/g, \"%22\");\n      return (\n        CONFIG.IMAGES_URL +\n        \"\/\" +\n        width +\n        \"x\" +\n        height +\n        \"\/filters:quality(80)\/\" +\n        path\n      );\n    }\n\n    \/\/ Some older building photos are narrower than the largest thumbnail\n    \/\/ the card asks for, and the CDN answers an upscale with a 500 rather\n    \/\/ than serving the original. Step down through the smaller sizes, then\n    \/\/ give up and leave the neutral panel instead of a broken-image icon.\n    \/\/ srcset has to go with the first retry or the browser just reselects\n    \/\/ the candidate that already failed.\n    function attachFallback(img, key) {\n      var step = 0;\n      img.onerror = function () {\n        if (step >= SIZES.length) {\n          img.onerror = null;\n          if (img.parentNode) img.parentNode.removeChild(img);\n          return;\n        }\n        var size = SIZES[step];\n        step += 1;\n        img.removeAttribute(\"srcset\");\n        img.removeAttribute(\"sizes\");\n        img.setAttribute(\"src\", imageUrl(key, size[0], size[1]));\n      };\n    }\n\n    \/\/ Building photos prefer the tagged cover. Some buildings only carry\n    \/\/ untagged `building_image` rows with a null position, so the sort is\n    \/\/ a tiebreak rather than the primary rule.\n    function coverKey(building, listings) {\n      var files = building.building_files;\n      if (Array.isArray(files)) {\n        if (files.length) {\n          var cover = files.filter(function (file) {\n            return file.tag === \"cover_photo\";\n          })[0];\n          if (cover) return cover.aws_s3_key;\n\n          var ordered = files.slice().sort(function (a, b) {\n            return position(a) - position(b);\n          });\n          if (ordered[0]) return ordered[0].aws_s3_key;\n        }\n      }\n\n      \/\/ No building photo on file: borrow the first live unit's cover so\n      \/\/ the card is never a grey box.\n      var withPhoto = listings.filter(function (listing) {\n        return Boolean(listing.cover_photo_aws_s3_key);\n      })[0];\n      if (withPhoto) return withPhoto.cover_photo_aws_s3_key;\n      return null;\n    }\n\n    function position(file) {\n      var n = Number(file.position);\n      if (!isFinite(n)) return 9999;\n      return n;\n    }\n\n    function bedLabel(n) {\n      if (!n) return \"Studio\";\n      return n + \" Bed\";\n    }\n\n    \/* Rolls the live units up into the three things the card shows:\n     * how many are available, the cheapest asking price, and the spread\n     * of bedroom counts. *\/\n    function summarise(listings) {\n      var units = 0;\n      var price = null;\n      var frequency = \"\";\n      var minBeds = null;\n      var maxBeds = null;\n      var hasRoom = false;\n\n      listings.forEach(function (listing) {\n        var group = isGroup(listing);\n\n        var count = Number(listing.gr_count);\n        if (group) {\n          units += isFinite(count) ? Math.max(count, 1) : 1;\n        } else {\n          units += 1;\n        }\n\n        var amount = Number(group ? listing.gr_min_price : listing.price);\n        if (isFinite(amount)) {\n          if (amount > 0) {\n            if (price === null) {\n              price = amount;\n              frequency = listing.price_frequency;\n            } else if (amount < price) {\n              price = amount;\n              frequency = listing.price_frequency;\n            }\n          }\n        }\n\n        \/\/ A room in a shared unit has no meaningful bedroom count.\n        var scope = String(listing.unit_type_scope_txt_id || \"\").toUpperCase();\n        if (scope === \"SINGLE\") {\n          hasRoom = true;\n          return;\n        }\n\n        var beds = Number(listing.bedrooms);\n        if (isFinite(beds)) {\n          if (minBeds === null) minBeds = beds;\n          else if (beds < minBeds) minBeds = beds;\n          if (maxBeds === null) maxBeds = beds;\n          else if (beds > maxBeds) maxBeds = beds;\n        }\n      });\n\n      return {\n        units: units,\n        price: money(price),\n        period: PERIOD[frequency] || \"\",\n        beds: bedText(minBeds, maxBeds, hasRoom),\n      };\n    }\n\n    function bedText(min, max, hasRoom) {\n      if (min === null) return hasRoom ? \"Room\" : \"\";\n      if (min === max) {\n        var single = bedLabel(min);\n        return hasRoom ? single + \" \u00b7 Room\" : single;\n      }\n      var low = !min ? \"Studio\" : String(min);\n      var range = low + \" - \" + max + \" Bed\";\n      return hasRoom ? range + \" \u00b7 Room\" : range;\n    }\n\n    function unitsText(units) {\n      if (!units) return \"\";\n      if (units === 1) return \"1 Unit Available\";\n      return units + \" Units Available\";\n    }\n\n    function typeLabel(building) {\n      var type = String(building.building_type || \"\").toLowerCase();\n      return TYPE_LABEL[type] || \"Building\";\n    }\n\n    \/* ----------------------------------------------------------------\n     * Rendering\n     * ---------------------------------------------------------------- *\/\n    function buildCard(entry) {\n      var building = entry.building;\n      var listings = entry.listings;\n      var summary = summarise(listings);\n\n      var name = building.name || building.full_street_name;\n      var region = [building.full_street_name, building.city, building.state]\n        .filter(Boolean)\n        .join(\", \");\n\n      var card = el(\"a\", \"liv-buildings__card\");\n      \/\/ The pasted URL is the link, so the slug always matches the one\n      \/\/ that was checked by hand.\n      card.setAttribute(\"href\", entry.url);\n      card.setAttribute(\"id\", \"liv-blog-building-\" + building.id);\n      \/\/ Same as the footer link: new tab so the reader keeps their place,\n      \/\/ noopener for safety, and no noreferrer so the visit still\n      \/\/ attributes back to the blog.\n      card.setAttribute(\"target\", \"_blank\");\n      card.setAttribute(\"rel\", \"noopener\");\n\n      \/* Media *\/\n      var media = el(\"div\", \"liv-buildings__media\");\n      var key = coverKey(building, listings);\n      var src = imageUrl(key, 640, 400);\n\n      if (src) {\n        var img = el(\"img\", \"liv-buildings__img\");\n        img.setAttribute(\"src\", src);\n        img.setAttribute(\n          \"srcset\",\n          [\n            imageUrl(key, 320, 200) + \" 320w\",\n            imageUrl(key, 480, 300) + \" 480w\",\n            imageUrl(key, 640, 400) + \" 640w\",\n          ].join(\", \"),\n        );\n        \/\/ Layout is driven by the blog column, not the viewport, and the\n        \/\/ column count varies with how many buildings are configured, so\n        \/\/ one static hint cannot be exact. It errs to the widest case (3\n        \/\/ across) - better a slightly heavy image than a soft one.\n        img.setAttribute(\"sizes\", \"(min-width: 900px) 360px, 50vw\");\n        img.setAttribute(\"loading\", \"lazy\");\n        img.setAttribute(\"decoding\", \"async\");\n        img.setAttribute(\"alt\", [name, region].filter(Boolean).join(\", \"));\n        attachFallback(img, key);\n        media.appendChild(img);\n      }\n\n      var badgeText = unitsText(summary.units);\n      if (badgeText) {\n        var badge = el(\"span\", \"liv-buildings__badge\");\n        badge.textContent = badgeText;\n        media.appendChild(badge);\n      }\n\n      card.appendChild(media);\n\n      \/* Body *\/\n      var body = el(\"div\", \"liv-buildings__body\");\n\n      var priceRow = el(\"div\", \"liv-buildings__price-row\");\n      var priceNode = el(\"span\", \"liv-buildings__price\");\n      if (summary.price) {\n        priceNode.textContent = \"From \" + summary.price;\n        priceRow.appendChild(priceNode);\n        if (summary.period) {\n          var periodNode = el(\"span\", \"liv-buildings__period\");\n          periodNode.textContent = summary.period;\n          priceRow.appendChild(periodNode);\n        }\n      } else {\n        \/\/ Nothing live in the building today. The building page is still\n        \/\/ worth a visit, so the card stays and only the price softens.\n        priceNode.textContent = \"Contact for availability\";\n        priceRow.appendChild(priceNode);\n      }\n      body.appendChild(priceRow);\n\n      var details = el(\"p\", \"liv-buildings__details\");\n      details.textContent = summary.beds || typeLabel(building);\n      body.appendChild(details);\n\n      body.appendChild(el(\"div\", \"liv-buildings__divider\"));\n\n      var nameNode = el(\"p\", \"liv-buildings__name\");\n      nameNode.textContent = name;\n      body.appendChild(nameNode);\n\n      var regionNode = el(\"p\", \"liv-buildings__region\");\n      regionNode.textContent = region;\n      body.appendChild(regionNode);\n\n      var cta = el(\"span\", \"liv-buildings__cta\");\n      cta.textContent = \"View Building\";\n      body.appendChild(cta);\n\n      card.appendChild(body);\n      return card;\n    }\n\n    function render(entries, root) {\n      var wrapper = el(\"div\", \"liv-buildings\");\n\n      var title = el(\"h2\", \"liv-buildings__title\");\n      title.textContent = CONFIG.TITLE;\n      wrapper.appendChild(title);\n\n      var grid = el(\"div\", \"liv-buildings__grid\");\n      if (entries.length < 4) {\n        grid.className += \" liv-buildings__grid--n\" + entries.length;\n      } else if (entries.length % 4 === 1) {\n        \/\/ 5 and 9 would otherwise leave one card alone on the last row.\n        grid.className += \" liv-buildings__grid--three\";\n      }\n      entries.forEach(function (entry) {\n        grid.appendChild(buildCard(entry));\n      });\n      wrapper.appendChild(grid);\n\n      var footer = el(\"a\", \"liv-buildings__footer-link\");\n      footer.textContent = CONFIG.FOOTER_LINK_TEXT;\n      footer.setAttribute(\"href\", CONFIG.FOOTER_LINK_URL);\n      \/\/ Opens in a new tab so the reader keeps their place in the post.\n      \/\/ noopener only - the referrer is left intact so the visit still\n      \/\/ attributes back to the blog.\n      footer.setAttribute(\"target\", \"_blank\");\n      footer.setAttribute(\"rel\", \"noopener\");\n      wrapper.appendChild(footer);\n\n      root.appendChild(wrapper);\n    }\n\n    \/* ----------------------------------------------------------------\n     * Fetch + boot\n     * ---------------------------------------------------------------- *\/\n    \/\/ Two copies of this block on one page must not both render into the\n    \/\/ first placeholder, so prefer the one that follows this script and\n    \/\/ claim it before the fetch starts.\n    var CLAIMED = \"data-liv-mounted\";\n\n    function isFreePlaceholder(node) {\n      if (!node.matches) return false;\n      if (!node.matches(CONFIG.ROOT_SELECTOR)) return false;\n      return !node.hasAttribute(CLAIMED);\n    }\n\n    function findMount() {\n      var host = SELF ? SELF.parentNode : null;\n\n      if (host) {\n        var sibling = SELF.nextElementSibling;\n        while (sibling) {\n          if (isFreePlaceholder(sibling)) return sibling;\n          sibling = sibling.nextElementSibling;\n        }\n      }\n\n      var candidates = document.querySelectorAll(CONFIG.ROOT_SELECTOR);\n      for (var i = 0; i < candidates.length; i++) {\n        if (!candidates[i].hasAttribute(CLAIMED)) return candidates[i];\n      }\n\n      \/\/ No placeholder reached us - render where the script itself sits.\n      \/\/ Tagged with the placeholder class so the theme-neutralising rule\n      \/\/ in the stylesheet covers this div too.\n      if (host) {\n        var mount = document.createElement(\"div\");\n        mount.className = \"liv-buildings-root\";\n        host.insertBefore(mount, SELF.nextSibling);\n        return mount;\n      }\n\n      return null;\n    }\n\n    function parseUrls() {\n      var seen = {};\n      var parsed = [];\n\n      CONFIG.BUILDING_URLS.forEach(function (url) {\n        var id = idFromUrl(url);\n        if (!id) {\n          console.warn(\"[liv.rent buildings] Not a building URL: \" + url);\n          return;\n        }\n        if (seen[id]) return;\n        seen[id] = true;\n        parsed.push({ id: id, url: url });\n      });\n\n      if (parsed.length > CONFIG.MAX_BUILDINGS) {\n        console.warn(\n          \"[liv.rent buildings] Showing the first \" +\n            CONFIG.MAX_BUILDINGS +\n            \" of \" +\n            parsed.length +\n            \" buildings.\",\n        );\n        return parsed.slice(0, CONFIG.MAX_BUILDINGS);\n      }\n\n      return parsed;\n    }\n\n    function load() {\n      var targets = parseUrls();\n      if (!targets.length) {\n        console.warn(\"[liv.rent buildings] No usable building URLs.\");\n        return;\n      }\n\n      var root = findMount();\n      if (!root) {\n        console.warn(\n          \"[liv.rent buildings] No place to render - expected a <div \" +\n            'class=\"liv-buildings-root\"> after the script.',\n        );\n        return;\n      }\n      root.setAttribute(CLAIMED, \"1\");\n\n      var ids = targets.map(function (target) {\n        return target.id;\n      });\n\n      fetch(CONFIG.GRAPHQL_URL, {\n        method: \"POST\",\n        headers: { \"Content-Type\": \"application\/json\" },\n        body: JSON.stringify({ query: buildQuery(ids) }),\n      })\n        .then(function (res) {\n          return res.json();\n        })\n        .then(function (payload) {\n          if (payload.errors) {\n            if (payload.errors.length) {\n              throw new Error(payload.errors[0].message);\n            }\n          }\n\n          var missing = [];\n\n          \/\/ Aliases come back keyed by index, so the configured order is\n          \/\/ preserved for free - no client-side reordering needed.\n          var entries = targets\n            .map(function (target, index) {\n              var building = get(payload, [\"data\", \"b\" + index]);\n              if (!building) {\n                missing.push(target.id);\n                return null;\n              }\n              return {\n                id: target.id,\n                url: target.url,\n                building: building,\n                listings: get(payload, [\"data\", \"d\" + index]) || [],\n              };\n            })\n            .filter(Boolean);\n\n          if (missing.length) {\n            console.warn(\n              \"[liv.rent buildings] No building record for: \" +\n                missing.join(\", \"),\n            );\n          }\n\n          \/\/ Leave the post untouched rather than showing an empty frame.\n          if (!entries.length) return;\n\n          render(entries, root);\n        })\n        .catch(function (err) {\n          console.warn(\"[liv.rent buildings] Failed to load buildings.\", err);\n        });\n    }\n\n    \/\/ The block can be parsed after DOMContentLoaded has already fired.\n    if (document.readyState === \"loading\") {\n      document.addEventListener(\"DOMContentLoaded\", load, false);\n    } else {\n      load();\n    }\n  })();\n<\/script>\n\n<!-- Where the block renders. Keep this after the script. -->\n<div class=\"liv-buildings-root\"><\/div>\n\n<style id=\"liv-buildings-subtitle-css\">\n.liv-buildings .liv-buildings__subtitle{display:block !important;font-size:14px !important;font-weight:500 !important;line-height:1.4 !important;color:#5b6472 !important;margin:-14px 0 20px !important;padding:0 !important;letter-spacing:0 !important;}\n<\/style>\n<script>\n(function(){\n  var TEXT = \"Featured buildings from CAPREIT\";\n  function place(){\n    var done = 0;\n    document.querySelectorAll('.liv-buildings').forEach(function(root){\n      var t = root.querySelector('.liv-buildings__title');\n      if(!t) return;\n      if(root.querySelector('.liv-buildings__subtitle')) { done++; return; }\n      var s = document.createElement('div');\n      s.className = 'liv-buildings__subtitle';\n      s.textContent = TEXT;\n      t.insertAdjacentElement('afterend', s);\n      done++;\n    });\n    return done;\n  }\n  if(document.readyState==='loading') document.addEventListener('DOMContentLoaded', place); else place();\n  var n=0, iv=setInterval(function(){ place(); if(++n>40) clearInterval(iv); }, 250);\n})();\n<\/script>\n\n\n<script id=\"capreit-cta-tracking\">\n(function(){\n  var PROV = \"bc\", PROVU = \"BC\";\n  function tag(){\n    document.querySelectorAll(\".liv-buildings\").forEach(function(root){\n      var cards = root.querySelectorAll(\"a.liv-buildings__card\");\n      Array.prototype.forEach.call(cards, function(a, i){\n        var pos = i + 1;\n        if(!a.getAttribute(\"data-building-id\")){\n          var m = (a.id || \"\").match(\/liv-blog-building-(\\d+)\/);\n          if(m) a.setAttribute(\"data-building-id\", m[1]);\n        }\n        if(!a.getAttribute(\"data-building-name\")){\n          var n = a.querySelector(\".liv-buildings__name\");\n          if(n) a.setAttribute(\"data-building-name\", n.textContent.trim());\n        }\n        a.setAttribute(\"data-province\", PROVU);\n        a.setAttribute(\"data-position\", String(pos));\n        a.setAttribute(\"data-cta-type\", \"building\");\n        a.id = \"blog-cta-capreit-\" + PROV + \"-building-\" + pos;\n      });\n      var f = root.querySelector(\"a.liv-buildings__footer-link\");\n      if(f){\n        f.id = \"blog-cta-capreit-\" + PROV + \"-footer-all-listings\";\n        f.setAttribute(\"data-province\", PROVU);\n        f.setAttribute(\"data-cta-type\", \"footer-all-listings\");\n      }\n    });\n  }\n  if(document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", tag); else tag();\n  var c = 0, iv = setInterval(function(){ tag(); if(++c > 40) clearInterval(iv); }, 250);\n  if(!window.__capreitCtaBound){\n    window.__capreitCtaBound = true;\n    \/\/ bubble phase, so anything that cancels the navigation has already run\n    document.addEventListener(\"click\", function(e){\n      if (e.defaultPrevented) return;                 \/\/ navigation was cancelled\n      if (typeof e.button === \"number\" && e.button !== 0) return;  \/\/ primary button only\n      var a = e.target && e.target.closest ? e.target.closest(\"a[id^='blog-cta-capreit-']\") : null;\n      if (!a) return;\n      var href = a.getAttribute(\"href\") || \"\";\n      if (!href) return;\n      if (href.charAt(0) === \"#\") return;\n      if (href.toLowerCase().indexOf(\"javascript:\") === 0) return;\n      window.dataLayer = window.dataLayer || [];\n      window.dataLayer.push({\n        event: \"capreit_blog_cta_click\",\n        cta_id: a.id,\n        cta_type: a.getAttribute(\"data-cta-type\") || \"\",\n        building_id: a.getAttribute(\"data-building-id\") || \"\",\n        building_name: a.getAttribute(\"data-building-name\") || \"\",\n        province: a.getAttribute(\"data-province\") || \"\",\n        position: a.getAttribute(\"data-position\") ? Number(a.getAttribute(\"data-position\")) : null,\n        link_url: a.href || \"\"\n      });\n    }, false);\n  }\n})();\n<\/script>\n\n\n\n<br><h2 id=\"differences\">Furnished vs. Unfurnished Apartments in Vancouver<\/h2>\n\n\n\n<p>The average rent for a furnished unit in Vancouver stands at <a href=\"https:\/\/liv.rent\/blog\/featured\/june-2025-metro-vancouver-rent-report\/\" target=\"_blank\" rel=\"noreferrer noopener\">$2,333\/month<\/a>, while unfurnished units sit at <a href=\"https:\/\/liv.rent\/blog\/featured\/june-2025-metro-vancouver-rent-report\/\" target=\"_blank\" rel=\"noreferrer noopener\">$2,223\/month<\/a>. The average rent between furnished and unfurnished apartments only differs by about $100, so for those new to the city looking for convenience, furnished could be the way to go. For those looking to decorate their space to their liking, unfurnished apartments are often cheaper and offer more rental options. Additionally, you will find certain neighbourhoods more closely aligned with your budget by reviewing a wide range of areas.<br><\/p>\n\n\n\n<br><h2 id=\"differences\">How Does Vancouver Compare to Nearby Cities?<\/h2>\n\n\n\n<p>As of June, the five most expensive rental markets in Canada are all within Metro Vancouver. West Vancouver tops the list as the priciest city to rent in, followed by North Vancouver, Vancouver, Richmond, and Burnaby.<\/p>\n\n\n\n<p>Interest in areas outside the city centre remains high as more people see the value in relocating and the flexibility of remote work. As rent drops across desirable areas, renters are also interested in finding the best deals in the areas they want to be in, which means many renters could be staying put or renting closer to transit hubs to save on commuting costs.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"394\" src=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_asset-03-1024x394.jpg\" alt=\"\" class=\"wp-image-63683\" srcset=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_asset-03-980x377.jpg 980w, https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_asset-03-480x185.jpg 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=\"differences\">Is it a Good Time to Rent in Vancouver?<\/h2>\n\n\n\n<p>Compared to recent years, it is generally a good time to rent in Metro Vancouver since average rent prices have decreased. In fact, the average rent cost in Metro Vancouver has been on a steady decline for the last 16 months. One-bedroom apartments peaked in 2023 and have been trending down ever since.<br><br>It goes without saying that Vancouver is still an expensive place to be, and although rent costs may have come down, it remains one of the most expensive places to rent in the country. Factors such as inflation, cost-of-living, and the housing crisis continue to impact liveability standards.<\/p>\n\n\n\n<p>Keep up with the latest rental news and stay ahead of trends by checking the <a href=\"https:\/\/liv.rent\/blog\/renters\/where-to-stay-in-vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">liv.rent<\/a> website monthly. As rent continues to decrease in the city, it pays to stay active online and be up-to-date on rental figures across Metro Vancouver.<br><br>For the latest information and listings, explore Vancouver rentals on <a href=\"https:\/\/liv.rent\/blog\/renters\/where-to-stay-in-vancouver\/\" target=\"_blank\" rel=\"noreferrer noopener\">liv.rent.<\/a><\/p>\n\n\n\n<br><h2 id=\"differences\">What Rental Websites are Best for Finding Apartments in Vancouver?<\/h2>\n\n\n\n<p>For renters who value safety, security, and convenience, <a href=\"https:\/\/liv.rent\/blog\/renters\/how-to-find-apartments-for-rent-in-canada\/\" target=\"_blank\" rel=\"noreferrer noopener\">liv.rent<\/a> offers a trusted and efficient way to find housing across B.C., Ontario, Alberta, and Montreal. Easily compare listings above using key features and other important details to find the right fit.<br><br>There are many other notable and trusted websites for finding apartments in Vancouver. We have compiled a list of other popular rental websites in the city below:<br><br>\u2022 Zumper<br>\u2022 Zillow<br>\u2022 Condos.ca<br>\u2022 Kijiji<br>\u2022 Rentals.ca<br><\/p>\n\n\n\n<br><h2 id=\"differences\">FAQ<\/h2>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">What is the average rent in Vancouver in 2025?<\/h3>\n\n\n\n<p>The average rent for a furnished one-bedroom apartment is $2,333\/month, while unfurnished units are 2.27% to $2,223\/month.<\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">What rental websites are best for finding apartments in Vancouver?<\/h3>\n\n\n\n<p>For the most up-to-date rental information in Vancouver, <a href=\"https:\/\/liv.rent\/\" target=\"_blank\" rel=\"noreferrer noopener\">liv.rent<\/a> is the number one website for <a href=\"https:\/\/liv.rent\/blog\/renters\/how-to-find-apartments-for-rent-in-canada\/\" target=\"_blank\" rel=\"noreferrer noopener\">finding an apartment<\/a>.&nbsp;<\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">Is rent going down in Vancouver?<\/h3>\n\n\n\n<p>Yes, the average rent in Metro Vancouver has gone down and has been on a downward trend for the last 16 months.<\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">What part of Vancouver is cheapest to rent?\n<\/h3>\n\n\n\n<p>Hastings-Sunrise is the most budget-friendly area of Vancouver to rent, averaging just $1,895\/month.<\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">Is it cheaper to rent a house or an apartment in Vancouver?\n<\/h3>\n\n\n\n<p>Renting an apartment is generally cheaper in Vancouver, but, depending on where the house is, you could rent and share living space in a house, and it could be cheaper.<\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">Are there rent control laws in Vancouver?<\/h3>\n\n\n\n<p>Yes, in British Columbia, rent increases are governed by the Residential Tenancy Act (RTA). To learn more about renting rules and regulations in Vancouver, check the <a href=\"https:\/\/www2.gov.bc.ca\/gov\/content\/housing-tenancy\/residential-tenancies\" target=\"_blank\" rel=\"noreferrer noopener\">bc rental law board.<\/a><\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">How often can a landlord raise the rent in Vancouver?<\/h3>\n\n\n\n<p> Landlords are permitted to raise the rent only once every 12 months, and the amount must not exceed the annual allowable increase, which is generally tied to inflation. For 2025, the<a href=\"https:\/\/liv.rent\/blog\/rental-laws\/bc-rent-increase\/\" target=\"_blank\" rel=\"noreferrer noopener\"> maximum allowable rent increase is 3%.<\/a><\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">Is it better to rent a furnished or unfurnished apartment in Vancouver?<\/h3>\n\n\n\n<p>Depending on what you are looking for, unfurnished apartments are cheaper to rent. If you are moving from out of the country and don\u2019t have any furniture, you will need to furnish it yourself, which can be costly.<\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\"> How much is a damage deposit in Vancouver?<\/h3>\n\n\n\n<p>In Vancouver (and British Columbia), the rules for damage deposits, also known as \u201csecurity deposits,\u201d are set by the\u202fResidential Tenancy Act (RTA). Landlords can charge up to half of one month\u2019s rent.<\/p>\n\n\n\n<h3 style=\"color: #fe5f55\" class=\"wp-block-heading\">How can I check if a rental listing in Vancouver is real? <\/h3>\n\n\n\n<p>Verify the address, compare rent prices, request a viewing, and research the landlord. Avoid paying before seeing the unit or signing a lease. Use reputable sites and watch for duplicate ads, low prices, or pressure tactics, which are common signs of a scam. For a comprehensive platform that offers a fully secure alternative to renting websites, check out <a href=\"https:\/\/liv.rent\/blog\/renters\/how-to-find-apartments-for-rent-in-canada\/\" target=\"_blank\" rel=\"noreferrer noopener\">liv.rent.<\/a><\/p>\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","protected":false},"excerpt":{"rendered":"<p>Things seem to be looking up for renters as the average rent in Vancouver, Canada, for a one-bedroom apartment continues to drop. Furnished units saw a 2.32% drop to an average of $2,333\/month, while unfurnished units fell 2.27% to $2,223\/month. Although still among the highest rates in the country, the news is welcome as economic [&hellip;]<\/p>\n","protected":false},"author":46,"featured_media":63680,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false},"categories":[552,135],"tags":[399,591,349],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How Much is the Average Rent in Vancouver, Canada | liv.rent blog<\/title>\n<meta name=\"description\" content=\"Know how much is the average rent in Vancouver Canada in May 2025. Know 1 bedroom apartment vs 2 bedroom apartment rent. Guide by best rental website 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\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How Much is the Average Rent in Vancouver, Canada | liv.rent blog\" \/>\n<meta property=\"og:description\" content=\"Know how much is the average rent in Vancouver Canada in May 2025. Know 1 bedroom apartment vs 2 bedroom apartment rent. Guide by best rental website liv.rent\" \/>\n<meta property=\"og:url\" content=\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/\" \/>\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=\"2025-06-30T22:27:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-28T19:43:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_header-3.jpg\" \/>\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\/jpeg\" \/>\n<meta name=\"author\" content=\"Tyler Nyquvest\" \/>\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=\"Tyler Nyquvest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/\"},\"author\":{\"name\":\"Tyler Nyquvest\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/4dd3c7ec039f94067fb9e458f6fce6ac\"},\"headline\":\"How Much is the Average Rent in Vancouver, Canada\",\"datePublished\":\"2025-06-30T22:27:06+00:00\",\"dateModified\":\"2026-08-28T19:43:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/\"},\"wordCount\":1250,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/liv.rent\/blog\/#organization\"},\"keywords\":[\"Rent Report\",\"Renter Tips\",\"Vancouver\"],\"articleSection\":[\"BC\",\"Neighbourhoods\"],\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/\",\"url\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/\",\"name\":\"How Much is the Average Rent in Vancouver, Canada | liv.rent blog\",\"isPartOf\":{\"@id\":\"https:\/\/liv.rent\/blog\/#website\"},\"datePublished\":\"2025-06-30T22:27:06+00:00\",\"dateModified\":\"2026-08-28T19:43:51+00:00\",\"description\":\"Know how much is the average rent in Vancouver Canada in May 2025. Know 1 bedroom apartment vs 2 bedroom apartment rent. Guide by best rental website liv.rent\",\"breadcrumb\":{\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/#breadcrumb\"},\"inLanguage\":\"en-CA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/liv.rent\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How Much is the Average Rent in Vancouver, Canada\"}]},{\"@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\/4dd3c7ec039f94067fb9e458f6fce6ac\",\"name\":\"Tyler Nyquvest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-CA\",\"@id\":\"https:\/\/liv.rent\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9b878e42d69e870340abf1d358aa9f28?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9b878e42d69e870340abf1d358aa9f28?s=96&d=mm&r=g\",\"caption\":\"Tyler Nyquvest\"},\"url\":\"https:\/\/liv.rent\/blog\/author\/tyler-nyquvest\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How Much is the Average Rent in Vancouver, Canada | liv.rent blog","description":"Know how much is the average rent in Vancouver Canada in May 2025. Know 1 bedroom apartment vs 2 bedroom apartment rent. Guide by best rental website 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\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/","og_locale":"en_US","og_type":"article","og_title":"How Much is the Average Rent in Vancouver, Canada | liv.rent blog","og_description":"Know how much is the average rent in Vancouver Canada in May 2025. Know 1 bedroom apartment vs 2 bedroom apartment rent. Guide by best rental website liv.rent","og_url":"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/","og_site_name":"liv.rent blog","article_publisher":"https:\/\/www.facebook.com\/liv.rent\/","article_published_time":"2025-06-30T22:27:06+00:00","article_modified_time":"2026-08-28T19:43:51+00:00","og_image":[{"width":1620,"height":1080,"url":"https:\/\/liv.rent\/blog\/wp-content\/uploads\/2025\/06\/2025.06_rent-in-vancouver-blog_header-3.jpg","type":"image\/jpeg"}],"author":"Tyler Nyquvest","twitter_card":"summary_large_image","twitter_creator":"@liv_rent","twitter_site":"@liv_rent","twitter_misc":{"Written by":"Tyler Nyquvest","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/#article","isPartOf":{"@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/"},"author":{"name":"Tyler Nyquvest","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/4dd3c7ec039f94067fb9e458f6fce6ac"},"headline":"How Much is the Average Rent in Vancouver, Canada","datePublished":"2025-06-30T22:27:06+00:00","dateModified":"2026-08-28T19:43:51+00:00","mainEntityOfPage":{"@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/"},"wordCount":1250,"commentCount":0,"publisher":{"@id":"https:\/\/liv.rent\/blog\/#organization"},"keywords":["Rent Report","Renter Tips","Vancouver"],"articleSection":["BC","Neighbourhoods"],"inLanguage":"en-CA","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/","url":"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/","name":"How Much is the Average Rent in Vancouver, Canada | liv.rent blog","isPartOf":{"@id":"https:\/\/liv.rent\/blog\/#website"},"datePublished":"2025-06-30T22:27:06+00:00","dateModified":"2026-08-28T19:43:51+00:00","description":"Know how much is the average rent in Vancouver Canada in May 2025. Know 1 bedroom apartment vs 2 bedroom apartment rent. Guide by best rental website liv.rent","breadcrumb":{"@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/#breadcrumb"},"inLanguage":"en-CA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/liv.rent\/blog\/neighbourhoods\/how-much-is-the-average-rent-in-vancouver-canada\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/liv.rent\/blog\/"},{"@type":"ListItem","position":2,"name":"How Much is the Average Rent in Vancouver, Canada"}]},{"@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\/4dd3c7ec039f94067fb9e458f6fce6ac","name":"Tyler Nyquvest","image":{"@type":"ImageObject","inLanguage":"en-CA","@id":"https:\/\/liv.rent\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9b878e42d69e870340abf1d358aa9f28?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9b878e42d69e870340abf1d358aa9f28?s=96&d=mm&r=g","caption":"Tyler Nyquvest"},"url":"https:\/\/liv.rent\/blog\/author\/tyler-nyquvest\/"}]}},"_links":{"self":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/63636"}],"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\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/comments?post=63636"}],"version-history":[{"count":23,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/63636\/revisions"}],"predecessor-version":[{"id":69142,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/posts\/63636\/revisions\/69142"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/media\/63680"}],"wp:attachment":[{"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/media?parent=63636"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/categories?post=63636"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/liv.rent\/blog\/wp-json\/wp\/v2\/tags?post=63636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}