Clean and validate phone lists before WhatsApp/SMS outreach. Bulk-check numbers: validity, E.164 format, country, region, carrier, line type (mobile/landline) and WhatsApp-ready flag. 100% offline — no login, no bans. Optional Premium: live WhatsApp registration check with your own provider key.
All notable changes to this Actor will be documented here.
[0.9] — 2026-07-17
Fixed — far fewer "unknown" WhatsApp results
Rate-limited live checks are no longer silently dropped. The live source
caps requests per IP; when a check hit that cap the answer used to be
swallowed and the number was reported as not-registered. It's now detected and
the check is retried on a fresh proxy IP, so genuinely reachable numbers
are correctly returned as registered instead of being lost.
Added an independent fallback source for the few numbers the primary
source still can't resolve, pushing the share of definitive true/false results
close to 100% on a run.
Changed (internal, no behaviour change)
Live-check source config (endpoints, response markers, credential fields)
centralized so a source change is a one-place fix.
Added automatic detection when the live check returns no usable results across
a run (source down/blocked/changed) — logged as a clear warning while offline
results are still delivered.
[0.7] — 2026-07-03
Added — optional live WhatsApp registration check (beta)
checkWhatsapp — turn it on to actually verify whether each valid,
mobile-capable number is registered on WhatsApp right now. Adds
whatsappRegistered (true / false) and, when the account is public, a
whatsappProfilePic URL. Off by default, so the Actor stays 100% offline and
instant unless you ask for the live check.
Best-effort with graceful fallback. The live check is a best-effort layer
on top of the offline validation — if the live source is briefly unavailable
or rate-limited, you still get the full offline result plus a
whatsappCheckNote, never a failed run.
New tuning inputs whatsappConcurrency and whatsappTimeout (only used when
the live check is on). No price change.
[0.6] — 2026-07-03
Fixed
whatsappCapable no longer reads false for every US/Canada number.
These plans can't be split from landline offline, so they were graded
maybe and the boolean showed false — making a whole list of valid US
mobiles look un-reachable. whatsappCapable is now true when a line can
hold a WhatsApp account (confirmed mobile or mobile-capable plan =
yes+maybe), and false only for landline / VoIP / toll-free / invalid.
Boolean now matches the onlyWhatsappCapable filter. The filter keeps
yes+maybe; previously the boolean only counted yes, so filtered rows
could still show whatsappCapable: false. They now agree.
The graded whatsappCapability field (yes / maybe / no) is unchanged,
so the mobile-vs-mobile-capable nuance is still there for anyone who needs it.
Changed
phoneNumbers is no longer required. You can run with just the bulk paste
field (numbersText) — handy for pasting a spreadsheet column straight in.
[0.5] — 2026-06-25
Fixed
WhatsApp capability was marking almost every number as capable. For
numbering plans that can't separate mobile from landline (notably US/Canada),
libphonenumber reports FIXED_LINE_OR_MOBILE for every number, and the old
code treated that whole bucket as whatsappCapable: true — so any valid US
number looked WhatsApp-ready.
Capability is now graded honestly with a new whatsappCapability field:
"yes" (confirmed mobile), "maybe" (mobile-or-landline plan — needs a live
check), "no" (landline / VoIP / toll-free / invalid). The boolean
whatsappCapable is now true only for confirmed-mobile ("yes") lines.
onlyWhatsappCapable now keeps yes + maybe and drops no, so it no longer
silently passes landlines as WhatsApp-ready.
valid is unchanged (still libphonenumber format/allocation validity).
[0.4] — 2026-06-10
Changed
Renamed to "Fast WhatsApp Number Validator" — validates thousands of numbers in seconds.
Memory capped (128–1024 MB) to keep runs cheap and predictable.
Single tier now: $1.5/1K, fully offline. Removed the optional Premium
live-WhatsApp-check tier and all provider integrations (Whapi / 2Chat /
custom) and their inputs. The Actor is now login-free, key-free and
bans-proof end to end. The result-premium charge event is retired.
[0.3] — 2026-06-10
Changed
Basic price lowered to $1.5/1K (was $2/1K) — still profitable, more competitive.
Premium price lowered to $3/1K (was $5/1K) — undercuts the live-check competitors.
Added
Bulk paste field (numbersText) — paste a whole list / copied spreadsheet
column; merged with phoneNumbers.
Dataset views — "Validated numbers" + "WhatsApp-ready (clean list)" for a
cleaner Store output and task landing pages.
Changed
Input is now flattened and de-duplicated — numbers pasted together
(newline / comma / semicolon separated) are split apart, and duplicates are
removed so you are never charged twice for the same number.
[0.2] — 2026-06-08
Added
Operator backend — provider credentials resolve from the Actor's secret
environment variables (WA_PROVIDER, WA_API_KEY, WA_SOURCE_NUMBER,
WA_CUSTOM_ENDPOINT) so users get keyless live checks with tier: premium.
Live-check providers: Whapi.Cloud, 2Chat, or a Custom endpoint.
[0.1] — 2026-06-08
Added — initial release
Offline bulk validation powered by Google's libphonenumber:
validity, E.164 / international / national formats, country, region,
carrier, line type (mobile / landline / VoIP …) and time zones.
whatsappCapable flag — true for valid mobile numbers that can hold a
WhatsApp account.
Cleanup filters — onlyValid and onlyWhatsappCapable to return a
ready-to-use list.
Premium tier (bring your own key) — optional live WhatsApp-registration
check via Whapi.Cloud, 2Chat, or a custom HTTPS endpoint. Live checks run on
your provider account; failures fall back gracefully to the offline result.
CSV export (exportFormat) with spreadsheet-friendly columns.
Per-run SUMMARY written to the key-value store (not billed).
Two-tier pricing: Basic $2/1K, Premium $5/1K. You pay per number returned.