Lightweight embed widget for inline kentekenchecks on any website. Shows public vehicle details from the Dutch RDW vehicle register — merk, model, APK date, and more. A vanilla TypeScript custom element with Shadow DOM — no framework, iframe, or scanner required.
Configure fields, theme, and copy embed code: scankenteken.nl/kenteken-check-embed
<script async src="https://cdn.scankenteken.nl/kenteken-check/v1/embed.js"></script>
<kenteken-check></kenteken-check>| Attribute | Default | Values |
|---|---|---|
fields |
brand,apk,link |
comma-separated: brand, apk, year, price, euro, link |
theme |
auto |
light, dark, auto |
plate |
— | pre-fill and auto-lookup, e.g. RJ-123-X |
Show bouwjaar and price alongside brand and APK:
<kenteken-check fields="brand,apk,year,price"></kenteken-check>Pre-filled, dark theme:
<kenteken-check plate="RJ-123-X" theme="dark"></kenteken-check>For bundlers (Vite, Next.js, etc.) or a module script on the page:
import { defineKentekenCheck } from 'kenteken-check-embed'
defineKentekenCheck()<kenteken-check fields="brand,apk,link"></kenteken-check>CDN module import (no bundler):
<script type="module">
import { defineKentekenCheck } from 'https://cdn.scankenteken.nl/kenteken-check/v1/index.js'
defineKentekenCheck()
</script>
<kenteken-check></kenteken-check>The classic script tag embed (embed.js) still works and auto-registers the element:
<script async src="https://cdn.scankenteken.nl/kenteken-check/v1/embed.js"></script>npm install
npm run build
npm run serveOpen the live configurator to preview and copy embed code:
For local development, the same configurator is available at http://localhost:3000/configurator/ after npm run serve.
Watch mode:
npm run devVehicle data comes from the public RDW (Rijksdienst voor het Wegverkeer) open vehicle register. The widget fetches it via https://api.scankenteken.nl/api/vehicles/:plate. Rate limiting and caching are handled server-side.
ScanKenteken is not part of the RDW. No personal owner data is shown.
MIT
