Website Audit Lead Finder — Web Design Leads avatar

Website Audit Lead Finder — Web Design Leads

Pricing

from $20.00 / 1,000 website audited & scoreds

Go to Apify Store
Website Audit Lead Finder — Web Design Leads

Website Audit Lead Finder — Web Design Leads

Finds businesses with bad websites and turns them into qualified leads. Bulk-checks any list of sites for missing SSL, broken mobile layout, slow load times and outdated tech, then scores each 0-100 with a plain-English issue list. Built for web designers and SEO agencies.

Pricing

from $20.00 / 1,000 website audited & scoreds

Rating

0.0

(0)

Developer

Data Runner

Data Runner

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Website Health Lead Qualifier — Find Businesses With Bad Websites (+ Contact Info)

The best web design lead is a business whose website is visibly broken. This Actor audits any list of business websites for missing HTTPS, broken mobile layouts, slow load times, dead links and outdated tech, scores each site 0–100, and hands back the failing ones as qualified leads — each with a plain-English list of what's wrong and the contact emails to reach them.

Also searched as: find businesses with bad websites, web design leads, website audit lead generation, outdated website finder, find clients who need a new website, bulk website checker.

Other tools tell you a website's score. This one tells you which businesses to call — and exactly what to say.


Why bad websites are the easiest web design clients to close

Cold outreach fails because it opens with a guess. This Actor opens with a diagnosis the prospect can verify in ten seconds on their own phone.

  • 🔍 The audit IS the pitch. Every issue comes back written for the business owner, not for a developer: "Your pages run off the edge of a phone screen, forcing visitors to scroll sideways to read your content." Paste it straight into the email.
  • 🎯 A transparent 0–100 health score. Rank a hopeless 1998 site above a merely dated one, so your team calls the biggest opportunities first. The formula is published below — no black box.
  • ✉️ Contacts in the same visit. Emails, phone numbers and social links are extracted during the same browser visit that runs the audit. One visit, two jobs — and no extra charge.
  • 💀 Dead websites are found, not skipped. A domain that no longer resolves, an expired certificate, a 500 error — these are reported as leads, not silently dropped. They are the strongest pitch there is.
  • 🚫 No invented findings. A check that could not run is reported as unmeasured, never as a failure. You will never be handed a "problem" that doesn't exist in front of a prospect.

Who it's for

You are…You get…
A web designer / freelancerBusinesses whose sites fail on mobile — with the evidence attached.
A web development shopSites on discontinued builders and dead tech that need a rebuild, not a patch.
An SEO / CRO agencySites missing titles, meta descriptions, structured data — or accidentally hidden from Google entirely.
A hosting / care-plan sellerSites with 3-second server responses and expired certificates.

How it works

  1. Get your targets. Either discover businesses by category and location on Google Maps, or feed in a list you already have (Apify dataset, CSV, or pasted records).
  2. Visit each site once with a real mobile browser at a 390 px phone viewport — the same width an iPhone uses.
  3. Measure everything in that one visit: certificate validity, mobile rendering, page weight and speed, footer copyright year, dead links, platform and legacy tech, SEO tags, and whether a customer can even find a phone number.
  4. Score 0–100 with a published weighted formula and generate the plain-English issue list.
  5. Deliver one row per business — optionally filtered to only the sites below your score threshold, which are your actual leads.

Two ways to feed it

Discovery mode — find the businesses for me

{
"searchTerms": ["plumbers"],
"location": "Tampa, FL",
"maxSites": 100,
"onlyBelowScore": 60,
"extractEmails": true
}

Finds plumbers in Tampa that publicly list a website, audits every one, and returns only the sites scoring below 60 — the businesses whose websites are actively costing them customers.

List mode — I already have the businesses

{
"datasetIds": ["aBcD1234efGh5678"],
"csvUrls": ["https://example.com/my-leads.csv"],
"inlineRecords": [
{ "businessName": "Acme Plumbing", "website": "acmeplumbing.com" }
],
"maxSites": 250,
"onlyBelowScore": 75
}

Mix all three sources freely — they are merged and de-duplicated by domain, so the same business is never audited (or charged for) twice. The website column is auto-detected (website, websiteUrl, url, domain, site, homepage, web), or name it yourself with websiteField.


What you get back

One vivid example — a real-shaped record for a fictional business:

