Naar inhoud

REST API-referentie

Elke tool op deze site is een JSON-endpoint. Geen sleutel, geen aanmelding – de antwoorden geven dezelfde oordelen, bevindingen en oplossingen als de webpagina’s.

Snel aan de slag

Basis-URL: https://thenetworkery.com/api/v1

curl -s "https://thenetworkery.com/api/v1"                                  # tools weergeven
curl -s "https://thenetworkery.com/api/v1/dns-lookup?name=example.com&type=MX"
curl -s "https://thenetworkery.com/api/v1/email-auth?domain=example.com"
curl -s "https://thenetworkery.com/api/v1/subnet-calculator?cidr=10.0.0.0/22&format=text"
curl thenetworkery.com/ip                                # alleen je adres

Sleutels, limieten en formaten

Authenticatie
Geen. De API is gratis en heeft geen sleutel nodig.
Limiet
60 verzoeken per minuut per IP-adres. Daarboven krijg je HTTP 429 met een Retry-After-header.
Methoden
GET met queryparameters, of POST met dezelfde parameters als JSON of formulier. Tools die een geheim gebruiken, zoals een token, accepteren alleen POST, zodat het nooit in een URL staat.
Formaten
Standaard JSON. Commandlineclients (curl, wget, HTTPie) krijgen platte tekst als een tool een tekstvorm heeft; voeg format=json toe om JSON af te dwingen of format=text om tekst te vragen.
CORS
Open: je kunt de API vanuit JavaScript op elke website aanroepen.
Stabiliteit
Versie 1 groeit alleen: nieuwe tools, parameters en velden kunnen erbij komen, bestaande behouden hun betekenis. Het data-object verschilt per tool.

Antwoorden

Elke tool antwoordt met dezelfde envelop:

VeldTypeBetekenis
toolstringDe korte naam van de tool.
inputobjectJe invoer na opschonen, bijv. een URL teruggebracht tot de hostnaam. Geheimen worden weggelaten.
statuspass · info · warn · failHet totaaloordeel: de slechtste bevinding.
dataobjectDe ruwe resultaten. De vorm verschilt per tool.
findings[]arrayElke controle: level, title en params, en waar nuttig detail, fix en een record om direct te plakken.

Bevindingsteksten zijn Engels met plaatshouders zoals :count die uit params worden ingevuld – dezelfde sleutels die deze site vertaalt, zodat je ze in je eigen taal of woorden kunt tonen.

GET https://thenetworkery.com/api/v1/email-auth?domain=example.com (ingekort)

{
  "tool": "email-auth",
  "input": { "domain": "example.com" },
  "status": "warn",
  "data": { "domain": "example.com", "mx": ["0 ."], "…": "…" },
  "findings": [
    { "level": "pass", "title": ":count mail servers (MX) found.", "params": { "count": 1 } },
    { "level": "pass", "title": "SPF ends in -all (hard fail for other senders).", "params": {} },
    { "level": "warn", "title": "…", "params": {}, "detail": "…", "fix": "…", "record": "…" }
  ]
}

Fouten

404Geen tool met die naam.
422Ontbrekende of ongeldige invoer. De body noemt elk probleemveld.
429Limiet bereikt. Wacht het aantal seconden uit Retry-After.
5xxEr ging bij ons iets mis. Probeer het later opnieuw.

Een controle die draaide en problemen vond is geen fout: het is HTTP 200 met status warn of fail.

HTTP/1.1 422 Unprocessable Content
{
  "message": "The name field is required.",
  "errors": { "name": ["The name field is required."] }
}

Clients en code

Importeer het OpenAPI-bestand in Postman, Insomnia, Bruno of Hoppscotch, of genereer een getypeerde client voor je taal:

npx @openapitools/openapi-generator-cli generate \
  -i https://ipv4.thenetworkery.co.uk/api/openapi.json \
  -g typescript-fetch -o ./networkery-client

JavaScript

const r = await fetch('https://thenetworkery.com/api/v1/dns-lookup?' + new URLSearchParams({ name: 'example.com', type: 'MX' }));
const result = await r.json();
console.log(result.status, result.data);

Python

import requests

r = requests.get('https://thenetworkery.com/api/v1/dns-lookup', params={'name': 'example.com', 'type': 'MX'}, timeout=30)
r.raise_for_status()
result = r.json()
print(result['status'])
for f in result['findings']:
    print(f['level'], f['title'], f['params'])

Je verbinding

Wat is mijn IP?

Tool openen →
GETPOST /api/v1/my-ip

