78,335 properties
0 phones
0 emails
0 for sale
294 results ยท Page 2/6
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:
๐Ÿ•๏ธ RV Parks

Seneca Lake Woodlands Campground

Senecaville, OH

RV Parks 513 Sites ๐Ÿ’ฐ Valuation on file
Phone
๐Ÿ•๏ธ RV Parks

Pleasant View RV Resort

Van Buren, OH

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Somerset Beach Campground

Somerset Center, OH

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Lively Lady

Aberdeen, OH

RV Parks 200 Sites ๐Ÿ’ฐ Valuation on file
Phone
๐Ÿ•๏ธ RV Parks

Camp Perry Campground

Port Clinton, OH

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

RV Village C

Port Clinton, OH

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

RV Village B

Port Clinton, OH

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Girdled Road Reservation Campsite

Lake County, OH

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Kamp Kozy

Danbury, OH ยท 2450 South Meter Road

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Hickory Grove Lake Campground

Marion County, OH

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Skyline RV Resort

Senecaville, OH

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Marietta RV Park

Marietta, OH ยท 819 Front Street

RV Parks 24 Sites ๐Ÿ’ฐ Valuation on file
Phone
๐Ÿ•๏ธ RV Parks

Malabar Farm Camping

Richland County, OH

RV Parks 15 Sites ๐Ÿ’ฐ Valuation on file
Email
๐Ÿ•๏ธ RV Parks

River Pines

New Richmond, OH ยท 1035 Cobra Road

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Berkshire Campground

Galena, OH ยท 1848 Alexander Rd, Galena, OH 43021, USA

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Cedarlane RV Resort

Port Clinton, OH ยท 2766 NE Catawba Rd, Port Clinton, OH 43452, USA

RV Parks 300 Sites ๐Ÿ’ฐ Valuation on file
Phone Email
๐Ÿ•๏ธ RV Parks

Twin Pines Campground & Canoe Livery

Hanover, OH ยท 9800 Wheeler Road

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Jackson Lake Campground & Park

Canal Winchester, OH ยท 3715 Cedar Hill Rd NW, Canal Winchester, OH 43110, USA

RV Parks 200 Sites ๐Ÿ’ฐ Valuation on file
Phone
๐Ÿ•๏ธ RV Parks

Brook Park

Cleveland, OH ยท 11800 Brookpark Rd, Cleveland, OH 44130, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Jellystone Park Columbus North

Mount Gilead, OH ยท 4185 Township Rd 99, Mt Gilead, OH 43338, USA

RV Parks 223 Sites ๐Ÿ’ฐ Valuation on file
Phone Email
๐Ÿ•๏ธ RV Parks

Jellystone Park Cleveland Sandusky

Nova, OH ยท 40 Township Rd 1031 C, Nova, OH 44859, USA

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Ye Olde Barn RV Park

Belmont, OH ยท 42561 National Road

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Cold Creek Trout Camp

Sandusky, OH ยท 4711 Venice Road

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Camp Cedar RV Resort

Mason, OH ยท 5158 Kings Island Drive

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Thousand Trails Wilmington

Wilmington, OH ยท 1786 OH-380, Wilmington, OH 45177, USA

RV Parks 169 Sites ๐Ÿ’ฐ Valuation on file
Phone
๐Ÿ•๏ธ RV Parks

Historic Marble Springs

Allen Township, OH

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Camp Solstice

Columbus, OH ยท 901 E Mound St, Columbus, OH 43205, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

By Way Mobile Home Park

Columbus, OH ยท 3335 Barr St, Columbus, OH 43224, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Tucker's Landing RV Park by Morningstar Marinas

Cincinnati, OH ยท 4699 Kellogg Ave, Cincinnati, OH 45226, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Bayfront Resort at Cross View

Sandusky, OH ยท 1231 1st St, Sandusky, OH 44870, USA

RV Parks 39 Sites ๐Ÿ’ฐ Valuation on file
Phone
๐Ÿ•๏ธ RV Parks

Elk River Camp and RV

Gassaway, OH

RV Parks 40 Sites ๐Ÿ’ฐ Valuation on file
Phone
๐Ÿ•๏ธ RV Parks

Travel Centers of America - Napoleon

Napoleon, OH

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Arrow Point Family Campground

Loudonville, OH

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

River Run Family Campground and Canoe

Loudonville, OH

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Clear Fork Reservoir Campground

Mansfield, OH

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Woodland RV Park

Cincinnati, OH ยท 7631 Daly Road

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Scarlett Manor

Columbus, OH ยท 701 Sunset Blvd, Columbus, OH 43223, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Anchor Mobile Home Park

Columbus, OH ยท 1402 Moler Rd, Columbus, OH 43206, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

17th Ave Mobile Home Park

Columbus, OH ยท 2063 E 17th Ave, Columbus, OH 43219, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Happy Trail Campground, LLC

Proctorville, OH ยท Lawrence St, Proctorville, OH 45669, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Family RV Association Campground

Cincinnati, OH ยท 3590 Round Bottom Rd, Cincinnati, OH 45244, USA

RV Parks
โš ๏ธ Phone
๐Ÿ•๏ธ RV Parks

Harbor Park

Cincinnati, OH ยท 1 harbor street, Cincinnati, OH 45230, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Cross's Campground

Camden, OH ยท 7777 US-127, Camden, OH 45311, USA

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Seneca Lake Parkside Central Campground

Senecaville, OH

RV Parks 321 Sites ๐Ÿ’ฐ Valuation on file
Phone
๐Ÿ•๏ธ RV Parks

McDermott's Lakefront

North Benton, OH

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Northern Pines Mobile Home Park

Columbus, OH ยท 3137 Westerville Rd, Columbus, OH 43224, USA

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Not amherst Mobile Homes park

Amherst, OH ยท Trails End Dr, Amherst, OH 44001, USA

RV Parks
Phone Email
๐Ÿ•๏ธ RV Parks

Indian Mound Campground

Felicity, OH ยท 2276 US 52

RV Parks
Phone
๐Ÿ•๏ธ RV Parks

Hocking River RV Park

Logan, OH ยท Chieftain Drive

RV Parks 29 Sites ๐Ÿ’ฐ Valuation on file
Phone
๐Ÿ•๏ธ RV Parks

Portage View

Port Clinton, OH ยท 265 Meacham Road

RV Parks
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