{
"businessName": "Bayside Plumbing & Heating",
"website": "http://baysideplumbing.com",
"status": "ok",
"healthScore": 31,
"grade": "F",
"isLead": true,
"isPriorityLead": true,
"confidence": "high",
"issueSummary": "no HTTPS, not mobile-ready, breaks on phones (+7 more)",
"majorIssueCount": 5,
"minorIssueCount": 5,
"issues": [
{
"check": "ssl-missing",
"category": "security",
"severity": "major",
"points": 25,
"plainEnglish": "Your site doesn't use HTTPS — browsers show visitors a 'Not Secure' warning, and many will leave before the page loads. It also pushes you down in Google's search results."
},
{
"check": "viewport-missing",
"category": "mobile",
"severity": "major",
"points": 12,
"evidence": "no viewport tag",
"plainEnglish": "Your site isn't set up for phones, so it loads at desktop size and visitors have to pinch and zoom to read anything. Most of your customers are searching on a phone."
},
{
"check": "copyright-stale-severe",
"category": "freshness",
"severity": "major",
"points": 10,
"evidence": "© 2016",
"plainEnglish": "The copyright date at the bottom of your site is several years out of date, which makes visitors wonder whether you're still in business. It's one of the first things people check."
}
],
"ssl": "none",
"mobileFriendly": false,
"ttfbMs": 1450,
"pageWeightMb": 6.2,
"requestCount": 41,
"copyrightYear": 2016,
"platformDetected": null,
"emails": ["info@baysideplumbing.com", "mike@baysideplumbing.com"],
"primaryEmail": "info@baysideplumbing.com",
"phone": "(555) 214-8890",
"socialLinks": { "facebook": "https://facebook.com/baysideplumbing" },
"source": "discovery"
}

Every run also writes a summary to the key-value store (OUTPUT) and as a final dataset row: sites audited, average score, grade distribution, the most common issues across the whole batch, contactability rate, unreachable count and runtime.


The health score, explained (no black box)

Every site starts at 100 and loses points for each problem found. Weights track what a designer can actually pitch and get paid for, not what an engineer finds interesting.

CategoryMax deductionThe heaviest checks in it
Security & trust25No HTTPS (25) · invalid certificate (20) · mixed content (8)
Mobile experience25Not phone-ready (12) · content overflows the screen (10) · cramped tap targets (5) · unreadable text (4) · zoom blocked (4)
Freshness & tech debt25Flash (10) · stale copyright (10) · broken links (8) · table layout (8) · outdated CMS (8) · quirks mode (6) · ancient jQuery (5)
Performance20Slow server response (8) · very heavy pages (8) · oversized images (5) · too many requests (4)
SEO hygiene20Hidden from Google (12) · no page title (8) · placeholder title (6) · no meta description (4)
Contactability15No phone number (7) · no contact page (7) · no email or form (4) · no address (3)

Why the caps. Eight cheap SEO checks failing is one problem — "nobody did any SEO" — not eight. Capping each category stops correlated checks from drowning out a genuine "no HTTPS and not mobile" rebuild candidate. The final score therefore answers the question that actually matters: how many independent things are wrong, and how badly?

Grades

GradeScoreWhat it means for you
A90–100Healthy. Not a lead.
B75–89Minor issues. Weak lead — fix-list or retainer at best.
C60–74Warm lead. Problems in at least two categories.
D40–59Strong lead. Structurally broken; a redesign is obvious.
F0–39Priority lead. The site is actively costing them customers.

Reaching grade C requires ~40 points of damage, which is impossible from a single category — so every C-or-below site has verified problems in at least two independent areas. That is what makes the pitch hard to dismiss.

When we don't know, we say so

A check that could not be completed is recorded as unmeasured and deducts nothing. If too much of the audit failed to run, the site is returned with grade: null and confidence: "low" rather than a flattering score. A partially-audited site that scores 92 is not an A — it's ungraded. This is deliberate: one fabricated finding in front of a prospect costs you the relationship, while a missed one only costs you a lead.


Pricing

Pay per event. No subscription.

EventPriceWhen it fires
Website audited & scored$0.02Once per site actually reached over the network
AI outreach pitch$0.012Only when the AI pitch is enabled and really produced one
Actor start$0.00005Once per run

A realistic run: 100 sites audited with contact extraction = $2.00. Add AI pitches for the 40 that qualify as leads = $2.48 total.

