Skip to main content

50 stores in Buffalo/Niagara to shop local this holiday season




This year especially, it’s vital we support the shops that help make our area so unique. This holiday season, consider spending some dollars locally, so that these business owners can continue doing what they love and remain vibrant for years to come!

Here’s our list of over 50 shops around the Erie and Niagara counties of Buffalo, Lockport, Niagara Falls, Lewiston and more–lots of these shops have local options for curbside pickup and even online ordering so that you can do so conveniently from the comfort of your home!

(TLDR? Just follow this collection and get to shopping!)

Barbara Oliver Jewelry 
Local jeweler for all sorts of custom needs (custom rings, engagements, anniversaries, repairs & much more!)

Beulah’s General Store
Buffalo-themed shirts, coasters, jewelry, scarves and much more. You can also order online and pick up in store!

BFLO Gallery & Gift Shop
This store sells all things Buffalo. Great place to shop for gifts that are Buffalo themed like clothing, ornaments, glassware, etc.” -Yelp Elite Frank M

Blue Table Chocolates
Hand crafted artisan chocolates. Available for shipment as well as curbside pickup.

Blush
Women’s Clothing – with a website so that you can browse and then buy for curbside pickup.

Buffalo Gal Organics
“What a fun local shop for organic makeup and beauty care supplies…they also display various items of jewelry from local jewelers.  They are mostly made of semi precious stones and are very beautiful.” -Yelp Elite Samantha C

Campus WheelWorks
Shop here for a gift for your friends who are enthused about cycling!

Cats Like Us
You can make an appointment to shop in store, purchase online and pickup in store and more! This is a boutique store specializing in new, retro and vintage clothing!

Fowler’s Chocolates
Local candy + Buffalo sponge-candy. Curbside pickup available!

Fowler’s Chocolate
Half & Half Boutique
Women-focused boutique with gifts from everything from casual wear to something more refined. In business for over 40 years!

Her Sanctuary
“They have all sorts of nice relaxing things aimed at women. The boutique part has healing crystals to various home decor items. You can grab a healthy snack here too.” -Maria B

Josie’s On Central
Boutique store in Lancaster, NY – shop women’s clothing for your loved ones!

Kelly’s Country Store
“This place is a timeless treasure. It has the cutest gifts, along with delicious candy and fudge, as well as Christmas decorations given the right time of year. If you are visiting the Buffalo/Niagara area this is a must see. There are many nostalgic candies and decorations displayed throughout.” -Heather K

Life is Succulent
Sometimes the best gift is a plant! Life is Succulent offers curbside pickup – check their website to order online!

Main + Downing
You can purchase their gifts online and do curbside pickup. Local gifts, specializing in children’s apparel.

Martinsville Soapworks
“Great local shop with bath products made right at the location. They also have homemade crafts in there as well. Great gifts for your self or others” -Yelp Elite Darlene K

Molly + Kate
A shop in Hamburg with various gifts for men, women including jewelry, footwear and more. You can order online via their website and pickup in store.

MUSEjar
Everything from care boxes, DIY kits, paints, craft lessons & more. Check out MUSEjar in East Aurora!

My Cuzin Vintage
Buffalo Bill’s paraphernalia, sneakers, vintage and more. Check website for selection.

Neo Gift Studio
Mostly items for the home and great little things to give as a hostess gift or just a treat for yourself! Some items are more pricier than others but you’re sure to find a unique item.  -Anna H

Neo Gift Studio

Nigh Road
“It is very farmhouse-esque. When I walk throughout the store, which is actually an old home in the village, I feel like moving in or hiring her to redo my whole house.” -Yelp Elite Laura G  (Shop online for curbside pickup)

Nikki’s Chocolates
Custom cookies and baked goods for your loved ones!

Oxford Pennant
Local pickup available with online orders. “I highly recommend coming here to not only support a local business but to also get unique or Buffalo based gifts.” -David C

Papercraft Miracles
Papercraft, handcrafted sustainable local gifts & decor!

Parables Gallery & Gifts
10% off if you check in on Yelp – women’s clothings, local art & more!

Paths Peaks and Paddles
Outdoor gear, paddle-centric store in Tonawanda.

Penzeys Spices
Shop on Elmwood specializing in all sorts of fragrant herbs and spices!

Piccirillo’s Florist
“Beautiful flowers for all occasions and a range of boutique gifts, decorations and clothing. You can order ahead or walk in for flower arrangements. Over 40 years of floral experience.” -Seth P

Piccirillo’s Florist

Picture Your Walls
“If you want a picture framed, Picture Your Walls is your go-to solution for custom framing!”

Pulp 716: Coffee & Comics
Comic book store – grab a comic for the loved ones who are interested in it! You can grab a coffee here while you shop!


Holiday selection available on website – furniture and interior design centric store!

Scherer’s Jewelers
Request a Quote directly from Yelp & check out Scherer’s for all your jewelry needs!

Scirto Jewelers
10% off if you mention Yelp (some restrictions apply) – local store specializing in fine jewelry and expert repairs.

ShopCraft
Local artist-sourced home decor, DIY Gifts, COVID Care Packs, candles, locally printed cards and more. Shop online and order for curbside pickup.

Spoke & Dagger
Shop local for your favorite motorcycle riders – check the website to buy for online pickup!

