What is the Valid Email Checker API endpoint URL?
The Valid Email Checker API lives on the same hostname as the dashboard: app.validemailchecker.com. There is no separate api.validemailchecker.com subdomain. If you have a code sample pointing at api.validemailchecker.com, that will not resolve — the host does not exist. The three production endpoints all sit under the /api/ path on the main app host.
The three endpoints
| Purpose | Method | Full URL |
|---|---|---|
| Verify a single email address synchronously | POST | https://app.validemailchecker.com/api/verify-single |
| Create an asynchronous bulk verification task | POST | https://app.validemailchecker.com/api/verify-bulk |
| Fetch the status and results of a bulk task | GET | https://app.validemailchecker.com/api/get-results/{task_id} |
Why the API lives on app.
Hosting the API on the same hostname as the dashboard simplifies our infrastructure, our SSL certificates, and our analytics pipeline. It also means the CORS configuration is identical for both surfaces and you do not need to deal with cross-subdomain cookies if you ever proxy API requests through your own backend that already authenticates against app.validemailchecker.com.
Some services (Stripe, Twilio, SendGrid) use a dedicated api. subdomain. We do not. If you are migrating from another email-verification provider whose API host was api.<provider>.com, just remember that the equivalent here is app.validemailchecker.com/api/.... Same shape, different name.
cURL examples for each endpoint
# 1. Single verification
curl -X POST https://app.validemailchecker.com/api/verify-single \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com"}'
# 2. Create a bulk task
curl -X POST https://app.validemailchecker.com/api/verify-bulk \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emails": ["a@x.com", "b@y.com"], "name": "Test batch"}'
# 3. Fetch bulk results
curl -X GET https://app.validemailchecker.com/api/get-results/VECK8N2P7 \
-H "Authorization: Bearer YOUR_API_KEY"Path semantics
/api/verify-single— POST a JSON body with anemailfield. Response is a synchronous JSON object with status, flags, and risk score. Deducts one credit on success./api/verify-bulk— POST a JSON body with anemailsarray and optionalname. Response returns avec_task_idimmediately; the actual verifications run in the background./api/get-results/{task_id}— GET with the task ID in the URL path. Response includes the current status, percentage progress, and (when complete) the full results map keyed by email address. Higher rate limit (120/min) than the verify endpoints because polling is the expected use case.
https://app.validemailchecker.com/api as a single constant in your application code and concatenate the path. That way, if we ever move endpoints around in a future major version, you only update one line. Most of our official sample snippets follow exactly that pattern.HTTPS is required
Every endpoint requires TLS. Plain http:// requests get a 301 redirect to the HTTPS version — at which point most HTTP clients drop the Authorization header automatically, and your authenticated request becomes an unauthenticated one. Always send https:// from the start; do not rely on the redirect.
Region and latency
Valid Email Checker hosts the API in a single region (US East). Customers in Europe and Asia see roughly 80–150ms of base round-trip latency on top of the upstream provider response time. For single-verify requests that target 1–3 second total response times, this is rarely a bottleneck. If you are running latency-sensitive synchronous integrations from far-away regions, build a small in-region cache for repeat addresses to keep p95 latency steady.
Next steps
Related questions
Still stuck? Email support
