myipcheck.net

Developers

Network check API

What the network and the server see about a connection: IP, location, ASN, reverse DNS, TCP/IP and TLS fingerprints, DNS resolvers and optional risk data.

API keys are issued manually while the service is in early access.

Write to admin@myipcheck.net with your use case and expected volume.

Base URLs

HostStackUse
https://probe4.myipcheck.netIPv4The default host.
https://probe6.myipcheck.netIPv6IPv6-only clients and checks.
https://probe.myipcheck.netdual stackCompatibility host; the client resolves it normally.

All responses are JSON. Requests and responses use HTTP/1.1 or HTTP/2; the server reports which one it saw.

Authentication

Free read endpoints work without a key. Send an API key when you need usage accounting or a paid feature:

Authorization: Bearer mip_live_<kid>.<secret>

The key is shown once when it is issued. Treat it as a password. Admin endpoints use a separate X-Check-Token and are not part of the public API.

Endpoints

Method and pathWhat it returns
GET /v1/echoIP, port, TCP/IP fingerprint, TLS, HTTP headers and frame order, GeoLite2 location and ASN. This is the main connection check.
GET /v1/echo?risk=1The same, plus a MaxMind minFraud score (paid).
GET /v1/geo?ip=<ip>Country, city, timezone, ASN and organisation for an address.
GET /v1/ip/<ip>The address view: GeoLite2, network and optional 30-day visitor history. ?history=0 skips history.
GET /v1/rdap/<ip>RDAP network range, name and country.
GET /v1/dns/<token>Resolvers that asked for a test name. Generate a token in the browser or app first; ?wait=1500 waits for the first resolvers.
GET /v1/risk?ip=<ip>MaxMind minFraud Score (paid; app JWT, paid key or admin).
GET /v1/meThe caller, tier, limits, monthly usage and key metadata.
GET /v1/healthVersion and service state.

Examples

curl https://probe4.myipcheck.net/v1/echo

curl "https://probe4.myipcheck.net/v1/geo?ip=1.1.1.1"

curl "https://probe4.myipcheck.net/v1/rdap/1.1.1.1"

curl -H "Authorization: Bearer $MYIPCHECK_KEY" \
  https://probe4.myipcheck.net/v1/me

The connection check must reach the host through the connection you want to measure. If you use a proxy, make the HTTP request through that proxy; the server then reports the proxy's exit.

Limits

TierRateMonthlyMaxMind
Free60/min10,000No
Paid1,200/min (burst 40)1,000,000Within the account quota

Keyed responses carry X-RateLimit-Limit, X-Quota-Limit, X-Quota-Used and X-Quota-Reset. Exceeding the rate returns 429 RATE_LIMITED; exhausting the month returns 429 QUOTA_EXCEEDED with Retry-After. More than 200 distinct source prefixes for one key in 10 minutes returns 429 KEY_IP_LIMIT for one minute.

Errors

Every error has a stable code and an English message. Branch on the code, never on the message.

INVALID_IPThe address is not a public IP.
INVALID_TOKENThe DNS token is malformed.
AUTH_REQUIREDA missing, revoked or invalid API key/JWT.
PAID_FEATURE_REQUIREDThe key does not include MaxMind.
RATE_LIMITEDPer-IP or per-key rate limit.
QUOTA_EXCEEDEDThe monthly key quota is exhausted.
KEY_IP_LIMITToo many distinct source prefixes for one key.

Privacy

The server keeps a seven-day request log for keyed calls: key id, account, source prefix (IPv4 /24 or IPv6 /64), method, path without query, status, latency and time. It does not store headers or bodies. Free anonymous checks are counted without storing the address in that log.

Access

Early-access keys are issued by hand. Email admin@myipcheck.net and include the account name, the expected requests per month and whether you need MaxMind.