Validation Active

Email Autocomplete

Smart email input assistance with domain autocomplete, typo detection, DNS validation, and heuristic checks. Perfect for registration forms, contact pages, and any email input requiring real-time validation.

https://email-autocomplete.localapi.ro

Try It Live

Type an email address to see autocomplete suggestions, validation, and typo detection in action.

Try typing: user@gma, [email protected], or [email protected]

< 100ms Response Time
10/sec Rate Limit
None Auth Required
Free Pricing

Quick Start

Request
curl "https://email-autocomplete.localapi.ro/user%40gma?prioritiseCountry=US"
Request
import requests
from urllib.parse import quote

email_input = "user@gma"
response = requests.get(
    f"https://email-autocomplete.localapi.ro/{quote(email_input, safe='')}",
    params={"prioritiseCountry": "US"}
)

data = response.json()
print(f"Suggestions: {data['suggestions']['completeEmail']}")
if data['suggestions']['didYouMean']:
    print(f"Did you mean: {data['suggestions']['didYouMean']['email']}")
Request
const emailInput = "user@gma";
const response = await fetch(
  `https://email-autocomplete.localapi.ro/${encodeURIComponent(emailInput)}?prioritiseCountry=US`
);

const data = await response.json();
console.log(`Suggestions: ${data.suggestions.completeEmail.join(", ")}`);
if (data.suggestions.didYouMean) {
  console.log(`Did you mean: ${data.suggestions.didYouMean.email}`);
}

Response

200 OK application/json
{
  "input": "user@gma",
  "parsed": { "hasAt": true, "local": "user", "domainTyped": "gma" },
  "suggestions": {
    "completeDomain": ["gmail.com", "gmx.com"],
    "completeEmail": ["[email protected]", "[email protected]"],
    "didYouMean": { "domain": "gmail.com", "email": "[email protected]", "confidence": 0.92 }
  },
  "findings": { "tld": { "status": "unknown" }, "dns": { "mx": "skipped" } },
  "decision": { "status": "assist" }
}

JavaScript Library

Drop-in JavaScript library that adds smart autocomplete to any email input. Auto-initializes on page load or can be manually configured.

CDN (IIFE) https://email-autocomplete.localapi.ro/static/email-autocomplete.js
ES Module https://email-autocomplete.localapi.ro/static/email-autocomplete.esm.js

Auto-initialization (recommended)

<!-- Just include the script - works automatically on all email inputs -->
<script src="https://email-autocomplete.localapi.ro/static/email-autocomplete.js"></script>

<input type="email" placeholder="Enter your email">

<!-- Skip specific inputs with data attribute -->
<input type="email" data-no-autocomplete>

Manual initialization

<script src="https://email-autocomplete.localapi.ro/static/email-autocomplete.js"></script>
<script>
  new EmailAutocomplete('#my-email', {
    prioritiseCountry: 'US',
    rejectDisposable: true,
    onSelect: function(email, response) {
      console.log('Selected:', email);
    },
    onValid: function(response) {
      console.log('Valid email!');
    }
  });
</script>

ES Module

import { EmailAutocomplete } from 'https://email-autocomplete.localapi.ro/static/email-autocomplete.esm.js';

const autocomplete = new EmailAutocomplete('#email-input', {
  prioritiseCountry: 'DE',
  onWarning: (warnings, response) => {
    warnings.forEach(w => console.log(w.text));
  }
});

Available Endpoints

GET /{email}

Analyze an email address and return autocomplete suggestions, validation results, and normalization.

Parameters

Parameter Type Required Description
email string (URL-encoded) Yes Email address or partial email to analyze
prioritiseCountry string No ISO country code to prioritize regional providers (e.g., US, DE, RO)
rejectRoleBased boolean No Reject role-based addresses like admin@, info@
rejectDisposable boolean No Reject known disposable email domains
skipDNS boolean No Skip DNS MX/A record validation
GET /health

Check service health and availability status.

Error Codes

Code Description
400 Invalid request - malformed input
429 Rate limit exceeded
500 Internal server error