API Docs
Country-scoped ReverseVerify API
Verify your phone, subscribe to a country, then call the v1 endpoint with a bearer API key.
Quick start
curl -X POST "https://reverseverify.org/api/v1/reverse-verify" \
-H "Authorization: Bearer rv_live_xxxxx" \
-H "Content-Type: application/json" \
-d '{"country":"US","phone":"18322521999"}'
1. Authenticate
Use your dashboard API key as a bearer token.
Authorization: Bearer YOUR_API_KEY
2. Choose country
Pass a country code. US is available now.
country=US
3. Send phone
Send the number in a JSON body so it stays out of URLs and logs.
{"phone": "18322521999"}Endpoint
POST /api/v1/reverse-verify
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{"country": "US", "phone": "18322521999"}
Use POST.
A query string puts the phone number into request lines, so it is
recorded in access logs, proxy logs and referrer headers along the
way.
GET /api/v1/reverse-verify?country=US&phone=…
still works for existing integrations, but POST is recommended for
new ones.JavaScript
const res = await fetch("https://reverseverify.org/api/v1/reverse-verify", {
method: "POST",
headers: {
Authorization: "Bearer rv_live_xxxxx",
"Content-Type": "application/json"
},
body: JSON.stringify({ country: "US", phone: "18322521999" })
});
console.log(await res.json());
Python
import requests
res = requests.post(
"https://reverseverify.org/api/v1/reverse-verify",
json={"country": "US", "phone": "18322521999"},
headers={"Authorization": "Bearer rv_live_xxxxx"},
)
print(res.json())
Example response
{
"ok": true,
"country": "US",
"reverse_verify_number": "18322521999",
"phone": "18322521999",
"status": "accepted",
"provider_lookup": false,
"message": "ReverseVerify country access is active. Provider lookup is not enabled yet."
}
This is not a verification verdict.
While
provider_lookup is false, a
200 confirms only that your key, country and quota
are valid — the number itself has not been checked. Do not gate
signups, payments or fraud decisions on it. Branch on the
provider_lookup boolean, never on the wording of
message.Error codes
400 missing phone
401 missing or invalid API key
402 inactive country subscription
403 inactive user
404 country unavailable
429 quota exceeded