500 Results
Maximum number of listings are showing — try narrowing your searchFeatured Results
Active
$79,900
419Stockbridge Avenue, Buffalo, New York NY14215
4 Bedrooms
2 Total Baths
1,674 SqFt
0.076 Acres
Active
$229,499
151Forest Avenue, Buffalo, New York NY14213
4 Bedrooms
2 Total Baths
1,176 SqFt
0.090 Acres
Active
$159,900
41Pershing Avenue, Buffalo, New York NY14211
4 Bedrooms
2 Total Baths
1,938 SqFt
0.103 Acres
Active
$169,900
187Colgate Avenue, Buffalo, New York NY14220
3 Bedrooms
1 Total Baths
1,029 SqFt
0.111 Acres
Active
$125,000
205Mulberry Street, Buffalo, New York NY14204
2 Bedrooms
1 Total Baths
1,056 SqFt
0.057 Acres
Active
$375,000
256Ashland Avenue, Buffalo, New York NY14222
4 Bedrooms
3 Total Baths
2,865 SqFt
0.069 Acres
Active
$375,000
256Ashland Avenue, Buffalo, New York NY14222
4 Bedrooms
3 Total Baths
2,865 SqFt
0.069 Acres
Active
$169,900
3Gail Avenue, Buffalo, New York NY14215
4 Bedrooms
1 Total Baths
1,470 SqFt
0.088 Acres
Active
$205,000
35Lakeview Avenue, Buffalo, New York NY14201
5 Bedrooms
2 Total Baths
2,270 SqFt
0.091 Acres
Active
$99,900
200Locust Street, Buffalo, New York NY14204
3 Bedrooms
1 Total Baths
1,217 SqFt
0.057 Acres
Active
$129,900
818West Avenue, Buffalo, New York NY14213
5 Bedrooms
2 Total Baths
2,192 SqFt
0.113 Acres
Active
$225,000
109Spaulding Street, Buffalo, New York NY14220
6 Bedrooms
4 Total Baths
3,816 SqFt
0.069 Acres
Pending
$149,900
174Berkshire Avenue, Buffalo, New York NY14215
3 Bedrooms
1 Total Baths
1,439 SqFt
0.082 Acres
Active
$169,900
97Pershing Avenue, Buffalo, New York NY14211
4 Bedrooms
1 Total Baths
2,014 SqFt
0.090 Acres
Active
$249,900
49Stevenson Street, Buffalo, New York NY14220
Page load link6 Bedrooms
2 Total Baths
2,528 SqFt
0.080 Acres
Active
$149,900
663Hopkins Street, Buffalo, New York NY14220
5 Bedrooms
3 Total Baths
2,164 SqFt
0.093 Acres
Active
$139,900
89Wyoming Avenue, Buffalo, New York NY14215
4 Bedrooms
2 Total Baths
1,408 SqFt
0.108 Acres
Active
$400,000
894Tonawanda Street, Buffalo, New York NY14207
3 Bedrooms
4 Total Baths
3,984 SqFt
0.030 Acres
Pending
$239,500
145Whitehall Avenue, Buffalo, New York NY14220
5 Bedrooms
2 Total Baths
2,276 SqFt
0.092 Acres
Active
$129,900
23Roosevelt Avenue, Buffalo, New York NY14215
4 Bedrooms
2 Total Baths
1,890 SqFt
0.085 Acres
Pending
$39,777
20Olsen Street, Buffalo, New York NY14206
3 Bedrooms
1 Total Baths
1,224 SqFt
0.110 Acres
Pending
$29,999
703Perry Street, Buffalo, New York NY14210
3 Bedrooms
1 Total Baths
1,206 SqFt
0.104 Acres
Active
$139,984
84Wyoming Avenue, Buffalo, New York NY14215
3 Bedrooms
1 Total Baths
906 SqFt
0.100 Acres
Active
$249,900
395Ontario Street, Buffalo, New York NY14207
5 Bedrooms
2 Total Baths
1,908 SqFt
0.086 Acres
Pending
$149,900
169Saint Lawrence Avenue, Buffalo, New York NY14216
4 Bedrooms
1 Total Baths
864 SqFt
0.093 Acres
{"action":"https:\/\/homes.metroroberts.com\/i\/buffalo_homes_for_sale","hiddenInputs":"<input name=\"start\" type=\"hidden\" value=\"1\" \/>\n","maxPerPage":"0","per":"25","currentPage":1,"lastPage":20,"path":"https:\/\/homes.metroroberts.com\/i\/buffalo_homes_for_sale?start=1&per=25"}
All information deemed reliable but not guaranteed and should be independently verified. All properties are subject to prior sale, change or withdrawal. Neither the listing broker(s) nor Metro Roberts Realty shall be responsible for any typographical errors, misinformation, misprints, and shall be held totally harmless. ©2024 CNYIS, UNYREIS, WNYREIS. All rights reserved. Data last updated Monday, July 29th, 2024 at 11:16:05 AM.
Data services provided by IDX Broker
Orchard Park
Phone: 716-662-0449
Address: 4124 North Buffalo Street
Orchard Park, NY 14127
View on Google MapsTonawanda
Phone: 716-875-2211
Address: 2211 Sheridan Drive
Tonawanda, NY 14223
View on Google MapsHamburg
Phone: 716-646-6400
Address: 302 Buffalo Street
Hamburg, NY 14075
View on Google MapsSouth Buffalo
Phone: 716-828-0005
Address: 861 Abbott Road
Buffalo, NY 14220
View on Google MapsDerby
Phone: 716-947-5555
Address: 6853 Erie Road
Derby, NY 14047
View on Google MapsWest Seneca
Phone: 716-891-1710
Address: 960 Center Road
West Seneca, NY 14224
View on Google MapsLancaster
Phone: 716-668-2500
Fax: 716-668-2600
Address: 4721 Transit Road, Suite 18
Depew, NY 14043
View on Google MapsWilliamsville
Phone: 716-559-9972
Address: 5687 Main Street
Williamsville, NY 14221
View on Google MapsWarsaw
Phone: 585-968-4450
Address: 2371 NY Route 19 Suite A
Warsaw, N.Y. 14569
View on Google MapsWNY Tonawanda
Phone: 716-692-9464
Address: 58 Main St.
Tonawanda, NY 14150
View on Google MapsLockport
Phone: 716-727-5680
Address: 21 Main St.
Lockport, NY 14094
View on Google MapsHomes for Sale by Community
Homes for Sale in Buffalo
Homes for Sale in Hamburg
Homes for Sale in Lancaster
Homes for Sale in Orchard Park
Homes for Sale in Tonawanda
Homes for Sale by Property Type
Buffalo Commercial Real Estate
Land for Sale in Buffalo
Luxury Properties in Buffalo
Buffalo Homes with a Pool
Homes for Sale by Zip Code
Homes for Sale in 14226
Homes for Sale in 14221
Homes for Sale in 14222
Homes for Sale in 14031
Homes for Sale in 14216
Homes for Sale by Price Range
Buffalo Homes $100,000 – $200,000
Hamburg Homes $200,000 – $300,000
Lancaster Homes $300,000 – $400,000
Orchard Park Homes $400,000 – $500,000
Lancaster Homes $100,000 – $200,000
Follow
© · WNY Metro Roberts Realty · (716) 891-1710 ·Sitemap·IDX Sitemap·IDX XML Sitemap·Agent Office
Disclaimer – All Rights Reserved by WNY Metro Roberts
WNY Metro offices are all independently owned and operated, Each WNY Metro Office is an Equal Opportunity Employer and supports the Fair Housing Act©·Privacy PolicyGo to Top '; } }, // Generate the pagination link. Link: function (i) { var url = window.location.origin + window.location.pathname; var searchQuery = Pagination.Clone(Pagination.search); searchQuery.start = i.toString(); searchQuery = Object.keys(searchQuery).map(function (key) { var value = searchQuery[key]; if (Array.isArray(value)) { return value.map(function (i) { return key + '=' + i; }).join('&'); } return key + '=' + searchQuery[key]; }).join('&'); if (searchQuery) { url += '?' + searchQuery; } return url; }, // Add the first pagination link with the ellipsis. First: function () { var link = Pagination.Link(1); Pagination.code += '
- 1…
'; }, // Add last pagination link with ellipsis. Last: function () { var link = Pagination.Link(Pagination.size); Pagination.code += '
- …' + Pagination.size + '
'; }, // Generate the link for the >> pagination button. Next: function () { var i = Pagination.page + 1; if (i > Pagination.size) { return '#'; } return Pagination.Link(i); }, // Generate the link for the << pagination button. Previous: function () { var i = Pagination.page - 1; if (i < 1) { return '#'; } return Pagination.Link(i); }, // Bind the items. Bind: function () { var a = Pagination.el.getElementsByTagName('a'); for (var i = 0; i < a.length; i++) { if (+a[i].innerHTML === Pagination.page) { a[i].parentNode.className = 'IDX-active'; } } }, // Write pagination Finish: function () { Pagination.el.innerHTML = Pagination.code; Pagination.code = ''; Pagination.Bind(); }, // Get the type. Start: function () { if (Pagination.size < Pagination.step * 2 + 6) { Pagination.Add(1, Pagination.size + 1); } else if (Pagination.page < Pagination.step * 2 + 1) { Pagination.Add(1, Pagination.step * 2 + 3); Pagination.Last(); } else if (Pagination.page > Pagination.size - Pagination.step * 2) { Pagination.First(); Pagination.Add(Pagination.size - Pagination.step * 2 - 2, Pagination.size + 1); } else { Pagination.First(); Pagination.Add(Pagination.page - Pagination.step, Pagination.page + Pagination.step + 1); Pagination.Last(); } Pagination.Finish(); }, // Create the pagination scaffolding. Create: function (el) { el.innerHTML = '
'; Pagination.el = el.getElementsByTagName('ul')[0]; }, // Create an element with optional children. CreateElement: function (type, attributes) { var el = document.createElement(type); for (var key in attributes) { el.setAttribute(key, attributes[key]); } // We don't have the luxury of es6 rest parameters for the array of children that may or may not be there. for (var _len = arguments.length, children = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { children[_key - 2] = arguments[_key]; } children.forEach(function (child) { if (typeof child === 'string') { el.innerHTML = child; } else { el.appendChild(child); } }); return el; }, // Add the <>> links. End: function () { var previous = Pagination.CreateElement('li', {}, Pagination.CreateElement('a', { href: Pagination.Previous() }, '«')) var next = Pagination.CreateElement('li', {}, Pagination.CreateElement('a', { href: Pagination.Next() }, '»')) Pagination.el.prepend(previous); Pagination.el.append(next); }, // Initialize. Init: function (el, data) { Pagination.Extend(data); Pagination.Create(el); Pagination.Start(el); Pagination.End(); } }; // Get the pager data from the specified element. var getData = function (target) { try { return document.querySelector(target).textContent.trim(); } catch (error) { console.info('No pager data for %s', target); return false; } } var init = function () { var data = JSON.parse(getData('#IDX-resultsPager-data')); if (data) { Pagination.Init(document.getElementById('idx-results-pagination'), { // Size of pages. size: data.lastPage, // Current page. page: parseInt(data.currentPage), // Number of generated links before/after current page. step: 2 }); }; }; const getThemeStyle = function () { const el = document.querySelector('nav.nav-main') if (!el) return false; const style = window.getComputedStyle(el) const primary = style.getPropertyValue('background-color'); const target = document.querySelector('.IDX-wrapper-standard') target.style.setProperty('--idx-theme-primary', primary); } idx('#idx-refinement-toggle').on('click', function () { const target = idx(this).parent().siblings('div'); const className = 'idx-refinement__dropdown--open' target.toggleClass(className) if (target.hasClass(className)) { idx(this) .text('Hide Filters') .attr('aria-expanded', true) } else { idx(this) .text('Show Filters') .attr('aria-expanded', false) } }); idx('#idx-map-toggle').on('click', function () { idx('.idx-page__results').toggleClass('idx-page__results--mobile-map'); idx(window).trigger('resize'); }) getThemeStyle(); init(); fillMap(); idx('.idx-open-house__virtual-link').on('click', function () { var $this = idx(this) const sibling = $this.siblings('input[type="hidden"]') $this.text('Loading...') setTimeout(function () { const link = idx('', { href: sibling.val(), target: '_blank', text: sibling.val() }) $this.before(link); $this.remove(); sibling.remove() }, 1000) }) });})(window);const showErrorMessage = function () { idx('.IDX-detailsSaveFailure') .removeClass('IDX-hide') .text('Could not unfavorite property. Please refresh and try again.'); // Scroll into view. var target = document.getElementsByClassName('IDX-detailsSaveFailure')[0]; target.parentNode.scrollIntoView({ behavior: 'smooth' });};const mlmApiBase = '/idx/api/myaccount/properties/';const modifyCookies = function (cookieName, id) { const savedCookie = decodeURIComponent(document.cookie).split(';') let savedString = '' for (var i = 0; i < savedCookie.length; i++) { let c = savedCookie[i] while (c.charAt(0) === ' ') { c = c.substring(1) } if (c.indexOf(cookieName) === 0) { savedString = c.substring(cookieName.length, c.length) } } if (savedString) { let savedJson = JSON.parse(savedString) savedJson = Object.keys(savedJson) .filter(function (key) { return parseInt(key) !== id }) .reduce(function (obj, key) { obj[key] = savedJson[key] return obj }, {}) savedJson = JSON.stringify(savedJson) const cookieSecurity = window.location.protocol === 'https:' ? ' SameSite=None; Secure' : '' document.cookie = cookieName + encodeURIComponent(savedJson) + '; path=/;' + cookieSecurity; }};idx(document).ready(function () { var registrationComponentInit = function () { var modalID = '#IDX-registration'; idx('label').off().on('click', function (e) { if (idx(modalID).is(':visible')) { var id = idx(this).attr('for'); if (id) { e.preventDefault(); var target = idx(modalID + ' #' + id); idx(target).focus(); } } }); } registrationComponentInit();});/* global form js */document.addEventListener('DOMContentLoaded', function () { var settings = { defaultCookieDuration: 20, // 20 years by default. // Used by the onclick handler to target the dismiss button. notificationTargetId: 'idx-privacy-notice', notificationDismiss: '.idx-button--dismiss', // The name of the cookie set by this script. notificationCookieName: 'IDX-gdpr-dismiss', hiddenClassName: 'idx-notice--hidden', sameSiteCookie: window.location.protocol === 'https:' ? 'SameSite=None; Secure': '', get el() { return document.getElementById(this.notificationTargetId) }, get target() { return document.querySelector(this.notificationDismiss) } } var methods = { // Return a cookie's value by looking up the name. getByName: function (name) { var found = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); return found ? found[2] : null; }, // Return a GMT string set to today + number of years based on settings. notificationCookieExpires: function (years) { var expires = new Date(new Date().setFullYear(new Date().getFullYear() + years)); return expires.toGMTString(); }, // Does the element have the class? hasClass: function (el, className) { return el.classList ? el.classList.contains(className) : new RegExp('\\b' + className + '\\b').test(el.className); }, // Adds a class to an element. addClass: function (el, className) { if (el.classList) { el.classList.add(className) } else if (!this.hasClass(el, className)) { el.className += ' ' + className; } }, // Removes a class from an element. removeClass: function (el, className) { if (el.classList) { el.classList.remove(className) } else { el.className = el.className.replace(new RegExp('\\b' + className + '\\b', 'g'), ''); } }, onClick: function () { // On click, create a cookie with an expiration. // Then add the hidden class since the alert needs to go away at that point. methods.setCookie(settings.notificationCookieName, true, methods.notificationCookieExpires(settings.defaultCookieDuration)); if (settings.el && !methods.hasClass(settings.el, settings.hiddenClassName)) { methods.addClass(settings.el, settings.hiddenClassName) } }, // Initial setup - remove the hidden class if the notice should be displayed. get init() { if (this.hasClass(settings.el, settings.hiddenClassName) && !this.getByName(settings.notificationCookieName)) { this.removeClass(settings.el, settings.hiddenClassName) } } } // Create a cookie. methods.setCookie = function (name, value, gmtString) { document.cookie = name + '=' + value + ';path=/;expires=' + gmtString + ';' + settings.sameSiteCookie; }; if (settings.target) { settings.target.addEventListener('click', methods.onClick, true); } // Call the init function. methods.init;});
This site uses cookies to give you the best experience possible. You can read more about our use of cookies or, if you agree, continue to use the site as you normally would.