TVTaiwan Verify

SMS Verification Infrastructure

Taiwan Verify

A verification API that issues one-time SMS challenges, listens across multiple inbound routes, then reports successful matches to your notifyURL.

15 minverification window
JSONnotifyURL callback
E.164normalized matching
Multi-regionnumber pool routing

Pricing

USD 10 per user / 30 days

This is not a free service. We have invested substantial equipment, capital, and operating work to build and maintain our telephone network system. Each user is charged USD 10 every 30 days with automatic billing as the service usage fee.

Apply for API access

Privacy protection

Maximum privacy by design

All phone verification data automatically expires and is deleted after 15 minutes. Even in the unlikely event of a database intrusion, only the data from that short 15-minute window could be affected.

We also apply multiple layers of defensive controls to protect service data and reduce that risk to an extremely low level.

01

Issue a challenge

Your service sends a phone number with an API key. Taiwan Verify returns a random 6-digit code and the receiving SMS number selected from the active regional pool.

02

Receive the SMS

Inbound messages are accepted from configured regional receiving channels. Senders are normalized internally so local formats and E.164 numbers match the same request.

03

Notify your system

When the correct code arrives before expiration, Taiwan Verify calls your notifyURL with a concise JSON payload such as {"number":"0912345678","status":"OK"}.

PHP integration

Request a verification code from your backend

Send the target phone number with your API key. Store the returned code on your side only if you need audit visibility; Taiwan Verify will match incoming SMS and call your notifyURL when the user sends the correct code.

<?php
$apiKey = "tvk_live_your_api_key";
$payload = json_encode([
    "number" => "+886912345678",
], JSON_UNESCAPED_SLASHES);

$ch = curl_init("https://taiwanverify.com/api/request");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => [
        "Content-Type: application/json",
        "X-API-Key: " . $apiKey,
    ],
    CURLOPT_POSTFIELDS => $payload,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 10,
]);

$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);

if ($status !== 200) {
    throw new RuntimeException($response ?: "Taiwan Verify request failed");
}

$result = json_decode($response, true);
echo "Ask user to SMS {$result["number"]} to {$result["receive_number"]}";

Routing model

Intelligent routing for regional sender pools

Taiwan Verify maps each requested e168 phone prefix to the most appropriate local receiving number. Active routing rules decide which number is returned and how the verified phone number is formatted in the callback.

+8860912345678Matched by Taiwan e168 prefix
+1Regional default numberMatched by North America e168 prefix
FutureHong Kong, Japan, moreExpandable database-driven routing