Website Lead Qualifier: Emails, Tech Stack & Sales Signals
Pricing
from $4.00 / 1,000 analysed websites
Website Lead Qualifier: Emails, Tech Stack & Sales Signals
Reads each business website and lists what an agency could sell it: no Meta pixel or analytics, no HTTPS, not mobile-ready, no online booking, outdated WordPress, missing SEO basics. Adds emails with MX check, phones and socials. Takes a URL list or a Google Maps Scraper dataset.
Pricing
from $4.00 / 1,000 analysed websites
Rating
0.0
(0)
Developer
Kostas Skutulas
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Website Lead Qualifier is a lead generation tool for agencies and web
designers. It reads business websites and returns one flat row per business
with emails, phones, the tech stack, marketing tags such as Meta Pixel and
Google Ads, and short codes for what an agency could sell the business, such as
no-meta-pixel, no-online-booking, no-https and outdated-wordpress. It
takes a list of websites or a Google Maps Scraper dataset, and does not search
for businesses itself.
What it finds
For each website it records:
- Contacts: emails (with an MX check), phones in international format, WhatsApp, and links to Facebook, Instagram, LinkedIn, X, YouTube and TikTok.
- Tech stack: platform (WordPress, WooCommerce, Shopify, Wix, Squarespace, Webflow and a dozen more), WordPress version, and whether the site is a shop.
- Marketing tags: Google Analytics 4, the old Universal Analytics, Google Tag Manager, Google Ads, Meta Pixel, TikTok, LinkedIn, Hotjar and Clarity. Tags are read from the page and from inside its Tag Manager container, where agencies put most of them.
- Widgets: cookie consent tool, live chat, online booking system and newsletter form, each named by vendor.
- Basics: HTTPS, mobile viewport, title, meta description, noindex, structured data, copyright year, server response time and accessibility signals.
- Opportunities: the codes in the table below, for filtering the list.
How to use
With Google Maps Scraper
- Run Google Maps Scraper for your niche and city.
- Paste the run's Dataset ID into this actor's "Dataset ID" field and start it. You can also add this actor as an integration on the Maps run. It then reads the dataset by itself when the Maps run finishes.
Each row keeps the business name, category, city, rating, review count and the
phone number that Google Maps lists, next to what was found on the website.
Businesses without a website are included as no-website and are not charged.
With your own list
Paste domains or URLs into "Websites", one per line. Tracking parameters are removed and the rest of the URL is kept, so a branch page on a chain's site is read as that branch page.
Filtering the results
Sort by opportunityCount, or filter opportunities by the code for the
service you sell. Check emailHasMx before you send email to the addresses in
emails.
Opportunity codes
| Code | Raised when | Who sells the fix |
|---|---|---|
no-website | The dataset row has no website at all | Web design |
no-own-website | The "website" is a Facebook, Instagram, Booksy, Wolt, Linktree or similar page, or the domain forwards to one | Web design |
website-down | The site did not answer, or its home page returned an error | Web design, hosting |
parked-domain | The domain shows a registrar's parking or for-sale page | Web design |
placeholder-page | "Coming soon", "under construction" or a server's default page, with little else on it | Web design |
no-https | The site is served over plain HTTP | Web design, hosting |
https-broken | HTTPS failed on its certificate and the site only answered over HTTP | Web design, hosting |
no-mobile-viewport | No width=device-width viewport: the site was not built for phones | Web design |
outdated-copyright | The latest copyright year is two or more years old | Web design |
outdated-wordpress | WordPress is three or more feature releases behind the current one | WordPress care |
site-builder | Built on Wix, Squarespace, Webflow, Weebly, GoDaddy, Jimdo, Duda or Tilda | Web design |
slow-server | The home page took more than 2.5 s to start answering | Hosting, performance |
accessibility-issues | Four or more of eight machine-readable accessibility signals failed | Accessibility |
noindex | The page tells search engines not to index it | SEO |
missing-title | No <title> | SEO |
no-meta-description | No meta description | SEO |
no-structured-data | No schema.org Organization or LocalBusiness data | SEO |
no-analytics | No analytics of any kind: Google, Tag Manager, Matomo, Plausible, Hotjar or Clarity | Analytics |
legacy-analytics-only | Only Universal Analytics, which stopped collecting data in July 2024. A GA4 tag that the old tag loads as a connected tag counts as GA4 | Analytics |
no-meta-pixel | No Meta Pixel on the page, in Tag Manager or in Shopify's Meta app | Paid social |
no-google-ads-tag | No Google Ads tag on the page, in Tag Manager or in Shopify's Google app | PPC |
no-cookie-consent | Tracking tags run but no consent banner was found, in the EU, EEA, UK or Switzerland | Privacy compliance |
no-online-booking | No booking system, for a business whose Maps category books appointments (salons, clinics, restaurants, gyms, hotels...) | Booking software |
no-live-chat | No chat widget and no Messenger, WhatsApp, Viber or Telegram link | Chat, chatbots |
no-contact-email | No email address on the site or its contact page | n/a |
no-social-links | No link to any social profile | Social media |
A code is raised only on evidence. When something could not be read, its code
is left off rather than guessed. A wrong no-meta-pixel would send an ads
agency to a business that already has a pixel.
Measured on 155 real businesses
Two samples, one run each, with default settings.
| 130 Lithuanian shops and showrooms | 25 UK dentists, Berlin restaurants, Austin salons | |
|---|---|---|
| Analysed | 128 (2 refused access) | 18 (3 without a site of their own, 3 down or refusing access) |
| Run time | 24 s at 10 sites at once | 9 s |
| Pages opened per site | 1.2 on average | 1.8 |
| Email found | 98% | 78% |
| Phone found | 96% | 100% |
| Tags found only inside Tag Manager | 40% of sites | 44% |
| Booking system found | n/a | 44% |
| Opportunities per site | 3.8 | 4.6 |
The Tag Manager row is the reason the container is read. On four sites in ten, a pixel or an ads tag that is not in the page source was loaded from the container. Reading the HTML alone would have reported those businesses as not advertising.
Consent findings were checked by hand. Twelve sites flagged no-cookie-consent
were opened in a browser, and nine had no banner. The other three had banners
the actor did not detect at the time (Borlabs Cookie 3, a banner text stored as
escaped JSON, and Wix's own banner). All three cases are now handled.
What HTML cannot show
- Cookie banners on site builders. Wix, Squarespace and the other builders
draw their own banner after the page loads, and it leaves no trace in the
HTML. Consent is not judged on these sites:
cookieConsentis left empty andno-cookie-consentis never raised. - Tags added in a builder's own marketing settings, such as the "Facebook
Pixel" integration of a Wix site, load the same way. On site builders,
no-meta-pixelis likely but not certain. - Booking forms a business built itself are not recognised. Only the
seventy-odd booking systems and plugins listed in the source code are. This
is why
no-online-bookingis raised only for categories that book appointments. - Speed is the server's response time. It shows slow hosting. It is not a Lighthouse score and does not measure how heavy the page is.
- Accessibility is eight machine-readable signals, not a full audit. See the recommendations below.
Pricing
$4 per 1,000 websites analysed: $0.004 for each site that was reached and read.
Rows for businesses with no website or with only a social or booking page, and rows for sites that did not answer, are recorded free of charge. When several Google Maps listings share one website (branches, or a clinic listed once per doctor), the site is read and charged once and the result is copied to each listing.
Apify adds its standard start fee of $0.00005 per run. Compute is included.
Input and output
Input
{"datasetId": "YOUR_GOOGLE_MAPS_SCRAPER_DATASET_ID","websites": ["kirpykla.lt", "https://www.example-dental.co.uk/"],"maxRequestsPerSite": 5,"concurrency": 10}
Output
A real row from the measured run, shortened:
{"name": "Thornley Park Dental","category": "Dentist","city": "Manchester","countryCode": "GB","website": "https://thornleyparkdental.com/","status": "ok","opportunities": ["no-online-booking", "no-live-chat"],"opportunityCount": 2,"emails": ["info@thornleyparkdental.com"],"emailHasMx": true,"phones": ["+441613368036"],"instagram": "https://www.instagram.com/thornleyparkdental/","platform": "wordpress","https": true,"responseMs": 455,"mobileViewport": true,"copyrightYear": 2026,"schemaBusiness": true,"googleAnalytics": true,"googleTagManager": true,"googleAdsTag": true,"metaPixel": true,"foundInTagManager": ["Google Analytics 4", "Google Ads", "Meta Pixel"],"cookieConsent": true,"cookieConsentTool": "Borlabs Cookie","liveChat": false,"onlineBooking": false,"a11yChecksFailed": 3,"requestsMade": 1,"elapsedMs": 1250}
This practice runs Google Ads and a Meta Pixel, both loaded through Tag Manager, so its page source shows neither. It is not a lead for an ads agency. Its two codes are for booking software and live chat.
Every row has a status. ok and parked rows are analyses and are charged.
no-website, no-own-website, unreachable, blocked and invalid rows are
not. Rows copied from an earlier listing with the same website carry
sameWebsiteAs and are not charged again.
Recommendations
- Filter on the code you sell.
opportunityCountis for sorting. To build a list for one service, filteropportunitiesby that service's code. - Check
emailHasMxbefore sending. An address on a domain with no mail server bounces, and bounces harm the sending domain's reputation. - Use
a11yChecksFailedas a signal only. It counts eight checks that can be read from the source, such as missing alternative text, unlabelled inputs and blocked zoom. Failures cluster there, but most of WCAG needs a rendered page and a person testing with a keyboard, so it is not a compliance verdict. - Do not raise
concurrencyto finish a big list sooner. Pages on one site are opened one at a time with a pause between them, to keep the load on small business sites low.
FAQ
Does it find businesses as well? No. It analyses the websites it is given. Get the businesses from Google Maps Scraper or from your own list.
Why is a site blocked?
It answered with 401, 403, 407 or 429, usually from a firewall that blocks
automated visitors. The row records the refusal and is not charged.
Does it respect robots.txt?
Yes, including a group written for website-lead-qualifier by name. The home
page is requested once, and robots.txt is read before any further page.
Why is a pixel reported that I cannot see in the page source?
It is loaded by Google Tag Manager or by a Shopify app. foundInTagManager
names the tags that were found only in the container.
Related tools
- Lead Qualifier Chrome extension: the same checks for the one site open in your browser, in one click, with a draft first email.
- Shop Intel, for online shops: platform, catalogue photo and dimension readiness, contacts.
- Photo to 3D: product photos to web-ready 3D models at real size.
- Made by ITneeds.