Product guidance

How to Verify a CSV of Phone Numbers for Telegram Registration in Real Time

Verify a CSV of phone numbers for Telegram registration in real time with TG Validator: E.164 formatting, one number or up to 100 per synchronous request, and concurrency limits.

TG Validator Product DocumentationPublished August 4, 20263 min read
TG Validator workflow illustration for How to Bulk-Verify Phone Numbers for Telegram Registration
A visual overview of the workflow discussed in this TG Validator article.

A technical guide to verifying a CSV of phone numbers for Telegram registration in real time with TG Validator, focusing on data preparation, the synchronous single and multi endpoints, concurrency management, and result interpretation.

TG Validator verifies Telegram registration in real time: send one E.164 number to POST /api/v1/check, or up to 100 numbers to the synchronous multi endpoint POST /api/v1/batch-check, and the completed result returns in the same HTTP response. To verify a CSV, standardize the column in E.164, send it through the multi endpoint up to 100 identifiers per request, and manage client-side concurrency according to the API documentation. A whole file far beyond one realtime request can also be uploaded as an asynchronous bulk task.

Preparing Your Data for Verification

When processing a CSV of contacts, the first step is standardizing the input. TG Validator requires all submitted phone numbers to be in E.164 format. This international numbering plan ensures each number is globally unique, typically starting with a '+' followed by the country code and the subscriber number. Standardizing your CSV column to E.164 before initiating API requests prevents invalid-phone-number errors and ensures the system can accurately check the Telegram registration status.

Understanding the TG Validator API Workflow

TG Validator's primary model is synchronous request-response, for single checks and multi checks alike. Use POST /api/v1/check for one number, or the synchronous multi endpoint POST /api/v1/batch-check with service_type=tg for up to 100 E.164 identifiers from a CSV; both return in the same HTTP response, with no task submission, polling, or download step.

Managing Throughput and API Limits

Work through the CSV with the synchronous multi endpoint, up to 100 identifiers per request, and respect the platform's API usage controls. TG Validator enforces a concurrency limit per user, so confirm the current value in the API documentation before deciding how many requests your script keeps open. For a whole file far beyond one realtime request, an asynchronous bulk task is also available (upload, wait, download); see the API documentation for its current limits. If your script exceeds these thresholds, the API will return specific error codes indicating that all concurrency slots are occupied or that the check ran out of time. Rejections of this kind are not charged and do not create a check result. Implementing a delay or a concurrency-limiting queue in your CSV processing script ensures smooth execution without unnecessary errors.

Interpreting Results and Handling Errors

The API returns a documented response envelope containing code, msg, and data. For Telegram checks, the data.registered field provides the account-presence signal. For a completed Telegram check, public data contains only service_type, identifier, and registered; internal record, transaction, status, and billing fields are not returned.

FAQ

What format should phone numbers be in for verification?

All phone numbers must be submitted in E.164 format, which ensures each number is globally unique by starting with a '+' followed by the country code and subscriber number.

What happens if I exceed the concurrency limit?

If you exceed the documented concurrency limit, the API returns an error code. These limit-based rejections are not charged and do not generate a check result.

Can I check several numbers in one request?

Yes. The synchronous multi endpoint POST /api/v1/batch-check accepts up to 100 E.164 identifiers and returns the completed results in the same HTTP response. For a whole file far beyond that, an asynchronous bulk task is also available (you choose the country the numbers belong to when submitting, and the list should be essentially that one country), but the synchronous endpoints remain the primary way to check.

Sources