49,013 properties
0 phones
0 emails
0 for sale
92 results · Page 1/2
All (49,013) Self-Storage (6,315) Mobile Home Parks (7,982) Car Washes (7,857) Laundromats (5,362) RV Parks (8,082) Marinas (3,500) Budget Motels (9,891) Mailbox / Pack & Ship (24)
Map:

Charlestown Self Storage

1B

Charlestown, MA · 50 Terminal Street

Self-Storage
Phone Email

Prime Storage

1B

Boston, MA · 33 Traveler Street

Self-Storage
Phone Email

Fill-It Self Storage - Westfield

2

Westfield, MA · 575 North Road

Self-Storage
Phone Email

Extra Space Storage

2

Somerville, MA · 51 McGrath Highway

Self-Storage
Phone

Long Beach Storage

2

Rockport, MA · 154 Thatcher Road

Self-Storage
Phone

U-Haul

2

Somerville, MA · 151 Linwood Street

Self-Storage
Phone Email

Safe'N'Sound Self Storage

2

MA · 451 Bridge Street

Self-Storage
Phone Email

Extra Space Storage

2

Stoneham, MA · 54 Montvale Avenue

Self-Storage
Phone

Extra Space Storage

2

Malden, MA · 1 Wesley Street

Self-Storage
Phone

U-Haul

2

Boston, MA · 150 Fairmount Avenue

Self-Storage
Phone Email

Public Storage

2

Woburn, MA · 420 Washington Street

Self-Storage
Phone Email

Arlington Self-Storage

2

Arlington, MA · 12 Brattle Court

Self-Storage
Phone Email

Public Storage

2

Everett, MA · 140 Broadway

Self-Storage
Phone Email

Extra Space Storage

2

MA · 230 Oak Street

Self-Storage
Phone

Public Storage

2

Nashua, MA · 1600 Southwood Drive

Self-Storage
Phone

Stuff-It Self Storage

2

MA · 222 Russell Street

Self-Storage
Phone Email

Ideal Movers & Storage

2

MA · 10 Mill Valley Road

Self-Storage
Phone

Amherst Self Storage

2

MA · 1270 Federal Street

Self-Storage
Phone

Extra Space Storage

2

Burlington, MA · 7 Wheeler Road

Self-Storage
Phone

Anchor Self Storage

2

Mashpee, MA · 600 Main Street

Self-Storage
Phone

Ideal Movers & Storage

2

MA · 14 South Maple Street

Self-Storage
Phone

Sugarloaf Storage

2

Sunderland, MA · 63 Amherst Road

Self-Storage
Phone

Cambridge Self Storage

2

Cambridge, MA · 445 Concord Avenue

Self-Storage
Phone

All Purpose Storage

2

MA

Self-Storage
Phone

Neighbor Self Storage

2

Cambridge, MA · 285 Third Street

Self-Storage
Phone

Neighbor Self Storage

2

Woburn, MA · 1 Inwood Drive

Self-Storage
Phone

Neighbor Self Storage

2

Norwood, MA · 624 Walpole Street

Self-Storage
Phone

Neighbor Self Storage

2

Franklin, MA · 4 Independence Way

Self-Storage
Phone

Neighbor Self Storage

2

Norwood, MA · 8 Upland Woods Circle

Self-Storage
Phone

Neighbor Self Storage

2

Boston, MA · 345 Harrison Avenue

Self-Storage
Phone

Neighbor Self Storage

2

Peabody, MA · 1000 Crane Brook Way

Self-Storage
Phone

Neighbor Self Storage

2

Waltham, MA · 36 River Street

Self-Storage
Phone

Neighbor Self Storage

2

Braintree, MA · 800 West Street

Self-Storage
Phone

U-Haul

2

Cambridge, MA · 844 Main Street

Self-Storage
Phone

Granite Clover Self Storage

2

MA

Self-Storage
Phone

Affordable Self Storage

2

MA

Self-Storage
Phone

Labonte's Self Storage

2

MA

Self-Storage
Phone

Hampstead Self Storage

2

MA

Self-Storage
Phone

Extra Space Storage

3

Somerville, MA · 460 Somerville Avenue

Self-Storage

