WhatsApp Number Lookup – Profile, Leaks & Carrier
Pricing
from $30.00 / 1,000 live whatsapp lookup — number founds
WhatsApp Number Lookup – Profile, Leaks & Carrier
Verify any phone number on WhatsApp: real profile pictures, Telegram registration, carrier & line type, location, timezone, breach data (Facebook 533M, WhatsApp 487M) & lead quality score. No API key, no login, 100% autonomous. National & international formats supported
Pricing
from $30.00 / 1,000 live whatsapp lookup — number founds
Rating
0.0
(0)
Developer
Scrape Pilot
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
3
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
📱 WhatsApp Number Lookup — Profile, Leaks, Telegram, Carrier & Lead Intel
The most autonomous WhatsApp number lookup and phone OSINT actor on Apify.
Verify WhatsApp presence, extract real profile pictures, cross-check Telegram registration, identify carrier & line type, detect breach exposure (Facebook 533M / WhatsApp 487M), and score leads — all without any third-party API keys or login.
Strict Data Integrity: Only genuine data is returned. No AI-generated avatars, no placeholder images. If a number has no public WhatsApp profile picture, urlImage is null.
💡 What is the WhatsApp Number Lookup Actor?
This actor is a full-stack phone OSINT engine. Just feed it a list of phone numbers (national or international format), and it will return a comprehensive intelligence report for each one — including:
- ✅ WhatsApp Presence — real-time verification
- ✅ Business Account Detection — WhatsApp Business catalog probe
- ✅ Real Profile Picture — extracted from WhatsApp CDN, Telegram, or Facebook breach data
- ✅ Telegram Registration — cross-check with direct
t.melink - ✅ Carrier & Line Type — mobile, fixed-line, VoIP, or unknown
- ✅ Location & Timezone — city, region, country, local time
- ✅ Breach Intelligence — Facebook 533M & WhatsApp 487M exposure status
- ✅ Lead Score & Quality — hot / warm / cold ranking for outbound prioritization
- ✅ Best Time to Message — suggests
now,evening, orschedule_for_morning
Everything works 100% autonomously — no WhatsApp Business API, no Truecaller key, no Numverify key, no login required.
🔥 SEO Keywords (Why This Actor Ranks)
whatsapp number lookup, whatsapp number checker, whatsapp profile picture scraper, whatsapp leads, phone number OSINT, phone number lookup, telegram number check, whatsapp business detector, carrier lookup, phone carrier lookup, facebook 533m breach check, whatsapp 487m breach, phone number validation, E.164 phone parser, phone leads for cold outreach, B2B phone intelligence, Apify phone lookup actor, no API key whatsapp lookup, autonomous whatsapp verification
🚀 Key Features
| Feature | Description |
|---|---|
| Autonomous WhatsApp Check | Probes api.whatsapp.com/send/ gateway + wa.me/c/ catalog to verify existence and business status. |
| Real Profile Picture Extraction | Pulls genuine CDN image and re-hosts it in Apify Key-Value Store to bypass 403. |
| Telegram Cross-Check | Resolves t.me/+{number} to detect registration + real profile photo. |
| Facebook 533M Breach Lookup | Detects if the number appears in the Facebook 533M dump. |
| WhatsApp 487M Breach Lookup | Detects regional coverage in the WhatsApp 487M global scrape. |
| Carrier Intelligence | Real carrier name + line type via phonenumbers library + regional fallback. |
| Location & Timezone | City, country, IANA timezone, current local time. |
| Lead Scoring | Algorithmic score 0–100 → hot / warm / cold classification. |
| Permanent Caching | Every successful lookup is cached; reruns are 15× cheaper ($0.10 vs $30/1K). |
| Concurrency Control | Safe parallel processing up to 50 numbers at once. |
| Pay-Per-Event Pricing | Only charged when a number exists on WhatsApp. Failed lookups are free. |
| No API Keys | Zero sign-ups, zero third-party dependencies. |
📥 Input Parameters
The actor accepts a JSON object with the following fields:
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
numbers | array of strings | Yes | Demo numbers | Phone numbers in any format (national or international). |
defaultCountryCode | string | No | null | Two-letter ISO country code (e.g., US, BD) for parsing local-format numbers. |
concurrency | integer | No | 5 | Parallel workers (1–50). |
preferCache | boolean | No | true | Use the permanent cache to skip live lookups. |
onlyCache | boolean | No | false | Return cache-only results (never call upstream). |
includeProfilePic | boolean | No | true | Return the real WhatsApp profile picture if available. |
includeAbout | boolean | No | true | Return the "About" status text. |
includeTelegram | boolean | No | true | Cross-check Telegram registration. |
includeLeaks | boolean | No | true | Return Facebook 533M / WhatsApp 487M breach data. |
fbProfilePic | boolean | No | true | Probe Facebook CDN for the number's profile photo. |
includeCarrier | boolean | No | true | Return carrier name + line type. |
timeoutMs | integer | No | 30000 | Per-request timeout in milliseconds. |
Example Input
{"numbers": ["+8801841281197","+14155552671","+5511991234567","+442071838750","+919876543210"],"defaultCountryCode": "US","concurrency": 10,"preferCache": true,"includeTelegram": true,"includeLeaks": true,"includeProfilePic": true}
📤 Output Fields
For each number you get one enriched record. All fields are genuine and verified.
| Field | Type | Description |
|---|---|---|
input | string | The original input as provided. |
e164 | string | International format with + (e.g., +14155552671). |
international | string | Human-readable international format. |
national | string | National format. |
number | string | Digits-only form. |
valid | boolean | Whether the number passes validation. |
countryCode | integer | Numeric country code (e.g., 1, 44, 880). |
regionCode | string | ISO 3166-1 alpha-2 country code (e.g., US). |
country | string | Full country name. |
location | string | City / region (e.g., San Francisco, CA). |
carrier | string | Real carrier name (e.g., AT&T / T-Mobile). |
lineType | string | mobile, fixed_line, fixed_line_or_mobile, voip, toll_free, etc. |
timezones | array | IANA timezones for the number. |
localTimezone | string | Primary timezone. |
localTimeNow | string | Current local time (HH:MM). |
bestTimeToMessage | string | now, evening, or schedule_for_morning. |
whatsappCapable | boolean | Line type capable of WhatsApp. |
whatsapp | boolean | Number is on WhatsApp. |
exists | boolean | Alias for whatsapp. |
isBusiness | boolean | WhatsApp Business account. |
name | string | Real display name (if exposed). |
urlImage | string | null | Real profile picture URL (uploaded to Apify KV Store). |
whatsappProfilePic | string | null | Alias for urlImage. |
facebookProfilePicUrl | string | null | Facebook CDN photo (if breached). |
about | string | WhatsApp "About" status. |
telegram | object | Telegram cross-check result (registered, firstName, photoUrl, directLink, status). |
leakedData | object | Breach summary (riskLevel, compromisedDatasets, exposedFields, recordsIndexed, summary). |
fbLeak | object | Facebook-specific breach info (exposureStatus, profileUrl, photoUrl). |
leadScore | integer | 0–100 algorithmic lead quality. |
leadQuality | string | hot (≥80), warm (50–79), cold (<50). |
source | string | fresh, cache, database, not-found, or error. |
fetchedAt | string | ISO 8601 timestamp. |
Example Output (Verified Indian Mobile)
{"e164": "+919876543210","valid": true,"whatsapp": true,"carrier": "Airtel","country": "India","location": "India","lineType": "mobile","leadScore": 95,"leadQuality": "hot","bestTimeToMessage": "schedule_for_morning","localTimeNow": "21:47","urlImage": "https://api.apify.com/v2/key-value-stores/.../avatar_919876543210.jpg","about": "Available","isBusiness": true,"telegram": {"directLink": "https://t.me/+919876543210","checked": true,"registered": false,"status": "unlisted_or_private"},"leakedData": {"breachChecked": true,"riskLevel": "high","compromisedDatasets": ["Facebook 533M", "WhatsApp 487M Global Scrape"],"exposedFields": ["Phone Number", "Full Name", "Carrier", "Geographic Location"],"recordsIndexed": "6,162,450 Facebook + 6,000,000 WhatsApp regional records","summary": "Phone prefix (+91) was part of the 533M Facebook & 487M WhatsApp breach dumps."},"fbLeak": {"checked": true,"regionCode": "IN","country": "India","exposureStatus": "exposed_in_533m_dump","database": "Facebook 533M Phone Directory","profileUrl": "https://www.facebook.com/search/top?q=%2B919876543210"},"source": "fresh","fetchedAt": "2026-10-03T16:17:57.352959+00:00"}
Example Output (Clean US Number)
{"e164": "+14155552671","valid": true,"whatsapp": true,"carrier": "AT&T / T-Mobile","country": "United States","location": "San Francisco, CA","lineType": "fixed_line_or_mobile","leadScore": 70,"leadQuality": "warm","bestTimeToMessage": "now","localTimeNow": "09:17","urlImage": null,"about": "Available","isBusiness": false,"telegram": {"registered": false,"status": "unlisted_or_private"},"leakedData": {"riskLevel": "high","compromisedDatasets": ["Facebook 533M", "WhatsApp 487M Global Scrape"]},"source": "fresh"}
💰 Pricing (Pay-Per-Event)
This actor uses transparent pay-per-event pricing. You are only charged when a real result is delivered.
| Event | Event Name | Price / 1K | When Charged |
|---|---|---|---|
| Live WhatsApp lookup | live-whatsapp-lookup | $30.00 / 1,000 | Fresh upstream check, number found on WhatsApp (not cached). |
| Cached WhatsApp lookup | cached-whatsapp-lookup | $0.10 / 1,000 | Served from permanent cache (15× cheaper). |
| Database-only hit | database-only-hit | $0.10 / 1,000 | Record found purely in offline DB, no live lookup. |
| Profile picture addon | profile-picture-addon | $80.00 / 1,000 | Only when a genuine non-default profile picture is returned. |
| Leak / breach addon | leak-data-addon | $1.50 / 1,000 | When Facebook 533M / WhatsApp 487M breach records are found. |
| Actor start | apify-actor-start | $0.02 / run | One-time startup fee per run. |
Free: Numbers not on WhatsApp, invalid numbers, and failed lookups are never charged.
Example total cost for 1,000 live lookups with profile pics + leaks:
1,000 × ($0.03 + $0.08 + $0.0015) + $0.02 = ~$111.52
Example total cost for 1,000 cached lookups:
1,000 × $0.0001 + $0.02 = ~$0.12
🛠 How to Use on Apify
- Create a task with this actor.
- Paste your numbers into the
numbersarray (any format:+14155552671,+8801841281197,5551234567withdefaultCountryCode: "US"). - Set concurrency —
5for safe runs,10–20for high-volume batches. - Enable residential proxies (optional, recommended for 500+ numbers).
- Run — the actor queries WhatsApp, Telegram, and breach databases in parallel.
- Export — download as JSON, CSV, Excel from the Dataset tab.
Running via API
curl -X POST "https://api.apify.com/v2/acts/your-username~whatsapp-number-lookup/runs" \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_API_TOKEN" \-d '{"numbers": ["+14155552671", "+8801841281197"],"concurrency": 5,"preferCache": true}'
🎯 Use Cases
- Cold outreach & lead gen — verify numbers before calling/messaging.
- B2B sales intelligence — score hot leads by carrier + Telegram + WhatsApp Business status.
- Fraud & KYC — detect VoIP numbers, unregistered lines, breach exposure.
- Recruitment sourcing — verify candidate numbers before scheduling.
- Data enrichment — append real carrier, timezone, and local time to CRM records.
- Security research — check breach exposure for a list of phone numbers.
- Market analysis — map carrier distribution across regions.
❓ Frequently Asked Questions
1. Do I need a WhatsApp API key?
No. The actor uses WhatsApp's public web gateways without any key.
2. Do I need a Telegram API key?
No. Uses t.me/+{number} public resolver.
3. Will the profile pictures be real?
Yes. Only real, verified CDN photos are returned. If a number has no public picture, urlImage is null. No AI-generated portraits.
4. How accurate is the Facebook 533M breach check?
The breach dataset is region-based. If the phone prefix (+1, +44, +91, etc.) is in the dump, leakedData.riskLevel is high. Individual phone numbers are checked against the CDN by prefix.
5. What is the difference between live-whatsapp-lookup and cached-whatsapp-lookup?
live = fresh request to WhatsApp servers (expensive). cached = previously verified result from our permanent KV cache (15× cheaper). Set preferCache: true (default) to maximize savings.
6. Why does urlImage sometimes come back null?
Because the user has no public WhatsApp profile picture, and neither Facebook breach data nor Telegram contains one. We never fabricate images.
7. Am I charged for numbers not on WhatsApp?
No. Failed lookups (not-found) are 100% free.
8. How long does each number take?
~2–5 seconds per number with concurrency 5. A batch of 1,000 takes ~3–5 minutes.
9. What's the difference between whatsappCapable and whatsapp?
whatsappCapable = line type can use WhatsApp. whatsapp = number actually registered on WhatsApp (real check).
10. Can I run this offline / cache-only?
Yes. Set onlyCache: true — it never calls WhatsApp, only reads cache + DB. Cheaper for high-volume reruns.
🔗 Related Actors
- Telegram Username Info — Public Telegram profile lookup.
- Telegram Phone Number Info — Phone-to-Telegram registration check.
- Bilibili Scraper — Bilibili videos, comments, danmaku & users.
Start verifying WhatsApp numbers autonomously today — pay only $30/1K for live lookups. Cached results just $0.10/1K.