78,335 properties
0 phones
0 emails
0 for sale
199 results ยท Page 2/4
All (78,335) Self-Storage (6,623) Mobile Home Parks (7,641) Car Washes (9,819) Laundromats (7,714) RV Parks (22,383) Marinas (5,509) Budget Motels (10,145) Dry Cleaners (8,419)
Map:
๐Ÿš— Car Washes

General Grant Car Wash and Detail Center

St. Louis, MO ยท 8344 Watson Road

Car Washes
Phone
๐Ÿš— Car Washes

C&B Car Wash

Hermann, MO ยท 200 Gutenberg Street

Car Washes
Phone
๐Ÿš— Car Washes

Squeaky Clean Car Wash

Maryland Heights, MO ยท 12425 Dorsett Road

Car Washes
Phone
๐Ÿš— Car Washes

Waterway Carwash

MO ยท 122 South Hanley Road

Car Washes
Phone
๐Ÿš— Car Washes

Wishy Washy Car Wash

Camdenton, MO ยท 482 South Business Route 5

Car Washes
Phone
๐Ÿš— Car Washes

Miracle Car Wash

MO ยท 3163 South Old Missouri Road

Car Washes
Phone
๐Ÿš— Car Washes

Baywash Carwash II

Cassville, MO ยท 1200 Old Exeter Road

Car Washes
Phone
๐Ÿš— Car Washes

Baywash Carwash

Cassville, MO ยท 493 State Highway 76

Car Washes
Phone
๐Ÿš— Car Washes

Car Wash 103

Kansas City, MO ยท 3300 Main Street

Car Washes
Phone
๐Ÿš— Car Washes

Midtown Car Wash

Kansas City, MO ยท 512 East Linwood Boulevard

Car Washes
Phone
๐Ÿš— Car Washes

Eureka Self Service Car Wash

Eureka, MO ยท 79 Hilltop Village Center Drive

Car Washes
Phone
๐Ÿš— Car Washes

Hector's Car Wash

Kansas City, MO ยท 810 Prospect Avenue

Car Washes
Phone
๐Ÿš— Car Washes

Cenex Car Wash

Lebanon, MO ยท Morgan Road

Car Washes
Phone
๐Ÿš— Car Washes

Frontier Car Wash

O'Fallon, MO ยท 160 Frontier Park Drive

Car Washes
Phone
๐Ÿš— Car Washes

Uptown Carwash

Maryville, MO ยท 120 West 6th Street

Car Washes
Phone
๐Ÿš— Car Washes

Auto Spa Car Wash

Osage Beach, MO ยท State Highway 42

Car Washes
Phone
๐Ÿš— Car Washes

Fast Wash

Coweta, MO ยท 27002 East 113th Street South

Car Washes
Phone
๐Ÿš— Car Washes

Zip's Car Wash

MO ยท 12864 Tesson Ferry Road

Car Washes
Phone
๐Ÿš— Car Washes

Oakland Plaza Car Wash

Columbia, MO ยท 2000 Vandiver Drive

Car Washes
Phone
๐Ÿš— Car Washes

BreakTime Car Wash

Columbia, MO ยท 1410 Forum Blvd

Car Washes
Phone
๐Ÿš— Car Washes

Glide Xpress

Springfield, MO ยท 211 West Battlefield Road

Car Washes
Phone
๐Ÿš— Car Washes

Super Suds

Moberly, MO ยท 614 North Ault Street

Car Washes
Phone
๐Ÿš— Car Washes

Tookies Car Wash

Winfield, MO

Car Washes
Phone
๐Ÿš— Car Washes

All Seasons Car Wash & Detail

MO

Car Washes
Phone
๐Ÿš— Car Washes

Joker's Wild Truck Wash

MO

Car Washes
Phone
๐Ÿš— Car Washes

Spray and Shine.

MO

Car Washes
Phone
๐Ÿš— Car Washes

Waterway Carwash

MO

Car Washes
Phone
๐Ÿš— Car Washes

Car Wash & Propane

MO