Prime Storage

3

MA · 350 High Point Avenue

Self-Storage
Phone Email

Chelmsford Storage Solutions

3

MA · 296 Littleton Road

Self-Storage

Extra Space Storage

3

MA · 81 King Street

Self-Storage

Snows Storage Solutions

3

MA · 746 Bay Road

Self-Storage
Email

All-Purpose East Longmeadow

3

MA · 50 Baldwin Street

Self-Storage

All Purpose Storage

3

Gardner, MA · 143 Colony Road

Self-Storage
Phone Email

Discount Self Storage II

3

Weymouth, MA · 60 Winter Street

Self-Storage
Phone

EZ Storage

3

Natick, MA · 336 Speen Street

Self-Storage
Phone

Extra Space Storage

3

MA · 5 Fox Hill Drive

Self-Storage
Phone Email

Blackstone Valley Self Storage

3

MA

Self-Storage
Phone Email

Public Storage

3

MA · 156 Lincoln Street

Self-Storage
Phone
1 / 2 Next →
// Heat map modes // mapPoints format: [id, lat, lon, category, valuation, data_score, motivated_score] let heatLayer = null; let circleLayer = null; let currentMode = 'markers'; function clearOverlays() { if (heatLayer) { map.removeLayer(heatLayer); heatLayer = null; } if (circleLayer) { map.removeLayer(circleLayer); circleLayer = null; } } function setMapMode(mode) { currentMode = mode; clearOverlays(); // Update button states document.querySelectorAll('.map-mode-btn').forEach(b => b.classList.remove('active')); document.getElementById('btn-' + mode).classList.add('active'); if (mode === 'markers') { markers.addTo(map); return; } map.removeLayer(markers); if (mode === 'density') { // Pure density heatmap const pts = mapPoints.filter(p => p[1] && p[2]).map(p => [p[1], p[2], 1]); heatLayer = L.heatLayer(pts, {radius: 20, blur: 15, maxZoom: 10, max: 5, gradient: {0.2: '#ffffb2', 0.4: '#fd8d3c', 0.6: '#f03b20', 0.8: '#bd0026', 1: '#800026'} }).addTo(map); } else if (mode === 'valuation') { // Circle markers colored by valuation circleLayer = L.layerGroup(); const maxVal = Math.max(...mapPoints.map(p => p[4]).filter(v => v > 0)) || 1; mapPoints.filter(p => p[1] && p[2] && p[4] > 0).forEach(p => { const ratio = Math.min(p[4] / maxVal, 1); const r = Math.round(ratio * 255); const g = Math.round((1 - ratio) * 200); const color = `rgb(${r}, ${g}, 50)`; const radius = 4 + ratio * 10; L.circleMarker([p[1], p[2]], { radius: radius, fillColor: color, color: '#fff', weight: 1, fillOpacity: 0.7 }).bindPopup(`$${(p[4]/1000).toFixed(0)}K`).addTo(circleLayer); }); circleLayer.addTo(map); } else if (mode === 'quality') { // Circle markers colored by data_score circleLayer = L.layerGroup(); mapPoints.filter(p => p[1] && p[2]).forEach(p => { const score = p[5] || 0; const ratio = score / 10; // Green = high, Red = low const r = Math.round((1 - ratio) * 255); const g = Math.round(ratio * 200); const color = `rgb(${r}, ${g}, 50)`; L.circleMarker([p[1], p[2]], { radius: 3 + ratio * 5, fillColor: color, color: '#fff', weight: 0.5, fillOpacity: 0.6 }).addTo(circleLayer); }); circleLayer.addTo(map); } else if (mode === 'motivated') { // Heat map weighted by motivated score const pts = mapPoints.filter(p => p[1] && p[2] && p[6] > 0).map(p => [p[1], p[2], p[6] / 100]); heatLayer = L.heatLayer(pts, {radius: 25, blur: 20, maxZoom: 10, max: 1, gradient: {0.2: '#fff7bc', 0.4: '#fec44f', 0.6: '#fe9929', 0.8: '#d95f0e', 1: '#993404'} }).addTo(map); } }
🔒
Unlock owner contacts for 55,000+ properties
Get Access