Start With Sleep
Everything to improve the quality of sleep for your loved ones, including various care kits. 10% off if you check in on the Yelp app and show your check in!

Stitch Buffalo
“Stitch Buffalo is an inclusive space for refugee and immigrant women to create handcrafted goods and find economic empowerment; a textile art center for community members to gain and share skills in the textile arts; and an organization committed to stewarding the environment through the re-use of textile supplies.”

Sunshine Bluebirds
Buffalo centric gifts – check the website for the catalog!

Sunshine Bluebirds

Talking Leaves Books
Come find a book for your favorite book lovers in this local shop!

Tattered Tulip
Located in a two-story barn, this shop local store will have unique gifts and home decor and will be an absolute blast to browse through!

The Buffalo Zoo
A zoo membership could be a great gift for the animal and zoo fans in your life!

The Sweet Whisk
Hand crafted locally made artisan chocolates, available to order online for curbside pickup.

The TreeHouse
The “neighborhood” toy store, this local shop features all the toys you could possibly imagine and aside from having a storefront on the popular Elmwood strip, you can also shop online and pickup in store!

Thin Ice Gift Shop
Support local artists by shopping at Thin Ice! You can view and purchase some of the inventory online.

Totally Buffalo Store
“Recently opened on Sheridan. Everything here is a Buffalo born and made product. Evidently this is a brick and mortar that is the result of an annual “Buffalo” themed holiday shopping experience.” -Maria B

For your plant needs – you can make an appointment to visit online or shop online for curbside pickup!

Watson’s Chocolates
Chocolate store in Niagara Falls, specializing in local goods, including the regional speciality of sponge candy.

Wild Things
Support local artists with beautiful jewelry from necklaces to earrings and much more.

Wild Things

Wildroot Floral
Custom floral arrangements for delivery in Buffalo

WNY Book Arts Center
Curbside pickup for locally printed goods and gifts and all purchases support us as a nonprofit! $1 off cards if you check in on Yelp.

You & Me
Local gift shop in Lewiston, NY of Niagara County: “I went there a few months ago and found a perfect necklace to go with my dress and have been going there ever since, finding something to buy every time I go in.” -Dara D

Happy shopping!

[gravityform id="4" title="false" ajax="true"]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_4' ><div id='gf_4' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form data-form-name='Newsletter Signup Popup' method='post' enctype='multipart/form-data' target='gform_ajax_frame_4' id='gform_4' action='/news/50-stores-in-buffalo-niagara-to-shop-local-this-holiday-sea/#gf_4' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_4' class='gform_fields top_label form_sublabel_below description_below'><li id="field_4_1" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible gf-email" data-field-class="gf-email" data-js-reload="field_4_1"><label class='gfield_label screen-reader-text' for='input_4_1' >youremail@address.com</label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_4_1' type='email' value='' class='large' placeholder='youremail@address.com' aria-invalid="false" /> </div></li><li id="field_4_2" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_4_2"><label class='gfield_label' for='input_4_2' >Phone</label><div class='ginput_container'><input name='input_2' id='input_4_2' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_4_2'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_4' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} jQuery("#gform_4").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=4&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_4' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='4' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_4' value='WyJbXSIsImE0YjFiMmUxY2IxMWVhYTljM2FhNzdkODk4NDUzZmY0Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_4' id='gform_target_page_number_4' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_4' id='gform_source_page_number_4' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_4' id='gform_ajax_frame_4' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script> gform.initializeOnLoaded( function() {gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_4').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_4');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_4').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_4').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_4').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_4').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_4').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_4').val();gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [4, current_page]);window['gf_submitting_4'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_4').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_4').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [4]);window['gf_submitting_4'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_4').text());}, 50);}else{jQuery('#gform_4').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [4, current_page]);} );} ); </script>
[gravityform id="4" title="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_4' ><div id='gf_4' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form data-form-name='Newsletter Signup Popup' method='post' enctype='multipart/form-data' target='gform_ajax_frame_4' id='gform_4' action='/news/50-stores-in-buffalo-niagara-to-shop-local-this-holiday-sea/#gf_4' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_4' class='gform_fields top_label form_sublabel_below description_below'><li id="field_4_1" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible gf-email" data-field-class="gf-email" data-js-reload="field_4_1"><label class='gfield_label screen-reader-text' for='input_4_1' >youremail@address.com</label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_4_1' type='email' value='' class='large' placeholder='youremail@address.com' aria-invalid="false" /> </div></li><li id="field_4_2" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_4_2"><label class='gfield_label' for='input_4_2' >Name</label><div class='ginput_container'><input name='input_2' id='input_4_2' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_4_2'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_4' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} jQuery("#gform_4").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=4&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_4' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='4' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_4' value='WyJbXSIsImE0YjFiMmUxY2IxMWVhYTljM2FhNzdkODk4NDUzZmY0Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_4' id='gform_target_page_number_4' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_4' id='gform_source_page_number_4' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_4' id='gform_ajax_frame_4' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script> gform.initializeOnLoaded( function() {gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_4').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_4');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_4').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_4').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_4').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_4').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_4').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_4').val();gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [4, current_page]);window['gf_submitting_4'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_4').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_4').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [4]);window['gf_submitting_4'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_4').text());}, 50);}else{jQuery('#gform_4').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [4, current_page]);} );} ); </script>