Pay Per Call Landing Page Auditor avatar

Pay Per Call Landing Page Auditor

Pricing

from $5.00 / 1,000 page auditeds

Go to Apify Store
Pay Per Call Landing Page Auditor

Pay Per Call Landing Page Auditor

Audit pay-per-call landing pages: extract call numbers, fingerprint DNI call-tracking providers, and score TCPA/compliance readiness.

Pricing

from $5.00 / 1,000 page auditeds

Rating

0.0

(0)

Developer

Tuhin

Tuhin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Pay-Per-Call Landing Page Auditor

Audit pay-per-call landing pages at scale. Give it a list of URLs and it returns, per page:

  • Phone numbers found on the page (both tel: click-to-call links and numbers in the body text)
  • Click-to-call links specifically
  • Call-tracking / DNI providers detected (Ringba, Retreaver, CallRail, Invoca, TrackDrive, Marchex, DialogTech, CallTrackingMetrics, WhatConverts, Twilio, Phonexa) — i.e. whether the displayed number is a tracked/rotating number
  • Call-readiness score (0–100): does a visitor actually have a working, tracked way to call?
  • Compliance score (0–100) + flags: TCPA / express-consent language, privacy policy, terms, and "not affiliated / not a government site" disclaimers

Built for pay-per-call networks, compliance teams, and affiliates QA-ing publisher landers before they push traffic.

Input

FieldTypeDescription
urlsarrayLanding page URLs to audit (one dataset row per URL).
checkCompliancebooleanRun TCPA/consent + disclaimer checks. Default true.
proxyConfigurationobjectProxy used to fetch pages. Apify Proxy recommended.
maxConcurrencyintegerMax pages fetched in parallel. Default 10.

Example input

{
"urls": [
{ "url": "https://example-lander.com/medicare" },
{ "url": "https://example-lander.com/auto-insurance" }
],
"checkCompliance": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Output

Each row in the dataset:

{
"url": "https://example-lander.com/medicare",
"httpStatus": 200,
"pageTitle": "Compare Medicare Plans",
"phoneNumbers": ["+18005551234", "(800) 555-1234"],
"clickToCall": ["+18005551234"],
"callTrackers": ["Ringba"],
"hasTrackedNumber": true,
"callReadinessScore": 100,
"complianceScore": 85,
"complianceFlags": {
"tcpaConsent": true,
"privacyPolicy": true,
"termsLink": true,
"notAffiliated": false
},
"scrapedAt": "2026-08-30T00:00:00.000Z"
}

How scoring works

Call-readiness = 40 (any phone) + 30 (a tel: click-to-call link) + 30 (a call-tracking provider detected).

Compliance = 40 (TCPA/consent language) + 25 (privacy policy) + 20 (terms) + 15 (disclaimer).

Scores are heuristic signals to triage pages, not legal advice.

Notes / limitations

  • Pages that render numbers only via client-side JavaScript may under-report phone numbers, since this actor parses server-rendered HTML. Provider scripts are still detected, so hasTrackedNumber remains reliable.
  • Compliance detection is keyword/pattern based and is meant for triage, not legal certification.