Send a 6-digit verification code to any US phone number. Your users enter the code, you confirm it through our API. Simple, secure, done.
$ curl -X POST -H "Authorization: Bearer rk_..." \ -d '{"phone": "(555) 123-4567"}' \ "https://api.verified.fast/v1/sms/send" # → 201 {"session_id": "a1b2c3d4-...", "status": "pending"}
Three API calls. That's it.
STEP 01
POST to /v1/sms/send with the phone number. We send a 6-digit code via SMS from (888) 374-3977.
STEP 02
Your user receives the SMS and enters the 6-digit code in your app. They have 10 minutes and 5 attempts.
STEP 03
POST the code to /v1/sms/verify/{session_id}. Get a verified: true response. 10 credits deducted on success.
Enterprise-grade phone verification with sensible defaults.
Cryptographically random codes. SHA-256 hashed before storage. Never stored in plaintext.
Default 10 minutes, configurable from 1 to 30 minutes per session via the expires_in parameter.
Max 10 SMS per phone per hour. Max 5 code attempts per session. Max 3 resends per session.
Built-in resend endpoint generates a new code without creating a new session. Up to 3 resends.
Attach a reference_id to each session for easy mapping back to your user records and workflows.
List, inspect, and cancel sessions via API. Full audit trail with timestamps and attempt counts.
Send, verify, and handle errors. Copy-paste ready.
curl -X POST \
-H "Authorization: Bearer rk_your_key" \
-H "Content-Type: application/json" \
-d '{"phone": "(555) 123-4567"}' \
https://api.verified.fast/v1/sms/send
# Response (201):
{
"session_id": "a1b2c3d4-e5f6-...",
"phone": "+1***4567",
"expires_at": "2026-03-04T12:10:00Z",
"status": "pending"
}curl -X POST \
-H "Authorization: Bearer rk_your_key" \
-H "Content-Type: application/json" \
-d '{"code": "482916"}' \
https://api.verified.fast/v1/sms/verify/a1b2c3d4-e5f6-...
# Response (200):
{
"verified": true,
"session_id": "a1b2c3d4-e5f6-...",
"phone": "+1***4567",
"verified_at": "2026-03-04T12:03:42Z"
}Credits are only deducted when the code is successfully verified. Sending the code is free. Failed attempts don't cost anything.
Three endpoints cover the full verification lifecycle.
/v1/sms/sendSend a verification code to a phone number
{ "phone": "string", "reference_id?": "string", "expires_in?": "number (seconds)" }
/v1/sms/verify/{session_id}Submit the code for verification (10 credits on success)
{ "code": "string (6 digits)" }
/v1/sms/verify/{session_id}/resendResend a new code to the same phone (max 3 per session)
No body required
/v1/sms/verify/{session_id}Check session status without submitting a code
/v1/sms/verify/{session_id}Cancel a pending session
/v1/sms/sendList recent SMS sessions for your API key
Works with your existing VerifiedFast API key. Same dashboard, same billing. 10 credits per verification.
Get Your API Key