Telegram Bulk Check Phone Numbers
Pricing
from $7.00 / 1,000 phone number checkeds
Telegram Bulk Check Phone Numbers
Verify which phone numbers are registered on Telegram in bulk. Upload a list or file and get registration status for every number — built for lead verification, CRM list cleaning, and contact-list enrichment at scale.
Pricing
from $7.00 / 1,000 phone number checkeds
Rating
0.0
(0)
Developer
akula.marketing
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Telegram Bulk Phone Number Checker
💬 Questions, bulk pricing, or a custom solution? Talk to us on Telegram — @KoteamSupport.
Telegram Bulk Phone Number Checker verifies which phone numbers are registered on Telegram — in bulk, in a single run. Upload a list or a file and get registration status for every number back as clean, structured data. Built for bulk lead verification, CRM list cleaning, and contact-list enrichment at scale, not one-off lookups.
How it differs from Telegram Get Phone Info
Telegram Get Phone Info checks one number per run and returns a full public profile (username, name, photo, premium/bot flags) straight from Telegram.
This Actor checks large batches of numbers per run and returns whether each is registered on Telegram — built for volume, not depth. Because it batches, it's priced at 1/5 the per-result price of the single-number actor.
What can this Actor do?
- Verify Telegram registration for an entire contact list in one run
- Accept input either as a pasted list or an uploaded file
- Get one dataset row per phone number, ready for CRM or spreadsheet import
- Keep the raw Excel export in the run's key-value store for reference
How it works
- Provide 500–10,000 phone numbers in international format (digits, optional leading
+) — either paste them as a list, or upload a plain-text file with one number per line. - The Actor keeps only the numbers from whichever country makes up the largest share of your list, and drops the rest — checking is more reliable when a batch isn't mixing countries. You're only charged for the numbers actually checked (see Pricing), and the run log tells you how many were dropped this way. If no single country reaches the 500-number minimum, the run stops before anything is submitted or charged — see the FAQ.
- The Actor submits the filtered list as a single check task and immediately logs a result link — an unauthenticated URL you can open (or
curl) any time to poll status or download the result, no API key needed. - From here you have two options:
- Stop the run right away to save compute time, and check the result link later once the check has finished server-side.
- Let it keep running — it polls for up to 15 minutes. If the check finishes in time, results are downloaded, parsed, and pushed as one dataset row per phone number automatically. If it's still running after 15 minutes, the run ends anyway (it does not fail) and you fall back to the result link.
{"phones": ["79990000001", "79990000002", "...500 to 10,000 numbers..."]}
Input
| Field | Type | Required | Description |
|---|---|---|---|
phones | Array of strings | One of phones/phonesFile | 500 to 10,000 phone numbers, international format, digits with optional leading +. Ignored if phonesFile is set. |
phonesFile | File | One of phones/phonesFile | Alternative to phones: upload a plain-text file with one phone number per line (500–10,000 numbers). Takes priority over phones if both are set. |
name | String | No | Label stored on the check task, for your own reference. |
Output
If the check finishes within the run's 15-minute wait, the run pushes one dataset row per submitted phone number. Row shape is discovered at run time from the downloaded Excel file's header row, and every row always carries a phone field. The raw Excel file is also saved to the run's key-value store as checker-result.xlsx.
Either way — finished in time or not — the result link is saved to the run's key-value store as check-result-link.json ({"taskId": ..., "resultUrl": ...}), and printed in the run log right after the check task is created.
Pricing
This Actor runs on the Apify Pay-Per-Event model, priced at $10 per 1,000 phone numbers ($0.01/phone). You're charged as soon as the run starts checking, not per dataset row — so the charge happens whether the check finishes inside the run or you end up using the result link. The charge is based on the filtered count (your input list, deduplicated, with only the largest single country's numbers kept — see How it works), not the raw number of entries you submitted.
Checks run server-side and can take a while for larger batches. The Actor polls for up to 15 minutes and pushes results automatically if the check finishes in that window; otherwise stop the run (or let it end on its own) and use the result link once it's done — you're not charged extra for waiting on the link.
FAQ
What happens if a number can't be checked?
Numbers that can't be resolved are skipped rather than failing the whole batch; the dataset row count reflects what could be returned.
Can I submit numbers from multiple countries in one run?
You can submit them, but only the numbers from your list's single largest country are actually checked — the rest are dropped before submission (and you're not charged for them). This is a reliability requirement on the checking side, not a limitation you can turn off. If you need multiple countries checked, split your list by country and run each separately.
Can I check fewer than 500 numbers?
No — a minimum batch of 500 from a single country is required. If your list mixes countries, that minimum applies after the other countries are filtered out, so a 10,000-number list split thin across many countries can still fail this check even though the total is well over 500. For a single number, use Telegram Get Phone Info instead.
Can I check more than 10,000 numbers?
Not in one run. Split larger lists across multiple runs.
Why did my run end without pushing any results?
The check didn't finish within the 15-minute wait window. This isn't a failure — use the result link from the run log or the check-result-link.json key-value store record to get the data once the check finishes.
Do I have to keep the run active while I wait?
No — once you see the result link in the log, you can stop the run immediately to save compute time. The check itself runs server-side, not inside the Actor.
Support
24/7 support via @KoteamSupport. We also build custom Telegram data solutions — reach out if this Actor doesn't cover your use case.
⭐ Found this useful? Leave a review — it helps others find this Actor and tells us what to build next.