API-documentatie
Digizap stelt 15 meet-endpoints publiek beschikbaar — precies dezelfde die de tools op deze site zelf gebruiken. Gratis, zonder sleutel en zonder account. De machineleesbare OpenAPI 3.1-specificatie staat op /openapi.json; die importeer je in Swagger Editor, Postman of je eigen code.
Gemeenschappelijke regels
- Alleen GET en HEAD; het antwoord is altijd JSON.
- Geen sleutel, geen account. Wel heeft élk endpoint een eigen maximum aantal aanvragen per tijdvenster per bezoeker (adres) — het exacte getal staat bij elk endpoint hieronder; daarboven antwoordt de API met 429 en een retry-after-kop.
- Sommige antwoorden worden hergebruikt: een volledige scan blijft maximaal 15 minuten in de cache, de crawlregels (robots en sitemap) maximaal 10 minuten, responseheaders maximaal 5 minuten — een herhaalde vraag kan dus snel terugkomen.
- Endpoints die een doel zelf benaderen — via HTTP of een postpoort-probe — delen de rust op onze server: maximaal vier metingen tegelijk, maximaal twee vragen per twintig seconden op hetzelfde doel en maximaal veertien seconden werk per verzoek. De puur resolver-endpoints (dns, dns-compare, e-mail, mailbeveiliging, spf) hebben eigen, kortere time-outs.
- Doelen op privé- of gereserveerde adressen (localhost, 127.x, 10.x, 192.168.x, …) worden geweigerd vóórdat er iets gemeten wordt.
- We sturen geen CORS-koppen: scripts uit een andere browserdomain worden door de browser zelf geblokkeerd. Doe het werk vanaf je eigen server, of gebruik gewoon de tools op deze site.
- Fouten komen altijd als { ok: false, error }, waar mogelijk met een failure-object dat de oorzaak benoemt (DNS-storing, timeout, geweigerd adres, …).
- We loggen API-oproeven zonder argumenten — dus nooit een doel-URL.
- Elke meting vertrekt vanaf onze eigen server.
OpenAPI-specificatie
De specificatie (versie 0.2.0) staat op /openapi.json en is in het Engels — de standaardtaal van OpenAPI. De pagina en de API-antwoorden zijn Nederlandstalig; ?lang=en maakt ze Engels.
Eindpunten
GET /api
Index: applicatienaam, versie en de volledige lijst eindpunten.
Limiet: maximaal 60 aanvragen per 60 seconden per adres.
Levende voorbeeldcall: /api
GET /api/scan
De volledige websitescan: HTML, responseheaders, redirectketen, robots- en sitemapbevindingen, netwerkmetingen (DNS, connectie, TLS, TTFB, totaal) en assetgewicht.
Limiet: maximaal 8 aanvragen per 60 seconden per adres, in één emmer gedeeld met /api/fetch.
| Parameter | Verplicht | Betekenis |
|---|---|---|
url | ja | Adres van het doel; ook kale domeinnamen worden geaccepteerd. |
Levende voorbeeldcall: /api/scan?url=https://digizap.nl
GET /api/fetch
De oudere ingang op exact dezelfde scan als /api/scan — voor eigen scripts en oude bladwijzers. Deelt het aanvraagbudget met /api/scan.
Limiet: maximaal 8 aanvragen per 60 seconden per adres, in één emmer gedeeld met /api/scan.
| Parameter | Verplicht | Betekenis |
|---|---|---|
url | ja | Adres van het doel; ook kale domeinnamen worden geaccepteerd. |
Levende voorbeeldcall: /api/fetch?url=https://digizap.nl
GET /api/meta
De pagina-HTML met gewichtsplafond en wat onze server per opgegeven asset vond: status, content-type, bytes en de velden uit manifesten.
Limiet: maximaal 8 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
url | ja | Adres van het doel; ook kale domeinnamen worden geaccepteerd. |
assets | nee | Komma-gescheiden asset-paden of -URLs die mee gemogen worden. |
Levende voorbeeldcall: /api/meta?url=https://digizap.nl&assets=/styles.css,/zap.js
GET /api/redirects
De redirectketen hop voor hop, inclusief statussen en koppen per hop; standaard ook de ketens van de kale en www-variant ernaast.
Limiet: maximaal 8 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
url | ja | Adres van het doel; ook kale domeinnamen worden geaccepteerd. |
variants | nee | variants=0 laat de naastvarianten weg en meet alleen de gegeven URL. |
Levende voorbeeldcall: /api/redirects?url=https://digizap.nl
GET /api/robots
De crawlregels van een host: robots.txt groep voor groep geparseerd (RFC 9307), de sitemap(s) ingang voor ingang, en de kruiscontrole of sitemap-URL’s in door robots verboden paden staan.
Limiet: maximaal 8 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
url | ja | Adres van het doel; ook kale domeinnamen worden geaccepteerd. |
Levende voorbeeldcall: /api/robots?url=https://digizap.nl
GET /api/dns
DNS-records van een domein (A, AAAA, NS, MX, TXT, CNAME, SOA, CAA, SRV), omgekeerd zoeken op een IP-adres, plus SPF- en DMARC-uitleg met cijfer.
Limiet: maximaal 20 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
domain | nee | Domein om op te zoeken — geef domein of IP op. |
ip | nee | IPv4- of IPv6-adres voor het omgekeerde zoeken. |
types | nee | Recordtypes die apart opgevraagd worden, komma-gescheiden (A, AAAA, MX, TXT, …). |
Levende voorbeeldcall: /api/dns?domain=digizap.nl&types=A,MX,TXT
GET /api/dns-compare
Hetzelfde domein langs vier publieke resolvers, met de verschillen in antwoord, TTL en uitkomst ernaast.
Limiet: maximaal 10 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
domain | ja | Domein dat bij alle vier de resolvers opgevraagd wordt. |
types | nee | Recordtypes die apart opgevraagd worden, komma-gescheiden (A, AAAA, MX, TXT, …). |
Levende voorbeeldcall: /api/dns-compare?domain=digizap.nl
GET /api/email
Wat een e-mailadres zegt: structuur, postbusdomein, MX-aanwezigheid en hoe dat domein zijn afzender beschermt (SPF, DMARC).
Limiet: maximaal 15 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
address | ja | Het e-mailadres; ?email= wordt als oudere schrijfwijze geaccepteerd. |
Levende voorbeeldcall: /api/email?address=naam%40digizap.nl
GET /api/mail-security
De mailverdediging van een domein in één keer: SPF, DKIM-selectors, DMARC-beleid en MX, met bevindingen en cijfer.
Limiet: maximaal 8 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
domain | ja | Domein waarvan de mailbeveiliging gemeten wordt. |
selectors | nee | Extra DKIM-selectors die mee getest worden, komma-gescheiden. |
Levende voorbeeldcall: /api/mail-security?domain=digizap.nl
GET /api/spf
SPF-beoordeling van een domein tegen een verzendend IP-adres (met optionele HELO): match, weigering of soft fail, met de include-keten.
Limiet: maximaal 15 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
domain | ja | Domein van de afzender. |
ip | ja | IP-adres van de verzender. |
helo | nee | HELO/EHLO van de mailserver, meegenomen in de beoordeling. |
Levende voorbeeldcall: /api/spf?domain=digizap.nl&ip=152.53.104.68
GET /api/mail-ports
Welke postpoorten (25, 465, 587) open zijn op een domein of postserver, met de begroeting die elke server geeft; de MX-servers worden standaard eerst getest.
Limiet: maximaal 6 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
host | ja | Domein of postserver; ?domain= wordt als oudere schrijfwijze geaccepteerd. |
ports | nee | Poortnummers die apart getest worden, komma-gescheiden. |
mx | nee | mx=0 slaat de MX-opzoeking over en test alleen de gegeven host. |
Levende voorbeeldcall: /api/mail-ports?host=mail.digizap.nl
GET /api/headers
De responseheaders van een URL: status, beveiligingskoppen, cachebeleid en contentlengte.
Limiet: maximaal 12 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
url | ja | Adres van het doel; ook kale domeinnamen worden geaccepteerd. |
Levende voorbeeldcall: /api/headers?url=https://digizap.nl
GET /api/cert
Het certificaat van een https-doel: uitgever, geldigheid, domeinnamen (SAN), protocol en suitsleutellengte, plus welke TLS-versies de server echt accepteert — versie voor versie gemeten. Onvertrouwde en verlopen certificaten worden gewoon gerapporteerd.
Limiet: maximaal 12 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
url | ja | Alleen https-adressen; voor andere protokollen antwoordt de API met 400. |
Levende voorbeeldcall: /api/cert?url=https://digizap.nl
GET /api/reach
Of een URL of domein bereikbaar is: status, timing en herhaalde monstermetingen, met aparte metingen per adresfamilie (IPv4 en IPv6) en een pariteitsoordeel.
Limiet: maximaal 8 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
url | ja | Adres van het doel; ook kale domeinnamen worden geaccepteerd. |
samples | nee | Aantal herhaalde metingen, 1 tot 5; standaard 3. |
Levende voorbeeldcall: /api/reach?url=https://digizap.nl
GET /api/ports
Welke dienstporten (22, 53, 80, 443, 3389, …) op een domein of hostnaam bereikbaar zijn: open, dicht of stil, per poort met tijd en wat de dienst zelf als eerste zei. Geen cijfer — de meting spreekt.
Limiet: maximaal 6 aanvragen per 60 seconden per adres.
| Parameter | Verplicht | Betekenis |
|---|---|---|
host | ja | Domein of hostnaam; ?domain= wordt als oudere schrijfwijze geaccepteerd. |
ports | nee | Poortnummers van de vaste lijst (21, 22, 53, 80, 443, 3389, 8080, 8443), komma-gescheiden; standaard 22, 80 en 443. Poorten buiten de lijst worden niet onderzocht en gemeld als portsSkipped. |
Levende voorbeeldcall: /api/ports?host=digizap.nl&ports=22,80,443