One line in your checkout.
The script finds the fields in your form and starts in silent mode. It changes nothing until you switch a field on in the admin.
<script src="https://api.checkdrop.dev/v1/embed.js" data-site="pub_…" defer></script>
Or the API.
Every response carries a state, a proposal and a source. When we're not sure we return unknown and the form goes through. The key belongs on your server, never in the browser.
POST /v1/addresses/validate
{ "country": "CZ", "line": "Karlovo nám 19 Praha" }
→ 200
{ "state": "suggest",
"proposal": "Karlovo náměstí 19/13, 120 00 Praha 2",
"source": "ruian" }POST /v1/emails/validateFormat, domain typo, DNS and MX with a hard timeoutPOST /v1/phones/validateCzech number and normalized formatPOST /v1/addresses/validateAddress completeness and a match in the RÚIAN registryPOST /v1/addresses/autocompleteSuggestions from a local copy of the registryPOST /v1/company-ids/validateCompany ID, checksum, verification in ARESPOST /v1/names/validateFirst name, surname, academic titlesOr the whole thing on your server.
We're publishing all of Checkdrop as open source under AGPL-3.0: Node.js, PostgreSQL, a local copy of the address registry refreshed monthly with one command. The repository opens once it ships with a guide that takes you from clone to a running instance. Leave your e-mail and we'll tell you once.