Domain Names with Traffic for Sale

Fine tune your search for with-traffic domains using our detailed filters for domain traffic, age, DA and more

${rows.join('')} `; } else if (view === 'grid') { // grid/card view let cards = []; for (let i in results) { let reg_date = ''; let price = normalize_result_value(results[i].price); price = price ? '$' + parseFloat(price).toLocaleString() : '-'; if (results[i].date_reg) { let date = new Date(results[i].date_reg); let year = date.getFullYear(); let months_map = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; let month = months_map[date.getMonth()]; reg_date = month + ' ' + year; } const age_parts = results[i].age.split(' '); const age = age_parts[0]; let age_unit = age_parts.length > 1 ? age_parts[1] : ''; // shorten age unit if (age_unit === 'years') { age_unit = 'yrs'; } else if (age_unit === 'months') { age_unit = 'mos'; } else if (age_unit === 'days') { age_unit = 'd'; } const domain_type = results[i].d_type === 'Premium One Word' ? 'One Word' : results[i].d_type; let card_image_logo_html = ``; if ( results[i]?.logo_url ) { card_image_logo_html = `
`; } else { card_image_logo_html = `
${results[i].domain.replace(/\\.[^.\\s]{3,4}$/, '')}
`; } cards.push(`
${card_image_logo_html}
${results[i].domain}
${price === '$NaN' ? 'inquire' : price}
View Details
`); html = `
${cards.join('')}
`; } } container.innerHTML = html; if ('grid' === view) { // do text fitting onbndHelpers.fitTexts(document.querySelector('.search-results')); } document.querySelector('.pagination-container').innerHTML = render_pagination(); if ('list' === view) { const listTable = document.querySelector('.list-table'); // listen to clicks on .domain-row in listTable listTable.addEventListener('click', function(e) { const t = e.target; if (t.closest('.domain-row')) { const row = t.closest('.domain-row'); const url = row.dataset.url; //location.href = url; window.open(url, '_blank'); } }); } } actions.click.clear_search = function(t, e) { const domainSearchInputs = document.querySelectorAll('input.domain-search'); domainSearchInputs.forEach((input) => { input.value = ''; }); }; const clearFilters = document.querySelector('.clear-filters'); clearFilters.addEventListener('click', function() { // reset all .domain-search fields const domainSearchInputs = document.querySelectorAll('input.domain-search'); domainSearchInputs.forEach((input) => { input.value = ''; }); // reset checked extensions if any const checkedExtensions = document.querySelectorAll('#sc-extensions input[name="extensions"]:checked'); checkedExtensions.forEach((input) => { input.checked = false; }); // reset checked domain types if any const checkedDomainTypes = document.querySelectorAll('#sc-domain-types input[name="domain-types"]:checked'); checkedDomainTypes.forEach((input) => { input.checked = false; }); // reset checked industries if any const checkedIndustries = document.querySelectorAll('#sc-industries input[name="industries"]:checked'); checkedIndustries.forEach((input) => { input.checked = false; }); // reset sliders const draggables = document.querySelectorAll('#search-controls [draggable="true"]'); draggables.forEach((draggable) => { draggable.reset(); }); // reset all price-types const priceTypes = document.querySelectorAll('#sc-price-usd input[name="price-types"]:checked'); domain_search(1); }); const searchResults = document.querySelector('.search-results'); searchResults.addEventListener('click', function(e) { const t = e.target; if (t.classList.contains('can-sort')) { return; } // sort by clicking result table headings let current_sort = t.dataset.sort; // determine next sort based on current sort let next_sort = 'none'; switch (current_sort) { case 'none': next_sort = 'asc'; break; case 'asc': next_sort = 'desc'; break; case 'desc': next_sort = 'asc'; break; default: return; } // get sort target let sort_target = t.dataset.id; // update sort dropdown value const svd = document.querySelector('#sort-view-dropdown'); svd.value = next_sort; const svd_dd = svd.closest('.dropdown'); const all_ddo = svd_dd.querySelectorAll('.dropdown--option'); all_ddo.forEach((ddo) => { ddo.classList.remove('selected'); }); const selected_ddo = svd_dd.querySelector(`.dropdown--option[data-value="${next_sort}"]`); selected_ddo.classList.add('selected'); window.search_sort = sort_target + '|' + next_sort; // do domain search call domain_search(1); }); document.querySelector('#results-per-page').addEventListener('change', function(e) { window.search_items_per_page = this.value; domain_search(1); searchResultsContainer.scrollIntoView(true); }); document.querySelector('#search-controls').addEventListener('click', function(e) { const t = e.target; if (e.tagName === 'INPUT' && e.type === 'checkbox') { handle_filter_change(); } }); function handle_filter_change() { if (window.hasOwnProperty('search_timeout')) { clearTimeout(window.search_timeout); } window.filters_used = true; // flag window.search_timeout = setTimeout(function() { domain_search(1); }, 300); } document.querySelector('.view-switches').addEventListener('click', function(e) { const t = e.target; if (!t?.dataset?.view) { return; } switch (t?.dataset?.view) { case 'list': highlight_view(t.dataset.view); window.search_view = 'list'; render_results(); break; case 'grid': highlight_view(t.dataset.view); window.search_view = 'grid'; render_results(); break; default: break; } }); function highlight_view(view) { const vs = document.querySelector('.view-switches'); const innerDivs = vs.querySelectorAll('[data-view] div'); innerDivs.forEach((div) => { div.classList.remove('!bg-[--neutral-50]'); }); vs.querySelector(`[data-view="${view}"] div`).classList.add('!bg-[--neutral-50]'); } function init_search() { // check url params if (window.hasOwnProperty('url_params')) { // modify filters according to params if (window.url_params.has('type')) { const extInputs = document.querySelectorAll('#sc-extensions input[type="checkbox"]'); extInputs.forEach((input) => { input.checked = false; }); const typeInputs = document.querySelectorAll('#sc-domain-types input[type="checkbox"]'); typeInputs.forEach((input) => { input.checked = false; }); const typeInput = document.querySelector(`#sc-domain-types input[type="checkbox"][data-label="${window.url_params.get('type')}"]`); typeInput.checked = true; } else if (window.url_params.has('industry')) { const extInputs = document.querySelectorAll('#sc-extensions input[type="checkbox"]'); extInputs.forEach((input) => { input.checked = false; }); const industryInputs = document.querySelectorAll('#sc-industries input[type="checkbox"]'); industryInputs.forEach((input) => { input.checked = false; }); const industryInput = document.querySelector(`#sc-industries input[type="checkbox"][data-label="${window.url_params.get('industry')}"]`); industryInput.checked = true; } // todo (other url-param filters) } } function domain_search(page = 1, init = false) { if (init) { init_search(); } const searchButtons = document.querySelectorAll('[data-click-action="domain-search"]'); searchButtons.forEach((button) => { button.querySelector('div').innerHTML = 'Searching... '; }); let params = new URLSearchParams(); // check session storage for keywords let keywords_from_session = sessionStorage.getItem('domain-search-keywords'); if (keywords_from_session) { init = false; // unset init flag since we need to show the search results header const searchInputs = document.querySelectorAll('.domain-search'); searchInputs.forEach((input) => { input.value = keywords_from_session; }); sessionStorage.removeItem('domain-search-keywords'); // unset as keywords from storage should be one-time use only } const sortDropdown = document.querySelector('#dropdown-sort-view-dropdown'); // direction const sortByDropdown = document.querySelector('#dropdown-sort-view-by-dropdown'); // target let filters = get_search_filters(); let keywords = document.querySelector('.domain-search').value.trim(); if (keywords.trim() === '') { keywords = document.querySelector('.ds-results-head .domain-search').value.trim(); } // set keywords to both fields const keywordFields = document.querySelectorAll('.domain-search'); keywordFields.forEach((field) => { field.value = keywords; }); let items_per_page = window.hasOwnProperty('search_items_per_page') ? window.search_items_per_page : 20; let sort = sortByDropdown.getValue() + '|' + sortDropdown.getValue(); // create signature for search params (avoid double queries) let signature = btoa(JSON.stringify([keywords, filters])); // determine final sort if (keywords.length === 0 && !window.hasOwnProperty('filters_used')) { sort = 'price|desc'; } const sortParts = sort.split('|'); sortDropdown.setSelected(sort[1]); sortByDropdown.setSelected(sort[0]); if (useHeroSearch) { searchTextModifier = document.querySelector('.hero .search-text-modifier option:checked').innerText; } else { searchTextModifier = document.querySelector('.ds-results-head .search-text-modifier option:checked').innerText; } params.append('action', 'mkt_domain_listings_search'); params.append('keywords', keywords); params.append('search_text_modifier', searchTextModifier); params.append('page', page); params.append('items_per_page', items_per_page); params.append('filters', JSON.stringify(filters)); params.append('sort', sort); params.append('signature', signature); params.append('nonce', "163747d8d7"); if (dsGlobalData?.singleType) { //params.append('single_type', single_type); highlight_view('grid'); window.search_view = 'grid'; } else if (dsGlobalData?.singleIndustry) { //params.append('single_industry', single_industry); highlight_view('grid'); window.search_view = 'grid'; } // compare current signature with last query's signature (if exists) if (window.hasOwnProperty('domain_search_signature') && window.domain_search_signature === signature && window.hasOwnProperty('domain_search_running') && window.domain_search_running) { // same signature and domain search is running, bail return; } searchResultsContainer.innerHTML = '
Searching...
'; window.domain_search_signature = signature; // save signature for this search window.domain_search_running = true; fetch("admin-ajax.html", { method: 'POST', headers: { 'X-Requested-With': 'XMLHttpRequest' }, body: params }) .then(r => r.json()) .then(r => { window.domain_search_running = false; // check if result signature matches (prevents showing expired results) if (r.signature === window.domain_search_signature) { // save results data window.search_data = r.data; window.search_filters = r.filters; window.search_keywords = r.keywords; window.search_sort = r.sort; window.search_items_per_page = r.items_per_page; // render results render_results(); } }) .finally(r => { const searchButtons = document.querySelectorAll('[data-click-action="domain-search"]'); searchButtons.forEach((button) => { button.querySelector('div').innerHTML = 'Search'; }); }); } domain_search(1, true); // initial search }()); -->