Edmonton commercial real estate services & properties

Edmonton commercial real estate advisor providing services to property owners, investors and occupiers
The experienced team of commercial real estate advisors that make up Avison Young Edmonton are here to meet your company’s real estate needs, regardless of your business line. We offer a full suite of commercial real estate services across greater Edmonton in all major industry sectors – office, industrial, retail, mixed-use, development, and investment – ensuring that your specific real estate requirements are expertly managed.
Avison Young is a global real estate advisor built to create real economic, social, and environmental value, powered by – and for, people. We believe there is a vital role for our sector in creating healthy, productive workplaces for employees; cities that are centres of prosperity for its citizens and; built spaces and places that create a net benefit to the economy, the environment and the community. Our people organize around our clients’ opportunities and work as colleagues to focus on their success.
Edmonton commercial real estate services
Avison Young’s brokerage team in Edmonton has consistently completed major leasing and investment sales transactions across all asset types. We’ve worked on the behalf of tenants, landlords, investors, vendors and buyers alike, including many large national and international corporate clients.
Whether you are an owner, investor, occupier or developer, we deliver results aligned with your strategic business objectives. Our Edmonton commercial real estate advisors are here to support your initiatives, add value, and build a competitive advantage for your organization.

Featured properties for sale and space for lease in Edmonton
Edmonton commercial real estate news
-
Avison Young bolsters Edmonton retail team, with a pair of industry veteransOctober 6, 2023
- Edmonton
-
Avison Young welcomes Edmonton-based leaders to its 2023 Principal ClassApril 19, 2023
- Edmonton
For "?size" left-hand operand: Expected an extended-hash or sequence or extended collection, but this has evaluated to a string (wrapper: f.t.SimpleScalar): ==> linkToken [in template "20302#20342#PERSPECTIVE-THOUGHTLEADERSHIP-ITEM" at line 35, column 11] ---- FTL stack trace ("~" means nesting-related): - Failed at: ${linkToken?size} [in template "20302#20342#PERSPECTIVE-THOUGHTLEADERSHIP-ITEM" at line 35, column 9] ----
1<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") />
2<#assign user = userLocalService.getUserById(permissionChecker.getUserId()) />
3
4<#setting date_format="long">
5<#-- Retrieve the display date meta data field of the web content -->
6<#assign displayDate = .vars['reserved-article-display-date'].data>
7<#-- Save the original page locale for later -->
8<#assign originalLocale = locale>
9<#-- Set the page locale to the portals default locale -->
10<#setting locale = localeUtil.getDefault()>
11<#-- Parse the date to a date object -->
12<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
13<#-- Set the page locale back to the original page locale -->
14<#setting locale = originalLocale>
15
16<#assign assetCategoryServiceUtil = serviceLocator.findService("com.avisonyoung.portal.ui.service.AssetCategoryServiceUtil") />
17<#assign globalGroupId = company.getGroupId() />
18<#assign articleId = .vars['reserved-article-id'].data>
19<#assign getNewsType = assetCategoryServiceUtil.
20 getArticleCategoryTitlesByVocabulary("Local News Type", articleId, companyId, groupId, locale) />
21<#assign getServicesType = assetCategoryServiceUtil.
22 getArticleCategoryTitlesByVocabulary("Services", articleId, companyId, groupId, locale) />
23<#assign getMarketType = assetCategoryServiceUtil.
24 getArticleCategoryTitlesByVocabulary("Markets", articleId, companyId, groupId, locale) />
25
26<#assign cdnCgiPath = "https://www-cdn01.avisonyoung.com/cdn-cgi/image/q=50">
27
28<li>
29 <#if (Link?? && Link.getData()?has_content )>
30 <#assign linkTarget = "target='_blank'" />
31 <#assign linkToken = Link.getData() />
32 <#elseif ( (PDF?? && PDF.getData()?has_content) && !(Link?? && Link?has_content) )>
33 <#assign linkTarget = "target='_blank'" />
34 <#assign linkToken = PDF.getData() />
35 ${linkToken?size}
36 <#else>
37 <#assign linkTarget = "" />
38 <#assign linkToken = "https://www.avisonyoung.ca/web/edmonton/news-item/-/article/2023/11/14/edmonton-industrial-market-report-q3-2023" />
39 </#if>
40 <a href="${linkToken}" ${linkTarget}>
41 <span><em>
42 <#if (getNewsType?size > 0)>
43 <#list getNewsType as getNewsTypeX>
44 ${getNewsTypeX}
45 </#list>
46 </#if>
47 </em></span>
48 <#if (validator.isNotNull(Image.getData()))>
49 <figure>
50 <div>
51 <#assign imgThumb = Image.getData() />
52 <img src="${cdnCgiPath}${imgThumb}" alt="">
53 </div>
54 <figcaption>
55 <div class="ay-blog-tile-title">${Content.getData()}</div>
56 <#--<div class="ay-blog-tile-blurb">
57 <#if (SubTitle?? && SubTitle?has_content)>
58 ${SubTitle.getData()}
59 </#if>
60 </div>-->
61 </figcaption>
62 </figure>
63 </#if>
64 <div class="ay-blog-post-td">${displayDate?date?string}</div>
65 <ul class="ay-blog-tile-post-tags">
66 <#if (getServicesType?size > 0)>
67 <li>
68 <#list getServicesType as getServicesTypeX>
69 ${getServicesTypeX}
70 </#list>
71 </li>
72 </#if>
73 <#if (getMarketType?size > 0)>
74 <li>
75 <#list getMarketType as getMarketTypeX>
76 ${getMarketTypeX}
77 </#list>
78 </li>
79 </#if>
80 </ul>
81 </a>
82
83</li>
For "?size" left-hand operand: Expected an extended-hash or sequence or extended collection, but this has evaluated to a string (wrapper: f.t.SimpleScalar): ==> linkToken [in template "20302#20342#PERSPECTIVE-THOUGHTLEADERSHIP-ITEM" at line 35, column 11] ---- FTL stack trace ("~" means nesting-related): - Failed at: ${linkToken?size} [in template "20302#20342#PERSPECTIVE-THOUGHTLEADERSHIP-ITEM" at line 35, column 9] ----
1<#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") />
2<#assign user = userLocalService.getUserById(permissionChecker.getUserId()) />
3
4<#setting date_format="long">
5<#-- Retrieve the display date meta data field of the web content -->
6<#assign displayDate = .vars['reserved-article-display-date'].data>
7<#-- Save the original page locale for later -->
8<#assign originalLocale = locale>
9<#-- Set the page locale to the portals default locale -->
10<#setting locale = localeUtil.getDefault()>
11<#-- Parse the date to a date object -->
12<#assign displayDate = displayDate?datetime("EEE, d MMM yyyy HH:mm:ss Z")>
13<#-- Set the page locale back to the original page locale -->
14<#setting locale = originalLocale>
15
16<#assign assetCategoryServiceUtil = serviceLocator.findService("com.avisonyoung.portal.ui.service.AssetCategoryServiceUtil") />
17<#assign globalGroupId = company.getGroupId() />
18<#assign articleId = .vars['reserved-article-id'].data>
19<#assign getNewsType = assetCategoryServiceUtil.
20 getArticleCategoryTitlesByVocabulary("Local News Type", articleId, companyId, groupId, locale) />
21<#assign getServicesType = assetCategoryServiceUtil.
22 getArticleCategoryTitlesByVocabulary("Services", articleId, companyId, groupId, locale) />
23<#assign getMarketType = assetCategoryServiceUtil.
24 getArticleCategoryTitlesByVocabulary("Markets", articleId, companyId, groupId, locale) />
25
26<#assign cdnCgiPath = "https://www-cdn01.avisonyoung.com/cdn-cgi/image/q=50">
27
28<li>
29 <#if (Link?? && Link.getData()?has_content )>
30 <#assign linkTarget = "target='_blank'" />
31 <#assign linkToken = Link.getData() />
32 <#elseif ( (PDF?? && PDF.getData()?has_content) && !(Link?? && Link?has_content) )>
33 <#assign linkTarget = "target='_blank'" />
34 <#assign linkToken = PDF.getData() />
35 ${linkToken?size}
36 <#else>
37 <#assign linkTarget = "" />
38 <#assign linkToken = "https://www.avisonyoung.ca/web/edmonton/news-item/-/article/2023/10/16/edmonton-office-market-report-q3-2023" />
39 </#if>
40 <a href="${linkToken}" ${linkTarget}>
41 <span><em>
42 <#if (getNewsType?size > 0)>
43 <#list getNewsType as getNewsTypeX>
44 ${getNewsTypeX}
45 </#list>
46 </#if>
47 </em></span>
48 <#if (validator.isNotNull(Image.getData()))>
49 <figure>
50 <div>
51 <#assign imgThumb = Image.getData() />
52 <img src="${cdnCgiPath}${imgThumb}" alt="">
53 </div>
54 <figcaption>
55 <div class="ay-blog-tile-title">${Content.getData()}</div>
56 <#--<div class="ay-blog-tile-blurb">
57 <#if (SubTitle?? && SubTitle?has_content)>
58 ${SubTitle.getData()}
59 </#if>
60 </div>-->
61 </figcaption>
62 </figure>
63 </#if>
64 <div class="ay-blog-post-td">${displayDate?date?string}</div>
65 <ul class="ay-blog-tile-post-tags">
66 <#if (getServicesType?size > 0)>
67 <li>
68 <#list getServicesType as getServicesTypeX>
69 ${getServicesTypeX}
70 </#list>
71 </li>
72 </#if>
73 <#if (getMarketType?size > 0)>
74 <li>
75 <#list getMarketType as getMarketTypeX>
76 ${getMarketTypeX}
77 </#list>
78 </li>
79 </#if>
80 </ul>
81 </a>
82
83</li>
Market trends and outlook for commercial real estate in Edmonton
Edmonton Industrial Market Report
The Greater Edmonton industrial market's vacancy rate has remained relatively stable compared to Q2. 2023

Edmonton Office Market Report
In the third quarter of 2023, Edmonton's office market saw a notable resurgence, characterized by 165,000 sf of positive absorption.

Edmonton Retail Market Report
Headlines proclaiming the end of retail as we know it persisted nearly so long as the virus itself. But just like that, foot traffic and retail sale volumes are returning to, or even exceeding, pre pandemic levels.


Number of transit commuters on the rise in Alberta
After a significant drop in commuter numbers in 2021 due to the pandemic, transit commuters are on the rise. Positive news for the economy and commercial real estate as more commuters mean more people leaving home for work and business in offices, industrial parks, and retail spaces.
Learn more
Number of vehicle commuters on the rise in Alberta
After a significant drop in commuter numbers in 2021 because of the pandemic, commuters are on the rise during the subsequent two years.
Learn more
Small cities and towns in Alberta experience double digit population growth
Alberta small cities and towns experience double digit population growth, indicating the draw of these urban areas as magnets for regional employment, hybrid work, and affordable housing
Learn more