Skip to content
MtrXTools

MtrXTools API

Every MtrXTools check is available as a free JSON API: no key, no sign-up. Use it in scripts, monitoring, chat bots and internal tools. Each endpoint is a GET with query parameters, the same ones the tool pages use.

Quick start

curl
curl 'https://www.mtrxtools.com/api/v1/dns-lookup?q=github.com&type=MX'
JavaScript
const res = await fetch('https://www.mtrxtools.com/api/v1/dns-lookup?q=github.com&type=MX');
const body = await res.json();
if (!body.ok) throw new Error(body.error);
console.log(body.data);
Response
{
  "ok": true,
  "ms": 41,
  "data": { ... }
}

Errors return { "ok": false, "error": "..." } with an HTTP status: 400 for bad input, 403 for targets that are not allowed (private and internal addresses are never contacted), 422 when the input can't be checked, 429 when rate limited, and 502 to 504 when the target or an upstream service fails.

Rate limits and fair use

  • 40 requests a minute per IP address for heavy checks: SSL/TLS, HTTP headers, website health, port check and ping. A full website health report (section=all) counts as 8.
  • 60 requests a minute for everything else. IPv6 clients are counted per /64.
  • Every response has RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset headers; a 429 also has Retry-After.
  • Use it for your own diagnostics and integrations. Don't use it to scan networks you don't own. Clients that cause excessive load may be blocked.
  • Inputs and results are not stored. CORS is open, so browser apps on any site can call it.

Versioning

Paths start with /api/v1. Within v1 the parameters and the ok/data/error envelope stay stable; objects inside data may gain new fields, so ignore ones you don't know. Breaking changes will get a new version. The machine-readable description is at /api/v1/openapi.json (OpenAPI 3.1), and /api/v1 lists the endpoints.

Endpoints

DNS lookup

GET /api/v1/dns-lookup

Query DNS records from a public resolver or straight from the domain's authoritative nameservers, with TTLs and flags.

qrequiredDomain name.
typeRecord type. ALL returns the common types.Values: ALL, A, AAAA, CNAME, MX, NS, TXT, SOA, CAA, SRV, PTR, DS, DNSKEY, TLSA, NAPTR, SSHFP (default A)
resolverResolver to ask, or authoritative to skip caches.Values: cloudflare, google, quad9, opendns, authoritative (default cloudflare)
dnssecSet to 1 to request DNSSEC records and signatures.Values: 1

Reverse DNS

GET /api/v1/reverse-dns

Find the PTR hostname for an IPv4 or IPv6 address and check that it resolves back to the same address.

qrequiredIPv4 or IPv6 address.
resolverResolver to ask.Values: cloudflare, google, quad9, opendns (default cloudflare)

SSL/TLS checker

GET /api/v1/ssl-checker

Read the certificate chain a server sends, check expiry, hostname match, trust and key, test TLS 1.0 to 1.3, and grade it.

qrequiredHostname, URL or host:port. Implicit TLS only (no STARTTLS).
portPort, if not given in q.Default: 443

HTTP headers

GET /api/v1/http-headers

Follow every redirect, return each hop's status, headers and timing, and grade the security headers of the final page.

qrequiredURL or hostname.

Website health

GET /api/v1/website-health

A graded site report: DNS, every A/AAAA address, the http/https and www/apex redirect matrix, TLS, headers, domain expiry and content basics.

qrequiredDomain or URL.
sectionall returns every section and the overall grade in one response (counts as 8 requests against the rate limit). A single section returns just that part. Without it, only the resolved target and section list are returned.Values: all, dns, nodes, entry, tls, domain, content, edge

SPF, DKIM & DMARC

GET /api/v1/email-auth

Check SPF (with the DNS lookup count), find DKIM keys, read the DMARC policy, MTA-STS, TLS-RPT and BIMI, and grade the setup.

qrequiredDomain or email address.
selectorsExtra DKIM selectors to try, comma-separated, e.g. s1,mail2026. Common ones are always tried.

