Technical Summary
Verifying test accounts, whitelisting API configurations, or maintaining anonymity when registering online often requires SMS verification (OTP). Public temporary number services are typically cluttered with intrusive pop-up ads, redirect traps, and slow response loops. In this technical walkthrough, we build an open-source, Ad-Free Virtual SMS Receiver Dashboard from scratch. Utilizing a serverless Node.js backend scraper hosted on Vercel, our pipeline scrapes and filters active temporary numbers (USA, UK, Canada, Sweden, etc.) in real-time, delivering clean, styled verification messages to your private screen in sub-seconds.
🚀 1-Click Vercel Deployment & Source Code
To automatically clone the complete, open-source Virtual SMS Gateway project to your own GitHub account and deploy it live to Vercel's global CDN in 1-click, click the button below:
Or explore the official open-source codebase directly on our GitHub Repository.
Project Specifications & Benefits
- 100% Ad-Free UI: Clean glassmorphic dashboard whitelists clean text without redirect redirects.
- Multi-Country Support: Receive verification codes on numbers from USA, UK, Canada, Germany, Sweden, etc.
- Real-Time Message Polling: Fast Node.js serverless functions query and filter latest SMS records.
- Auto-OTP Highlighting: Custom frontend parser automatically detects and highlights 4-8 digit numeric codes.
How It Works: Backend Routing API
Standard public temporary SMS websites generate revenue through aggressive ads and pop-up redirects. In order to bypass these elements, our dashboard acts as a clean proxy wrapper. The client-side dashboard queries our serverless Vercel endpoints, which trigger asynchronous HTTP requests directly to public telecom repositories. The backend then parses raw HTML responses, extracts the message sender and timestamps, and returns clean JSON data directly to the client browser.
This structure bypasses CORS restrictions, removes all tracking scripts and ads, and processes the network traffic safely. We also implement verified mock-data fallbacks. If the target server is down or rate-limited, our backend dynamically serves a simulated mock dataset to ensure the UI remains fully responsive and functional for diagnostic test runs.
Pipeline Architecture: Query serverless routes, extract SMS data, and render in clean UI.
The Virtual SMS Gateway Web App
We developed a premium dark-mode dashboard. Users can filter numbers by country code, copy the chosen number to their clipboard with one click, and check incoming logs instantly. The app parses incoming texts and automatically wraps numerical OTP codes inside a glowing yellow badge, highlighting verification codes instantly:
Dashboard View: Select numbers, copy to clipboard, and inspect highlighted verification codes.
Serverless Node.js Code Snippet
Our Node.js API endpoints handle target URL scraping asynchronously. Below is the serverless logic responsible for fetching and sanitizing the message log for a selected number:
const https = require('https');
module.exports = async (req, res) => {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Content-Type', 'application/json');
const number = req.query.number;
if (!number) {
return res.status(400).json({ error: "Missing 'number' query parameter." });
}
const options = {
hostname: 'receive-smss.com',
port: 443,
path: `/sms/${number}/`,
method: 'GET',
headers: {
'User-Agent': 'Mozilla/5.0 (Windows) AppleWebKit/537.36',
'Accept': 'text/html'
},
timeout: 5000
};
const getScrapedMessages = () => {
return new Promise((resolve) => {
const request = https.get(options, (response) => {
let body = '';
response.on('data', (chunk) => body += chunk);
response.on('end', () => {
try {
const messages = [];
const rowRegex = /[\s\S]*?]*>([\s\S]*?)<\/td>[\s\S]*? ]*>([\s\S]*?)<\/td>[\s\S]*? ]*>([\s\S]*?)<\/td>[\s\S]*?<\/tr>/g;
let match;
while ((match = rowRegex.exec(body)) !== null) {
messages.push({
sender: match[1].replace(/<[^>]*>/g, '').trim(),
time: match[2].replace(/<[^>]*>/g, '').trim(),
text: match[3].replace(/<[^>]*>/g, '').trim()
});
}
resolve(messages.length > 0 ? messages : null);
} catch (e) { resolve(null); }
});
});
request.on('error', () => resolve(null));
});
};
const result = await getScrapedMessages();
res.status(200).json({ messages: result || [] });
};
Frequently Asked Questions (FAQs)
Q1: Is this dashboard free to host?
Yes. Deploying the frontend client and the Node.js serverless functions to Vercel is completely free and fits comfortably within their lifetime free tier limits.
Q2: Can I use these numbers to verify WhatsApp or Telegram accounts?
It depends on the number. Major platforms block public numbers after excessive registrations. Try selecting newly updated numbers or whitelisting minor services that don't have strict temporary number blocks.