Product guidance
How to Bulk-Verify Phone Numbers for Telegram Registration
Learn how to bulk verify phone numbers CSV for Telegram registration using TG Validator's synchronous API, managing rate limits and E.164 formatting.

A technical guide to managing bulk verification workflows for Telegram registration using TG Validator, focusing on data preparation, rate-limit management, and result interpretation.
To bulk verify phone numbers CSV files for Telegram registration with TG Validator, prepare your data in E.164 format and iterate through your list using the POST /api/v1/check endpoint. Because the API is synchronous, your client-side application must manage the 200-requests-per-minute rate limit and the 3-concurrent-checks limit to ensure successful processing and accurate status retrieval.
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 is a focused Telegram-verification product that operates on a synchronous request-response model. This means one request returns one result in the same HTTP response. There is no native batch upload endpoint; instead, your application reads the CSV and makes individual requests for each row.
To check a number, send a request to POST /api/v1/check with the X-API-Key header and Content-Type: application/json. The JSON body must include "service_type": "tg" and the "identifier" containing the E.164 formatted number.
Managing Bulk Throughput and API Limits
Because bulk verification requires a client-side loop, your script must respect the platform's API usage controls. TG Validator enforces a rate limit of 200 requests per minute and a concurrency limit of 3 concurrent checks per user. If your script exceeds these thresholds, the API will return specific error codes indicating that the rate limit was exceeded or all concurrency slots are occupied. Rejections due to these limits 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.
Every check response also carries an id, identifier, transaction_id, status, service_type, and charged_amount_micros. Billing is strictly per check. If a check fails due to an invalid JSON body, missing API key, or validation service maintenance, or if it remains undetermined, the cost is refunded automatically. You can monitor your check history, usage reports, and balance spend directly in the TG Validator dashboard.
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.
Does TG Validator support batch processing?
No, TG Validator uses a synchronous API where one request returns one result in the same HTTP response. To process a CSV, your client-side application must iterate through the list and send individual requests.
What happens if I exceed the API rate limit?
If you exceed the 200-requests-per-minute rate limit or the 3-concurrent-checks limit, the API returns an error code. These limit-based rejections are not charged and do not generate a check result.