RDAP lookup

GET /api/v1/rdap

Registration data over RDAP: registrar, dates, status, nameservers and abuse contacts for a domain, IP address or range, or AS number.

qrequiredDomain, IP address, CIDR or AS number.

WHOIS

GET /api/v1/whois

Query WHOIS servers directly, following referrals from IANA to the registry and registrar, and return each raw response.

qrequiredDomain or IP address.

IP info

GET /api/v1/ip-info

Network, AS number, approximate location, address type and reverse DNS for an IP address. Hostnames are resolved first.

qrequiredIP address or hostname.

Cloud IP owner

GET /api/v1/cloud-ip

Which cloud, CDN or crawler owns an address, from each provider's published ranges, with service and region. Verifies Googlebot and Bingbot.

qrequiredUp to 20 IP addresses or hostnames, separated by commas or spaces.

What's my IP

GET /api/v1/my-ip

The public IP address the request came from, with its network and approximate location.

Port check

GET /api/v1/port-check

Whether TCP ports are open, closed or filtered, with connect times and the banner a service sends first. Up to 20 ports.

qrequiredHostname or IP address.
presetPort set to test when ports is empty.Values: common, web, mail, remote, db (default common)
portsPorts and ranges, comma-separated (max 20).

Ping (TCP)

GET /api/v1/ping

Round-trip time to a host from timed TCP handshakes: min, average, max, jitter and loss. Works where ICMP is blocked.

qrequiredHostname, IP address or host:port.
portTCP port, if not given in q.Default: 443
countAttempts, 1 to 10.Default: 5

NTP test

GET /api/v1/ntp-test

Query an NTP server over UDP 123: clock offset, delay, stratum, reference, leap status and root distance, over several samples.

qrequiredNTP server hostname or IP address.

Error explainer

GET /api/v1/explain-error

Match an error message or log line against MtrXTools's error library: what it means, causes, fixes, and the check that confirms it.

textrequiredError message or log line, up to 4,000 characters.

Privacy policy

Open as page

Effective 17 October 2026

Who we are

MtrXTools (“MtrXTools”, “we”, “us”) runs the network diagnostic tools at mtrxtools.com. This policy explains what information is processed when you use the site, why, and the choices you have. Questions or requests: privacy@mtrxtools.com.

The short version

  • You don't need an account, and we don't ask for your name or email address.
  • What you type into a tool is used to run that check and is not saved in a database.
  • Your recent runs, theme and cookie choice stay in your own browser.
  • Google Analytics runs only if you accept analytics cookies, and never receives what you typed.
  • Cloudflare Web Analytics counts visits without cookies.
  • We don't sell your information or use it for advertising.

Information we process

What you enter into a tool. Domains, IP addresses, URLs, ports and email addresses (for the SPF/DKIM/DMARC check) are sent to our servers so we can run the check. We connect to the target and to the services listed below, show you the result, and don't keep it. The same applies to requests made through our API. Shareable result links contain the target in the address, so anyone you share a link with can see it.

Technical data. Like any website, our hosting provider receives your IP address, browser type and the time and address of each request. It is used to deliver the site, keep it secure and investigate errors, and is kept only briefly in the provider's logs. We also count requests per IP address (IPv6 addresses grouped by network) for about two minutes to apply rate limits that stop abuse.

What's my IP. This tool shows the address you connect from. Your browser asks ipify (api4.ipify.org and api6.ipify.org) for your IPv4 and IPv6 addresses, and our server looks up the network and approximate location of those addresses.

Tools that run only in your browser. The email header analyser, subnet calculator, network planner, error explainer and DMARC report analyser never send what you paste or upload to us or anyone else. In the DMARC analyser, “Identify senders” sends only the sending IP addresses to our server, and only when you press it.

