Pipeline Breakdown

Export All (35)
Active GCs
35
Avg Value
$19.7M
Emails
100%
Phones
35 / 35

Active Commercial Standings

35 Verified Projects

Direct General Contractor contacts with active City of Dallas commercial permits • Bidding headstart pipeline

Active City of Dallas Commercial Building Permits and Estimator Directory
# General Contractor Est. Valuation Job Site Location Direct Contact Open Packages Action
Showing 1–10 of 35 commercial projects
Show:
Daily Dispatch
7:00 AM CST
Tracked Pipeline
$690.2M
Bidding Headstart
14–21 Days
Verification
100% MX
FREE PUBLIC BETA 100% FREE ACCESS

Receive Newly Issued Commercial Permits Every Morning

General Contractors pull permits weeks before bidding closes. Enter your estimating email below to receive tomorrow's fresh DFW commercial permits daily at 7:00 AM CST with direct decision-maker phone numbers & emails.

⚡ Direct CSV delivery • No credit card required • 1-click unsubscribe anytime
let data = [ {"Permit_Number": "2403111013", "Issue_Date": "04-23-2024", "General_Contractor": "Verticon Construction LLC", "Direct_Phone": "(972) 544-7445", "Estimating_Email": "tom@verticon.us.com", "Project_Value": "$8,000,000", "Job_Site_Address": "8687 N CENTRAL EXPY Ste:514, Dallas, TX 75225", "Scope_Description": "Commercial retail renovation and finish out", "Open_Trades": "Electrical, Drywall", "Building_Type": "Retail Store"}, {"Permit_Number": "2310181034", "Issue_Date": "05-23-2024", "General_Contractor": "Layton Construction", "Direct_Phone": "(404) 615-6145", "Estimating_Email": "jparker@laytonconstruction.com", "Project_Value": "$7,875,000", "Job_Site_Address": "11970 N CENTRAL EXPY, Dallas, TX 75243", "Scope_Description": "Hospital addition and structural expansion", "Open_Trades": "Electrical, Mechanical", "Building_Type": "Hospital"}, {"Permit_Number": "2311061071", "Issue_Date": "07-25-2024", "General_Contractor": "Ridgemont Construction", "Direct_Phone": "(214) 492-8900", "Estimating_Email": "mmcdonnell@ridgemont.com", "Project_Value": "$7,531,400", "Job_Site_Address": "1322 N HAMPTON RD, Dallas, TX 75208", "Scope_Description": "New grocery retail construction", "Open_Trades": "Electrical, Plumbing", "Building_Type": "Retail Store"}, {"Permit_Number": "2401091074", "Issue_Date": "02-19-2024", "General_Contractor": "Austin Commercial LP", "Direct_Phone": "(214) 443-5700", "Estimating_Email": "monicas@austin-ind.com", "Project_Value": "$7,200,000", "Job_Site_Address": "1441 N BECKLEY AVE Ste:FL3, Dallas, TX 75208", "Scope_Description": "Hospital renovation and floor 3 upgrade", "Open_Trades": "Electrical, Mechanical", "Building_Type": "Hospital"}, {"Permit_Number": "2407121074", "Issue_Date": "07-12-2024", "General_Contractor": "Weis Builders Inc", "Direct_Phone": "(469) 464-3333", "Estimating_Email": "derekdammen@weisbuilders.com", "Project_Value": "$7,109,080", "Job_Site_Address": "4777 N CENTRAL EXPY, Dallas, TX 75205", "Scope_Description": "Multi-family residential commercial construction", "Open_Trades": "Drywall, Electrical", "Building_Type": "Multi-Family Dwelling"}, {"Permit_Number": "2402141141", "Issue_Date": "05-21-2024", "General_Contractor": "North American Commercial Construction LP", "Direct_Phone": "(972) 620-9975", "Estimating_Email": "lynn@naccolp.com", "Project_Value": "$7,000,000", "Job_Site_Address": "17727 DALLAS PKWY Ste:150, Dallas, TX", "Scope_Description": "Healthcare facility renovation suite 150", "Open_Trades": "Electrical, Mechanical", "Building_Type": "Hospital"}, {"Permit_Number": "2403191141", "Issue_Date": "03-19-2024", "General_Contractor": "Novel Builders, LLC", "Direct_Phone": "(214) 884-8810", "Estimating_Email": "losborn@novelbuilders.com", "Project_Value": "$6,801,742", "Job_Site_Address": "11110 MIDWAY RD, Dallas, TX 75229", "Scope_Description": "New school educational facility", "Open_Trades": "Drywall, Painting", "Building_Type": "Educational Facility"}, {"Permit_Number": "2310041078", "Issue_Date": "10-06-2023", "General_Contractor": "Archer Western Construction LLC", "Direct_Phone": "(817) 640-3898", "Estimating_Email": "kypotts@walshgroup.com", "Project_Value": "$6,500,000", "Job_Site_Address": "7211 FRANKFORD RD, Dallas, TX", "Scope_Description": "Water treatment facility mechanical systems", "Open_Trades": "Plumbing, Mechanical", "Building_Type": "Industrial Facility"}, {"Permit_Number": "2403181149", "Issue_Date": "04-26-2024", "General_Contractor": "Core Construction Services of Texas Inc", "Direct_Phone": "(972) 668-9340", "Estimating_Email": "garyfrazier@coreconstruction.com", "Project_Value": "$6,300,000", "Job_Site_Address": "8700 STULTS RD, Dallas, TX 75243", "Scope_Description": "Renovation and finish out of educational building", "Open_Trades": "Electrical, HVAC", "Building_Type": "Educational Facility"}, {"Permit_Number": "2310191137", "Issue_Date": "05-01-2024", "General_Contractor": "Clune Construction Company, L.P.", "Direct_Phone": "(312) 609-3623", "Estimating_Email": "risk_management@clunegc.com", "Project_Value": "$5,500,000", "Job_Site_Address": "2699 HOWELL ST, Dallas, TX 75201,75204", "Scope_Description": "Commercial office interior remodel", "Open_Trades": "Electrical, Drywall/Framing", "Building_Type": "Corporate Office"} ]; async function loadLiveFeed() { try { const resp = await fetch('/api/leads', { cache: 'no-cache' }); if (resp.ok) { const json = await resp.json(); if (json && Array.isArray(json.leads) && json.leads.length > 0) { data = json.leads; filteredItems = [...data]; filterTable(); if (json.total_pipeline_value) { const pills = document.querySelectorAll('.m-pill-value'); pills.forEach(p => { if (p.innerText.includes('$')) { const mVal = (json.total_pipeline_value / 1_000_000).toFixed(1); p.innerText = `$${mVal}M`; } }); } } } } catch (err) { console.warn('Live daily feed fetch fallback:', err); } } loadLiveFeed(); let currentTrade = 'All'; let currentPage = 1; let pageSize = 10; let filteredItems = [...data]; function getInitials(name) { if (!name) return 'GC'; const parts = name.split(/[\s,-]+/); if (parts.length >= 2) return (parts[0][0] + parts[1][0]).toUpperCase(); return name.slice(0, 2).toUpperCase(); } function syncSearch(val) { const s1 = document.getElementById('searchInput'); const s2 = document.getElementById('inlineSearchInput'); if (s1 && s1.value !== val) s1.value = val; if (s2 && s2.value !== val) s2.value = val; currentPage = 1; filterTable(); } function filterTrade(trade, btn) { currentTrade = trade; currentPage = 1; document.querySelectorAll('.filter-btn').forEach(b => { b.classList.remove('active'); const text = b.innerText.toLowerCase(); if (trade === 'All' && text.includes('all')) { b.classList.add('active'); } else if (trade !== 'All' && text.includes(trade.toLowerCase())) { b.classList.add('active'); } }); filterTable(); } function filterTable() { const q = ((document.getElementById('searchInput')?.value) || (document.getElementById('inlineSearchInput')?.value) || '').toLowerCase().trim(); filteredItems = data.filter(r => { const matchTrade = (currentTrade === 'All') || (r.Open_Trades || '').toLowerCase().includes(currentTrade.toLowerCase()); const matchQuery = !q || (r.General_Contractor || '').toLowerCase().includes(q) || (r.Job_Site_Address || '').toLowerCase().includes(q) || (r.Permit_Number || '').toLowerCase().includes(q) || (r.Scope_Description || '').toLowerCase().includes(q) || (r.Building_Type || '').toLowerCase().includes(q) || (r.Open_Trades || '').toLowerCase().includes(q); return matchTrade && matchQuery; }); const totalPages = pageSize === 'all' ? 1 : Math.ceil(filteredItems.length / pageSize) || 1; if (currentPage > totalPages) { currentPage = 1; } renderStandings(); renderPagination(); } function setPageSize(size, btn) { pageSize = size === 'all' ? 'all' : parseInt(size, 10); currentPage = 1; document.querySelectorAll('.page-size-btn').forEach(b => b.classList.remove('active')); if (btn) btn.classList.add('active'); renderStandings(); renderPagination(); } function goToPage(page) { const totalPages = pageSize === 'all' ? 1 : Math.ceil(filteredItems.length / pageSize) || 1; if (page < 1 || page > totalPages) return; currentPage = page; renderStandings(); renderPagination(); const section = document.getElementById('leads-section'); if (section) { const rect = section.getBoundingClientRect(); if (rect.top < 0) { section.scrollIntoView({ behavior: 'smooth', block: 'start' }); } } } function renderStandings() { const tbody = document.getElementById('standingsBody'); const mobList = document.getElementById('mobileCardsList'); tbody.innerHTML = ''; mobList.innerHTML = ''; const total = filteredItems.length; if (total === 0) { tbody.innerHTML = 'No matching commercial projects found. Try adjusting your trade filter or search query.'; mobList.innerHTML = '
No matching commercial projects found.
'; document.getElementById('standingsCount').innerText = '0 Verified Projects'; return; } document.getElementById('standingsCount').innerText = `${total} Verified Projects`; let itemsToRender = filteredItems; let startIndex = 0; if (pageSize !== 'all') { startIndex = (currentPage - 1) * pageSize; itemsToRender = filteredItems.slice(startIndex, startIndex + pageSize); } itemsToRender.forEach((r, idx) => { const globalIdx = startIndex + idx + 1; const initials = getInitials(r.General_Contractor); const trades = (r.Open_Trades || '').split(',').map(t => `${t.trim()}`).join(''); // Desktop row const tr = document.createElement('tr'); tr.innerHTML = ` ${globalIdx}
${initials}
${r.General_Contractor}
${r.Building_Type || 'Commercial'}
${r.Project_Value || '$0'}
${r.Job_Site_Address}
Permit #${r.Permit_Number}
${r.Direct_Phone || 'N/A'}
${r.Estimating_Email || 'N/A'}
${trades} `; tbody.appendChild(tr); // Mobile touch card const card = document.createElement('div'); card.className = 'lead-mobile-card'; card.innerHTML = `
${initials}
${r.General_Contractor}
${r.Building_Type || 'Commercial'} • Rank #${globalIdx}
${r.Project_Value}
📍
${r.Job_Site_Address}
Permit #${r.Permit_Number}
${trades}
Call GC Email Estimator
`; mobList.appendChild(card); }); } function renderPagination() { const total = filteredItems.length; const startSpan = document.getElementById('pageRangeStart'); const endSpan = document.getElementById('pageRangeEnd'); const totalSpan = document.getElementById('totalItemsCount'); const navBox = document.getElementById('pageNavButtons'); const toolbar = document.getElementById('paginationToolbar'); if (!toolbar || !navBox) return; if (total === 0) { toolbar.style.display = 'none'; return; } toolbar.style.display = 'flex'; let start = 1; let end = total; let totalPages = 1; if (pageSize !== 'all') { start = (currentPage - 1) * pageSize + 1; end = Math.min(currentPage * pageSize, total); totalPages = Math.ceil(total / pageSize) || 1; } if (startSpan) startSpan.innerText = start; if (endSpan) endSpan.innerText = end; if (totalSpan) totalSpan.innerText = total; let navHtml = ''; // Prev button const prevDisabled = currentPage <= 1 ? 'disabled' : ''; navHtml += ` `; if (pageSize === 'all') { navHtml += ``; } else { for (let p = 1; p <= totalPages; p++) { const activeClass = p === currentPage ? 'active' : ''; navHtml += ``; } } // Next button const nextDisabled = (currentPage >= totalPages || pageSize === 'all') ? 'disabled' : ''; navHtml += ` `; navBox.innerHTML = navHtml; } function focusSearch() { const input = document.getElementById('searchInput'); if (input) { input.focus(); input.scrollIntoView({ behavior: 'smooth', block: 'center' }); } } function openDetail(permitNumber) { const item = data.find(p => String(p.Permit_Number) === String(permitNumber)); if (!item) return; const html = `
Permit #${item.Permit_Number} • Est. Value: ${item.Project_Value}
Job Site Address:
${item.Job_Site_Address}
Estimator Contact:
${item.Direct_Phone} • ${item.Estimating_Email}
Open Trade Packages:
${item.Open_Trades}
Full Scope Description:

${item.Scope_Description}

📞 Call GC ✉️ Email Estimator
`; document.getElementById('modalContent').innerHTML = html; document.getElementById('detailModal').classList.add('active'); } function closeModal(e) { document.getElementById('detailModal').classList.remove('active'); } function downloadCSV() { const csvContent = "data:text/csv;charset=utf-8," + ["Permit_Number,Issue_Date,General_Contractor,Direct_Phone,Estimating_Email,Project_Value,Job_Site_Address,Scope_Description,Open_Trades,Building_Type"] .concat(data.map(r => `"${r.Permit_Number}","${r.Issue_Date}","${r.General_Contractor}","${r.Direct_Phone}","${r.Estimating_Email}","${r.Project_Value}","${r.Job_Site_Address}","${r.Scope_Description}","${r.Open_Trades}","${r.Building_Type}"` )).join("\n"); const encodedUri = encodeURI(csvContent); const link = document.createElement("a"); link.setAttribute("href", encodedUri); link.setAttribute("download", "keryx_media_dallas_commercial_permits_freebie.csv"); document.body.appendChild(link); link.click(); document.body.removeChild(link); } async function handleFreeFeedSignup(e) { e.preventDefault(); const input = document.getElementById('feedEmailInput'); const btn = document.getElementById('feedSubmitBtn'); const status = document.getElementById('feedStatusMsg'); const email = (input.value || '').trim(); if (!email) return; btn.disabled = true; btn.style.opacity = '0.7'; btn.innerHTML = 'Activating...'; status.className = 'feed-status-msg'; status.innerText = ''; try { const res = await fetch('/api/free-feed', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email: email, trade: currentTrade }) }); const json = await res.json(); if (res.ok && json.ok) { status.className = 'feed-status-msg success'; status.innerHTML = '🎉 Feed activated! Instant CSV feed sent to your inbox. Starting download...'; input.value = ''; btn.innerHTML = '✓ Active!'; setTimeout(downloadCSV, 1000); } else { status.className = 'feed-status-msg error'; status.innerText = json.error || 'Failed to activate. Please try again.'; btn.disabled = false; btn.style.opacity = '1'; btn.innerHTML = 'Get Free Daily Feed'; } } catch (err) { status.className = 'feed-status-msg success'; status.innerText = '⚡ Downloading today\'s daily feed CSV...'; downloadCSV(); btn.disabled = false; btn.style.opacity = '1'; btn.innerHTML = 'Get Free Daily Feed'; } } /* ========================================================= Sticky Lead Bar Handlers & Interaction ========================================================= */ function initStickyLeadBar() { const bar = document.getElementById('stickyLeadBar'); if (!bar) return; if (sessionStorage.getItem('keryx_slb_dismissed') === '1') return; let shown = false; const showBar = () => { if (shown) return; shown = true; bar.classList.add('visible'); }; // 1. Scroll-depth trigger (after 280px of scrolling) window.addEventListener('scroll', () => { if (window.scrollY > 280) showBar(); }, { passive: true }); // 2. Exit-intent trigger document.addEventListener('mouseleave', (e) => { if (e.clientY <= 20) showBar(); }); // 3. Ambient fallback timer (show after 6 seconds) setTimeout(showBar, 6000); } function dismissStickyBar() { const bar = document.getElementById('stickyLeadBar'); if (bar) { bar.classList.remove('visible'); sessionStorage.setItem('keryx_slb_dismissed', '1'); } } async function handleStickyFeedSignup(e) { e.preventDefault(); const input = document.getElementById('stickyEmailInput'); const btn = document.getElementById('stickySubmitBtn'); const status = document.getElementById('stickyStatusMsg'); const email = (input ? input.value : '').trim(); if (!email) return; btn.disabled = true; btn.style.opacity = '0.7'; const originalHtml = btn.innerHTML; btn.innerHTML = 'Activating...'; try { const res = await fetch('/api/free-feed', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email: email, trade: currentTrade }) }); const json = await res.json().catch(() => ({})); if (res.ok && json.ok) { if (status) { status.className = 'slb-status active success'; status.innerText = '✓ Feed activated! Sent to inbox.'; } btn.innerHTML = '✓ Feed Active!'; input.value = ''; downloadCSV(); setTimeout(() => { dismissStickyBar(); }, 3500); } else { if (status) { status.className = 'slb-status active error'; status.innerText = json.error || 'Activation failed. Please try again.'; } btn.disabled = false; btn.style.opacity = '1'; btn.innerHTML = originalHtml; } } catch (err) { if (status) { status.className = 'slb-status active success'; status.innerText = '⚡ Downloading CSV dataset...'; } downloadCSV(); btn.disabled = false; btn.style.opacity = '1'; btn.innerHTML = originalHtml; setTimeout(() => { dismissStickyBar(); }, 3500); } } // Initial render filterTable(); initStickyLeadBar();