VALIDATION
Add Email, Phone, Address & Fraud Validation to Your Website
Integrate powerful verification directly into your forms.
Prevent bad data from reaching your CRM.
Validate contact info instantly, at the point of entry.
Check if it’s valid, deliverable, or disposable
Phone
Real-time HLR lookup to confirm validity and reachability
Postal Address (PAF)
Match against the Royal Mail PAF database
Fraud Detection
Flag IPs linked to bots, abuse, VPNs, or fake traffic with automated scanning.
5 Steps to Go Live
Simple integration. No bloat. No friction.
Step 1: Access the Docs
Comprehensive technical documentation is available, covering email, phone, address, and fraud validation endpoints.
Step 2: Share with Your Team
Pass the docs to your CRM or dev team. They'll know exactly how to proceed.
Step 3: Use the Test Key
Use the provided test API key from your settings. This returns fake (stubbed) responses for development without using credits or triggering billing.
Step 4: Map Responses
Your team should map the JSON responses into your form logic or CRM workflows—handling success, failure, and edge cases.
Step 5: Switch to Live
Once tested, switch to the live key. Verification will now run in production, in real-time.
Key Notes
- Authentication: All requests require a Bearer token (found in your settings).
- All endpoints use POST and JSON payloads.
- PAF Validation: A Royal Mail license is needed for live address checks.
- Fraud Detection: Some IP checks may require additional setup.
API Reference
Integration is simple with our well-documented endpoints and standardized responses.
Authentication
All API calls require a Bearer token. This token is accessible from the application's settings page.
Authorization: Bearer YOUR_API_KEY
Error Handling
Making a Request
Each validator accepts POST requests with data in JSON format.
Email Validation
Endpoint: POST /validate/email
Request Example:
{
"email": "user@example.com"
}
Response Example:
{
"status": "valid",
"score": 98,
"detail": "Disposable email detected: false"
}
How to Add to Your Site
Each validator endpoint is accessible via a simple fetch() call or your preferred HTTP client. Responses are fast and lightweight, making them ideal for inline validation.
Example JavaScript integration for email validation:
async function validateEmail(email) {
const response = await fetch("https://api.example.com/validate/email", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
body: JSON.stringify({ email })
});
const result = await response.json();
console.log(result);
}
Proxying API Requests via Backend for Security
For security, we recommend proxying API requests through your backend rather than exposing API keys in the frontend. This can be achieved using a lightweight backend (e.g., PHP or Node.js).
This example shows how to make API requests to your backend proxy instead of directly calling the API:
/*
* Action defines which endpoint to hit
* validate/email, validate/phone, validate/paf, fraud-check
*/
function makeApiRequest(action, formData) {
const payload = {action: action, data: formData};
$.ajax({
url: `http://localhost:3000/api/${action}`,
type: "POST",
contentType: "application/json",
data: JSON.stringify(payload),
success: function (response) {
console.log(`${action} success:`, response);
},
error: function (xhr, status, error) {
console.error(`${action} error:`, xhr.responseText);
},
});
}
// Example Usage
makeApiRequest("validate/phone", {phone: "+1234567890"});
makeApiRequest("validate/email", {email: "example@email.com"});
makeApiRequest("validate/paf", {address: "123 Main St, Sheffield, UK"});
makeApiRequest("fraud-check", {ip: "192.168.1.1"});