Car Washes
Phone Email
๐Ÿš— Car Washes

Eagle Stop

MO

Car Washes
Phone Email
๐Ÿš— Car Washes

Tiger Express Wash

MO

Car Washes
Phone
๐Ÿš— Car Washes

Alli's Truck Wash

MO

Car Washes
Phone
๐Ÿš— Car Washes

Rain Tunnel Express

MO

Car Washes
Phone
๐Ÿš— Car Washes

Splash N Go

MO

Car Washes
Phone Email
๐Ÿš— Car Washes

Albrite Car Wash

MO

Car Washes
Phone
๐Ÿš— Car Washes

Ace Car Wash

MO

Car Washes
Phone
๐Ÿš— Car Washes

Classic Carwash

MO

Car Washes
Phone
๐Ÿš— Car Washes

Ram's Car Wash

MO

Car Washes
Phone
๐Ÿš— Car Washes

Splash & Dash Car Wash

MO

Car Washes
Phone Email
๐Ÿš— Car Washes

BZY Car Wash

MO

Car Washes
Phone Email
๐Ÿš— Car Washes

Waterway

MO

Car Washes
Phone
๐Ÿš— Car Washes

Valentine Car Wash

MO

Car Washes
Phone Email
๐Ÿš— Car Washes

Car Wash City

MO

Car Washes
Phone Email
๐Ÿš— Car Washes

Moto Mart

MO

Car Washes
Phone
๐Ÿš— Car Washes

Brite Car Wash

MO

Car Washes
Phone Email
๐Ÿš— Car Washes

Kwik Kar Wash & Detail

MO

Car Washes
Phone Email
๐Ÿš— Car Washes

Waterway

MO

Car Washes
Phone
๐Ÿš— Car Washes

Beck's Car Wash

MO

Car Washes
Phone
๐Ÿš— Car Washes

JH Car Wash Pekin

MO

Car Washes
Phone
๐Ÿš— Car Washes

Let It Shine

MO

Car Washes
Phone
๐Ÿš— Car Washes

Pekin Downtown Car Wash

MO

Car Washes
Phone
// 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); } } // ===== Slide-over detail panel ===== const panel = document.getElementById('detailPanel'); const dpBody = document.getElementById('dpBody'); const dpHead = document.getElementById('dpHead'); const dpIcon = document.getElementById('dpIcon'); const MEDIA_GRADIENTS = { self_storage:'#fde68a,#f59e0b', car_wash:'#bfdbfe,#3b82f6', laundromat:'#ddd6fe,#8b5cf6', rv_park:'#fecaca,#ef4444', mobile_home_park:'#a7f3d0,#10b981', marina:'#a5f3fc,#06b6d4', budget_motel:'#fed7aa,#f97316', boat_rv_storage:'#cbd5e1,#64748b', mailbox_pack_ship:'#fbcfe8,#ec4899', dry_cleaner:'#99f6e4,#14b8a6', gas_station:'#fef08a,#eab308' }; function esc(s){ return (s==null?'':String(s)).replace(/[&<>"']/g, c=>({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); } function renderDetail(d) { // header gradient by category const g = MEDIA_GRADIENTS[d.category] || '#e2e8f0,#cbd5e1'; dpHead.style.background = `linear-gradient(135deg, ${g.split(',')[0]} 0%, ${g.split(',')[1]} 100%)`; dpIcon.textContent = d.category_icon || '๐Ÿข'; // badges row let badges = ''; if (d.motivated) badges += '๐Ÿ”ฅ MOTIVATED '; if (d.for_sale) badges += 'FOR SALE '; // headline metrics (free) let metrics = ''; if (d.total_units) metrics += `
${esc(d.total_units)}
${esc(d.unit_label)}
`; if (d.year_established) metrics += `
${esc(d.year_established)}
Established
`; if (d.acreage) metrics += `
${esc(d.acreage)}
Acres
`; // financials section (paid) let fin = ''; if (d.paid_locked && d.has_financials) { fin = `

Financials