Je publieke IP-adres, reverse DNS en netwerk – ook als platte tekst voor curl.

Geen parameters.

curl -s "https://thenetworkery.com/api/v1/my-ip"

DNS

DNS-lookup

Tool openen →
GETPOST /api/v1/dns-lookup

Alle records van een naam via een publieke resolver naar keuze, met heldere uitleg.

ParameterTypeBeschrijving
name* string
≤ 253
Domein of hostnaam
Voorbeeld: thenetworkery.com
type string Recordtype
ALLAAAAACNAMEMXNSTXTSOACAASRVPTR
Standaard: ALL
resolver string Resolver
cloudflaregooglequad9
Standaard: cloudflare
curl -s "https://thenetworkery.com/api/v1/dns-lookup?name=thenetworkery.com&type=ALL&resolver=cloudflare"

DNS-propagatiecheck

Tool openen →
GETPOST /api/v1/dns-propagation

Stel 15 publieke resolvers wereldwijd dezelfde vraag en zie wie je wijziging al heeft.

ParameterTypeBeschrijving
name* string
≤ 253
Domein of hostnaam
Voorbeeld: thenetworkery.com
type string Recordtype
AAAAACNAMEMXNSTXTSOACAASRVPTR
Standaard: A
curl -s "https://thenetworkery.com/api/v1/dns-propagation?name=thenetworkery.com&type=MX"

DNSSEC-check

Tool openen →
GETPOST /api/v1/dnssec

Is de zone ondertekend, klopt de vertrouwensketen en zijn de algoritmen actueel?

ParameterTypeBeschrijving
name* string
≤ 253
Domein
Voorbeeld: ietf.org
curl -s "https://thenetworkery.com/api/v1/dnssec?name=ietf.org"

E-mail

E-mailbeveiligingscheck

Tool openen →
GETPOST /api/v1/email-auth

SPF, DKIM, DMARC, MTA-STS, TLS-RPT en BIMI beoordeeld, met de exacte records om ontbrekende zaken op te lossen.

ParameterTypeBeschrijving
domain* string
≤ 253
Domein
Voorbeeld: gov.uk
curl -s "https://thenetworkery.com/api/v1/email-auth?domain=gov.uk"

Blacklistcheck

Tool openen →
GETPOST /api/v1/blacklist

Staat een IP, domein of de mailservers ervan op de spamblocklists die ontvangers gebruiken – en hoe kom je eraf.

ParameterTypeBeschrijving
target* string
≤ 253
IP-adres of domein
Voorbeeld: 127.0.0.2
curl -s "https://thenetworkery.com/api/v1/blacklist?target=127.0.0.2"

Web & TLS

SSL/TLS-certificaatcheck

Tool openen →
GETPOST /api/v1/ssl-check

Certificaat, keten, vervaldatum, naamcontrole, sleutelsterkte en de onderhandelde TLS-versie.

ParameterTypeBeschrijving
host* string
≤ 253
Hostnaam
Voorbeeld: thenetworkery.com
port string Poort
44384434659939956368535061
Standaard: 443
curl -s "https://thenetworkery.com/api/v1/ssl-check?host=thenetworkery.com&port=443"

HTTP-headers & beveiligingscheck

Tool openen →
GETPOST /api/v1/http-headers

Doorverwijzingsketen, response-headers en een beoordeling van HSTS, CSP en de andere beveiligingsheaders.

ParameterTypeBeschrijving
url* string (uri)
≤ 2048
URL of hostnaam
Voorbeeld: http://thenetworkery.com
curl -s "https://thenetworkery.com/api/v1/http-headers?url=http%3A%2F%2Fthenetworkery.com"

IP & routering

WHOIS-/RDAP-lookup

Tool openen →
GETPOST /api/v1/whois

Wie een domein, IP-adres of AS-nummer houdt – uit het register, via RDAP.

ParameterTypeBeschrijving
query* string
≤ 255
Domein, IP, prefix of AS-nummer
Voorbeeld: AS13335
curl -s "https://thenetworkery.com/api/v1/whois?query=AS13335"

ASN- & BGP-prefix-lookup

Tool openen →
GETPOST /api/v1/bgp

Origin-AS, zichtbaarheid, RPKI-geldigheid, upstreams en aangekondigde prefixen uit de wereldwijde routeringstabel.

ParameterTypeBeschrijving
query* string
≤ 64
AS-nummer, IP-adres of prefix
Voorbeeld: AS13335
curl -s "https://thenetworkery.com/api/v1/bgp?query=AS13335"

Rekenhulpen

