PHP client for VirtualSMS — SMS verification using real physical SIM cards.
Unlike VoIP-based services, VirtualSMS uses real SIM cards in hardware modems connected to European and US cellular networks. Near-100% delivery rates on WhatsApp, Telegram, and platforms that block virtual numbers.
composer require virtualsms/sdkuse VirtualSMS\VirtualSMS;
// Get your API key at https://virtualsms.io (Settings → API Keys)
$client = new VirtualSMS('vsms_your_api_key');
// Check balance
$balance = $client->getBalance();
echo "Balance: \${$balance}\n";
// Get a number for WhatsApp verification
$activation = $client->getNumber('wa', 22); // 22 = UK
echo "Use this number: {$activation->phone}\n";
// Wait for the verification code
$code = $client->waitForCode($activation->activationId);
echo "Verification code: {$code}\n";
// Mark as done
$client->done($activation->activationId);| Service | Code |
|---|---|
wa |
|
| Telegram | tg |
go |
|
ig |
|
fb |
|
| Discord | ds |
700+ services supported. Full list at virtualsms.io/services.
getBalance()— Account balance in USDgetNumber($service, $country)— Get a phone numbergetStatus($activationId)— Check SMS statuswaitForCode($activationId)— Auto-poll until code arrivesdone($activationId)— Mark completecancel($activationId)— Cancel and refund
// Change one line:
$client = new VirtualSMS('your_key'); // defaults to virtualsms.ioFull migration guide.
- Website: virtualsms.io
- API Docs: virtualsms.io/api
- Pricing: virtualsms.io/pricing
- Python SDK: pypi.org/project/virtualsms
- Node.js SDK: npmjs.com/package/virtualsms-sdk
- GitHub: github.com/virtualsms-io
MIT