๐Ÿ”’ Valuation, cap rate & NOI โ€” members only
`; } else if (!d.paid_locked) { let rows = ''; if (d.valuation) rows += `
Est. Valuation${esc(d.valuation)}
`; if (d.asking_price) rows += `
Asking Price${esc(d.asking_price)}
`; if (d.cap_rate) rows += `
Cap Rate${esc(d.cap_rate)}
`; if (d.noi) rows += `
NOI${esc(d.noi)}
`; if (d.annual_revenue) rows += `
Annual Revenue${esc(d.annual_revenue)}
`; if (d.occupancy_rate) rows += `
Occupancy${esc(d.occupancy_rate)}
`; if (rows) fin = `

Financials

${rows}
`; } // contact section let contact = ''; if (d.owner_name) contact += `
Owner${esc(d.owner_name)}
`; if (d.phone) { const ql = d.phone_quality==='owner_direct'?' โœ“ owner':(d.phone_quality==='corporate'?' ยท corp':''); contact += `
Phone${esc(d.phone)}${ql}
`; } if (d.email) contact += `
Email${esc(d.email)}
`; if (d.website) contact += `
Websitevisit โ†—
`; if (contact) contact = `

Contact

${contact}
`; // description let desc = ''; if (d.description) desc = `

About

${esc(d.description.slice(0,320))}${d.description.length>320?'โ€ฆ':''}

`; dpBody.innerHTML = `
${badges}

${esc(d.name)}

${esc(d.category_label)} ยท ${esc(d.city||'')}${d.city?', ':''}${esc(d.state||'')}

${d.address ? `

${esc(d.address)}

`:''}
${metrics ? `

Overview

${metrics}
`:''} ${fin} ${contact} ${desc} View full details โ†’ `; } let activeDetailId = null; function openDetail(ev, id) { if (ev) ev.preventDefault(); activeDetailId = id; panel.classList.add('open','loading'); panel.setAttribute('aria-hidden','false'); // mark active card document.querySelectorAll('.prop-card').forEach(c => c.classList.toggle('active', c.dataset.id == id)); // shareable URL + back-button support const url = new URL(window.location); url.searchParams.set('selected', id); history.pushState({selected: id}, '', url); fetch(`/api/property/${id}/detail`).then(r=>r.json()).then(d => { if (activeDetailId != id) return; // user clicked another card meanwhile if (!d || !d.id) { dpBody.innerHTML = '

Not found.

'; } else renderDetail(d); panel.classList.remove('loading'); }).catch(()=>{ dpBody.innerHTML = '

Could not load.

'; panel.classList.remove('loading'); }); return false; } function closeDetail(push) { activeDetailId = null; panel.classList.remove('open'); panel.setAttribute('aria-hidden','true'); document.querySelectorAll('.prop-card.active').forEach(c => c.classList.remove('active')); if (push !== false) { const url = new URL(window.location); url.searchParams.delete('selected'); history.pushState({}, '', url); } } // back/forward window.addEventListener('popstate', (e) => { const sel = new URL(window.location).searchParams.get('selected'); if (sel) openDetailFromHistory(parseInt(sel)); else closeDetail(false); }); function openDetailFromHistory(id) { activeDetailId = id; panel.classList.add('open','loading'); panel.setAttribute('aria-hidden','false'); document.querySelectorAll('.prop-card').forEach(c => c.classList.toggle('active', c.dataset.id == id)); fetch(`/api/property/${id}/detail`).then(r=>r.json()).then(d => { if (activeDetailId != id) return; if (d && d.id) renderDetail(d); panel.classList.remove('loading'); }); } // Esc closes document.addEventListener('keydown', e => { if (e.key === 'Escape' && panel.classList.contains('open')) closeDetail(); }); // Open on load if ?selected= present (shared URL) (function(){ const sel = new URL(window.location).searchParams.get('selected'); if (sel) openDetailFromHistory(parseInt(sel)); })();
๐Ÿ”’
Unlock owner contacts for 78,335+ businesses
$500/yr Get Access