Subnetcalculator

Tool openen →
GETPOST /api/v1/subnet-calculator

IPv4- en IPv6-prefixen: bereiken, maskers, aantal hosts, reverse zones en opsplitsen.

ParameterTypeBeschrijving
cidr* string
≤ 64
Adres of prefix
Voorbeeld: 172.20.0.0/14
split integer Opsplitsen in prefixlengte (optioneel)
Voorbeeld: 16
curl -s "https://thenetworkery.com/api/v1/subnet-calculator?cidr=172.20.0.0%2F14&split=16"

MAC-fabrikant opzoeken

Tool openen →
GETPOST /api/v1/mac-lookup

Wie een netwerkkaart maakte, volgens het IEEE-register – en of het adres willekeurig is.

ParameterTypeBeschrijving
mac* string
≤ 32
MAC-adres of prefix
Voorbeeld: B8:27:EB:12:34:56
curl -s "https://thenetworkery.com/api/v1/mac-lookup?mac=B8%3A27%3AEB%3A12%3A34%3A56"

Ontwikkelaars

MCP-servertester

Tool openen →
POST /api/v1/mcp-server-test

Maakt verbinding met een externe MCP-server zoals een AI-assistent dat doet: handshake, tools, resources, prompts, OAuth-detectie en contextkosten, getoetst aan de specificatie.

ParameterTypeBeschrijving
url* string (uri)
≤ 2048
MCP-server-URL
Voorbeeld: https://ipv4.thenetworkery.co.uk/mcp
token string
≤ 4096
Bearer-token (optioneel, nooit opgeslagen) alleen POST, nooit opgeslagen
Voorbeeld: sk-…
tool string
≤ 128
Een tool aanroepen (optioneel)
Voorbeeld: tool_name
arguments string (JSON)
≤ 20000
Toolargumenten als JSON (optioneel)
Voorbeeld: {"query": "example"}
curl -s -X POST https://thenetworkery.com/api/v1/mcp-server-test \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://ipv4.thenetworkery.co.uk/mcp","token":"…"}'

DN42

DN42-register zoeken

Tool openen →
GETPOST /api/v1/dn42-registry

Zoek elk DN42-object op – AS, IP, prefix, maintainer, persoon of .dn42-domein – met alles wat ernaar verwijst.

ParameterTypeBeschrijving
query* string
≤ 100
AS-nummer, IP, prefix, maintainer, persoon of domein
Voorbeeld: AS4242421711
curl -s "https://thenetworkery.com/api/v1/dn42-registry?query=AS4242421711"

DN42 vrije-resourcezoeker

Tool openen →
GETPOST /api/v1/dn42-free

Ongeregistreerde AS-nummers, vrije IPv4-blokken en een willekeurige ongebruikte IPv6-/48 – gecontroleerd tegen het actuele register.

ParameterTypeBeschrijving
size string IPv4-blokgrootte
242526272829
Standaard: 27
curl -s "https://thenetworkery.com/api/v1/dn42-free?size=27"

DN42-peeringconfiggenerator

Tool openen →
GETPOST /api/v1/dn42-peering-config

WireGuard-, BIRD 2- en RouterOS 7-configs voor een DN42-peering, volgens de wiki-conventies.

ParameterTypeBeschrijving
our_asn* integer Jouw AS-nummer
Voorbeeld: 4242421711
peer_asn* integer AS-nummer peer
Voorbeeld: 4242423914
peer_ll6* string (ipv6) Link-local IPv6 peer
Voorbeeld: fe80::3914
our_ll6 string (ipv6) Jouw link-local IPv6 (optioneel)
Voorbeeld: fe80::1711
peer_ipv4 string (ipv4) Tunnel-IPv4 peer (optioneel)
Voorbeeld: 172.20.53.97
our_ipv4 string (ipv4) Jouw DN42-IPv4 (optioneel)
Voorbeeld: 172.23.141.33
endpoint string
≤ 255
Endpoint peer host:poort (optioneel)
Voorbeeld: uk1.example.net:21711
peer_pubkey string Publieke WireGuard-sleutel peer (optioneel)
Voorbeeld: base64…=
enh string Sessietype
yesno
Standaard: yes
curl -s "https://thenetworkery.com/api/v1/dn42-peering-config?our_asn=4242421711&peer_asn=4242423914&peer_ll6=fe80%3A%3A3914&our_ll6=fe80%3A%3A1711&peer_ipv4=172.20.53.97&our_ipv4=172.23.141.33&endpoint=uk1.example.net%3A21711&enh=yes"