Real-time decisions
Check an address while it is being entered and guide users before questionable data reaches your systems.
Filter invalid, risky, and disposable addresses out of forms, landing pages, applications, and data pipelines with a single request — before bad data ever reaches your systems.
Sent by a real engineer · 500 records free to test · no credit card
{
"email": "alex@company.com",
"status": "cleared",
"deliverable": true,
"disposable": false,
"role": false,
"catch_all": false,
"free_provider": false,
"mx_record": "aspmx.company.com",
"smtp_provider": "Microsoft 365",
"score": 94,
"risk": "low",
"reason": "accepted_mailbox",
"duration": 0.214,
"miles_used": 1
}
Check an address while it is being entered and guide users before questionable data reaches your systems.
Separate deliverable, risky, disposable, role-based, catch-all, duplicate, and invalid records — in one response.
Spend Verification Miles across single checks, automated flows, and larger data operations on the same key.
Built for the systems you cannot afford to have guessing — signup flows, checkouts, onboarding, CRM writes, and nightly pipelines.
Get a production-ready integration in place the same day. Predictable JSON, honest status codes, and documentation that tells you what a result actually means rather than only what it is called.
tb_live_9f4c••••••••••••Start with the plain HTTP API, or drop in a client library and be verifying addresses in a handful of lines. Same key, same response, whichever route you take.
No library needed. One POST, an Authorization header, and the address you want checked.
Any language with an HTTP client
curl -X POST https://api.trailblazedata.com/v1/verify \
-H "Authorization: Bearer $TRAILBLAZE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "alex@company.com"}'
Promise-based client for server routes, form handlers, and queue workers.
npm i @trailblaze/verify
import { Trailblaze } from '@trailblaze/verify';
const tb = new Trailblaze(process.env.TRAILBLAZE_API_KEY);
const result = await tb.verify('alex@company.com');
console.log(result.status, result.deliverable);
Drop it into a Django or Flask view, an ETL job, or a notebook cleaning an export.
pip install trailblaze
import os, trailblaze
tb = trailblaze.Client(api_key=os.environ["TRAILBLAZE_API_KEY"])
result = tb.verify("alex@company.com")
print(result.status, result.deliverable)
Verify in a model validation or a background job before a record is ever saved.
gem install trailblaze
require 'trailblaze'
Trailblaze.api_key = ENV['TRAILBLAZE_API_KEY']
result = Trailblaze.verify('alex@company.com')
puts result.status
Wire it into a WordPress form handler, a Laravel rule, or a checkout step.
composer require trailblaze/verify
$tb = new Trailblaze\Client(getenv('TRAILBLAZE_API_KEY'));
$result = $tb->verify('alex@company.com');
echo $result->status;
Every key reports into The Hub, so you can see requests over time, how results break down, and how many Verification Miles are left before anyone has to ask.
The same endpoint carries a single signup check and a million-record clean-up. Start small on pay as you go, move onto a plan when the traffic settles, and talk to us before the numbers get unusual.
Requests are verified in real time whether they arrive from a checkout in Sydney or a nightly job in Toronto, and the response format never changes with the region.
Verification data is handled with secure transport, encryption, access controls, and retention you decide — and we only display a compliance badge once it has actually been earned.
HTTPS with HSTS on every request, so nothing moves between your systems and Trailblaze in the clear.
Stored verification data is encrypted, and API keys are shown once and can be rotated whenever you want.
Configurable retention and deletion for the records you send through the API.
Certifications appear on this site only after they are formally achieved — see the DPA.
The API is one route through the gate. If you would rather not build, these get you the same verification.
Paste an address in and read the passport result — every stage, every signal, no integration work.
See the 5 stage processUpload a file, let it run, and download the cleared manifest with every record classified.
Try 500 records freeVerification inside the CRM, form builder, and campaign tools you already run — nothing to deploy.
View all integrationsTell us what you are building and we will send the current API documentation pack, plus a sandbox key so you can try it before anything is signed.
Reviewed by an engineer · api@trailblazedata.com · Mon–Fri
Ask for the documentation pack, or see how verification drops into the tools you already run.