What is never charged:

  • Rows with no website, malformed URLs, and duplicates you supplied twice.
  • Anything skipped because your budget cap was reached.
  • A pitch that fell back to the built-in template because the AI engine was unavailable.

What is charged, and why: a site that is down, times out, returns a 500 or has an expired certificate is charged — the work was done and a broken website is the most valuable finding this Actor produces. Sites filtered out by onlyBelowScore are also charged, because they were fully audited; the filter controls what lands in your dataset, not what work was performed.

Set maxTotalChargeUsd to cap a run's spend. It stops cleanly at the limit and tells you what it didn't reach — it never silently drops records.


Works perfectly with the rest of the suite

This Actor turns a raw business list into a ranked pitch list. Chain it with the rest of the stack:

  1. Google Maps Lead Generator Pro — find local businesses and their websites.
  2. Website Health Lead Qualifier (you are here) — audit every site, keep the ones that need help.
  3. Lead List Deduplicator & Merger — merge with your other sources and de-duplicate before you spend on verification.
  4. Email Verifier & Enricher Pro — validate every address so your outreach actually lands.
  5. Icebreaker Generator — turn each record into a personalized opener.

Honest limitations

Read this before you rely on a number.

  • This is a single-visit heuristic audit, not a full Lighthouse report. It measures the homepage (plus up to two contact pages) in one real browser visit. It does not compute Core Web Vitals, does not crawl your prospect's whole site, and is not a substitute for a manual review before you quote a price.
  • Scores are indicative, meant for ranking. They are excellent at sorting 500 businesses into "call these first". Treat a single site's exact number as a starting point, not a verdict.
  • Load times reflect our network, not your prospect's customers. The run measures from a datacenter proxy. A real visitor on mobile data will usually be slower.
  • Some sites block automated visits. Bot-protection walls are reported honestly as status: "blocked" rather than being scored as healthy — but we can't audit what we can't see.
  • Platform detection is fingerprint-based. An unknown platform is reported as unknown, never as obsolete.
  • Discovery mode delegates to a Google Maps Actor, which runs as a separate Apify Actor call and is billed by that Actor. Feeding in your own list avoids that entirely.

FAQ

How do I find businesses with bad websites? Run this Actor in discovery mode with a business category and a location — for example "plumbers" and "Tampa, FL" — and set onlyBelowScore to 60. You get back every plumber in Tampa whose website scores below 60, with the specific problems listed in plain English and their contact emails attached.

How do web designers find clients? The highest-converting approach is a specific, verifiable observation about the prospect's current site. That is exactly what this Actor produces at scale: instead of "we build websites", you open with "your site isn't secure and doesn't work on phones — here's what visitors see."

How do I check if a website is mobile friendly in bulk? Feed a list of URLs in list mode. Each site is rendered at a real 390 px phone viewport and checked for a viewport tag, horizontal overflow, tap-target crowding and unreadable text — the four things that actually break a site on a phone.

How much does it cost to check 1,000 websites? $20.00 — 1,000 × $0.02. Contact extraction is included at no extra cost because it happens during the same visit.

Is this the same as a Lighthouse or PageSpeed checker? No, and deliberately so. Those tools grade one site for a developer. This one screens hundreds of businesses for a salesperson, and every finding is written as something you can say to a business owner. It is a lead-qualification tool that happens to audit, not an audit tool.

What happens if a website is down or blocks the check? It is returned as a row with a clear status (dns_error, timeout, http_error, ssl_error, blocked) and always passes your lead filter. A dead website is the strongest sales opening there is — it just needs a different script.

How accurate is the score? The measurements are deterministic and reproducible: the same site scores the same twice. The weighting is a commercial judgment about what sells, published in full above so you can decide whether you agree. Where a check can't be completed it is excluded rather than guessed.

Can I export the leads to CSV or Google Sheets? Yes — results can be exported as CSV, JSON, Excel or HTML from the run's dataset, or pulled through the Apify API.

Do I need proxies? No — proxies are off by default and that is deliberate. Business websites are visited once each and do not need one, and routing through a proxy distorts the load-time and page-weight numbers this Actor exists to measure. Residential proxies also bill per GB, and the audit downloads images on purpose in order to weigh the page. Switch a proxy on only if sites start coming back as blocked.