Status badges and calendar feeds. Badge and calendar addresses contain the domains you chose. Anyone you share them with, and the services that fetch them for you (such as GitHub's image proxy or your calendar app), see those addresses. We check the domains when the badge or feed is requested and don't store them.

Storage in your browser. We keep your recent runs, theme and cookie choice in your browser's local storage. They are not sent to us; use “Clear” under Recent runs or your browser settings to remove them.

Analytics cookies (only with your consent). If you accept, we load Google Analytics 4, which sets cookies (_ga, _ga_*, kept for up to two years) to count visits and see which pages are used. We send page addresses without their query string, so the domains, addresses and emails you enter are not shared with Google. Google Analytics 4 doesn't log or store IP addresses; Google may use them briefly to estimate a country or city. Advertising features are turned off.

Cookieless visit counts. We use Cloudflare Web Analytics to count visits and page loads and to measure how fast pages load. It sets no cookies, doesn't use your browser's storage, and doesn't fingerprint your device or follow you across sites. Your browser sends the page address, referrer, browser type and timing data to Cloudflare, which sees your IP address as part of the connection but doesn't use it to identify you.

Advertising. We don't show ads today. If we add them, we will ask for any consent needed first and update this policy.

Services involved in running the tools

To produce results we, or your browser, contact the following. They receive what is needed for the check, usually the domain or IP address being looked up; services your browser contacts directly also see your IP address.

  • The hosts you ask us to test (we connect to them from our servers, never from your device).
  • Public DNS resolvers: Cloudflare, Google, Quad9 and OpenDNS.
  • IANA and the domain and IP registries and registrars that publish RDAP and WHOIS records.
  • Team Cymru, for the network (ASN) an IP address belongs to.
  • ipwho.is, for the approximate location of an IP address being looked up.
  • ipify, contacted by your browser on What's my IP.
  • The published IP range lists of cloud and CDN providers (AWS, Microsoft, Google, Cloudflare, Fastly, GitHub, Oracle, DigitalOcean, Linode), which our server downloads; nothing about you is sent to them.
  • Vercel, which hosts the site, and a rate-limiting store when one is configured.
  • Google, for Google Analytics, only if you consent.
  • Cloudflare, for cookieless visit counts (Cloudflare Web Analytics).

Why we process it (legal bases)

Where data protection laws such as the GDPR and UK GDPR apply, we rely on our legitimate interests to provide the tools you request, keep the service secure and prevent abuse, and on your consent for analytics cookies. You can withdraw consent at any time with “Cookie settings” at the bottom of every page; this doesn't affect processing that happened before.

How long we keep it

Tool results are not stored. Rate-limit counters expire within about two minutes. Hosting logs are kept only as long as our provider retains them for operations and security. Analytics data is kept for the period set in Google Analytics (no longer than 14 months). Browser storage stays until you clear it.

International transfers

Our providers may process data in the United States and other countries. Where required, transfers rely on safeguards such as the EU Standard Contractual Clauses or the EU–US Data Privacy Framework.

Your rights

Depending on where you live, you may have the right to access, correct or delete personal information, to object to or restrict processing, to data portability, and to complain to your data protection authority. Because we don't ask who you are, we usually hold nothing we can link to you, but contact us at privacy@mtrxtools.com and we will help.

We don't sell personal information or share it for cross-context behavioural advertising (as defined in California law). If your browser sends a Global Privacy Control signal, we treat it as a refusal of analytics cookies.

Children

MtrXTools is not directed at children under 16, and we don't knowingly collect their personal information.

Security

The site is served only over HTTPS. Our servers refuse to probe private or internal networks, limit how fast tools can be used, and keep as little data as possible. No method of transmission or storage is completely secure, but we work to protect the information we handle.

Third-party content

Results include data from registries, DNS operators and other public sources. That data, third-party trademarks, and the open-source software MtrXTools is built with belong to their respective owners and are used under their terms.

Changes to this policy

We may update this policy as the tools change. The effective date above shows the latest version; significant changes will be highlighted on the site.

Contact

Email privacy@mtrxtools.com with any privacy question or request.