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 titles

Or 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.