MyIPSpeed API

Network tools as a service

Free REST API for IP lookup, DNS, WHOIS, ASN, SSL certs, security headers grading and speed measurement. No API key for the free tier. For higher limits, SLA, or commercial support — talk to us.

Tier · default

Free

$0 · forever · no signup

  • All 10 REST endpoints, full access
  • 100 req/min on /api/lookup, 60 req/min on tools endpoints
  • 25 MB per speedtest sample
  • CORS enabled — works from any browser frontend
  • No API key, no signup, no email collection
  • Attribution link encouraged when embedding our data
  • Best-effort uptime, no SLA
Read the docs ↓
Why isn't the paid price listed? We're still calibrating costs against real customer volumes. Email us, tell us what you need, and we'll quote it. We promise a straight answer within 2 business days — no salespeople, no "let's get on a call," no contract minimums under $5k MRR.

API REFERENCE

10 endpoints · free tier

GET/api/lookup

Returns the caller's public IP, geolocation, ASN, and Cloudflare edge metadata. The same payload powers the homepage's IP card. Data comes from Cloudflare's request.cf metadata — no third-party geolocation API.

Example
curl https://myipspeed.com/api/lookup
Response (200)
{
  "ip": "203.0.113.42",
  "city": "London",
  "country": "GB",
  "countryName": "United Kingdom",
  "timezone": "Europe/London",
  "latitude": 51.5074,
  "longitude": -0.1278,
  "asn": 13335,
  "asOrganization": "Cloudflare, Inc.",
  "colo": "LHR",
  "httpProtocol": "HTTP/3",
  "tlsVersion": "TLSv1.3",
  "generatedAt": "2026-05-26T15:32:11.234Z"
}

GET/api/headers

Echoes the caller's HTTP request headers back, plus Cloudflare edge metadata (colo, TLS version, ASN, bot score). Useful for debugging what a client is sending.

Example
curl https://myipspeed.com/api/headers

GET/api/whois?domain=<domain>

RDAP-based domain WHOIS lookup. Returns registrar, registrant org, nameservers, dates, status. Works for any TLD that supports RDAP (essentially all modern TLDs).

ParameterRequiredDescription
domainyesFQDN like "example.com"
Example
curl "https://myipspeed.com/api/whois?domain=cloudflare.com"

GET/api/asn?ip=<ip>

RDAP-based IP/ASN lookup. Returns network owner, type, country, CIDR ranges. If ip is omitted, uses the caller's IP.

ParameterRequiredDescription
ipnoIPv4 or IPv6 address. Defaults to caller's IP.
Example
curl "https://myipspeed.com/api/asn?ip=1.1.1.1"

GET/api/security-headers?url=<url>

Fetches the URL and grades its HTTP security headers A–F. Same rubric as securityheaders.com (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, COOP). SSRF-protected — blocks scans of private/loopback addresses.

ParameterRequiredDescription
urlyeshttp:// or https:// URL. Public addresses only.
Example
curl "https://myipspeed.com/api/security-headers?url=https://github.com"

GET/api/dns-lookup?domain=<domain>&type=<type>

Queries Cloudflare's DNS-over-HTTPS resolver. If type is omitted, returns all 8 common record types (A, AAAA, CNAME, MX, NS, TXT, SOA, CAA) in parallel.

ParameterRequiredDescription
domainyesFQDN to look up
typenoA | AAAA | CNAME | MX | NS | TXT | SOA | CAA. Omit for all.
Example
curl "https://myipspeed.com/api/dns-lookup?domain=cloudflare.com"

GET/api/ssl-check?domain=<domain>

Pulls Certificate Transparency log entries for the domain from crt.sh, picks the most recent valid leaf cert, verifies the live HTTPS endpoint. Returns headline cert + CT history + live reachability + letter grade. One retry on crt.sh 5xx.

ParameterRequiredDescription
domainyesFQDN
Example
curl "https://myipspeed.com/api/ssl-check?domain=github.com"

GET/speedtest/ping

Tiny round-trip latency probe. Returns pong with minimal headers.

curl -w "%{time_total}\n" https://myipspeed.com/speedtest/ping

GET/speedtest/download?size=<bytes>

Streams N random bytes back, capped at 25 MB per request. Use for download bandwidth measurement.

ParameterRequiredDescription
sizeyesBytes (1 - 26214400)
curl -w "%{size_download} bytes in %{time_total}s\n" -o /dev/null \
  "https://myipspeed.com/speedtest/download?size=12582912"

POST/speedtest/upload

Accepts an upload body, capped at 25 MB. Drains the request, returns byte count + elapsed time.

curl -X POST -H "Content-Type: application/octet-stream" \
  --data-binary @sample-6mb.bin \
  https://myipspeed.com/speedtest/upload

Notes

No API key for free tier. Every endpoint is public. Paid customers get a key in the X-Api-Key header for rate-limit elevation.

CORS. All endpoints respond with Access-Control-Allow-Origin: * so they work from any browser frontend.

Caching. Responses set Cache-Control: no-store by default. The Worker internally caches RDAP and crt.sh upstream responses (typically 5-10 min TTL).

Source. Worker code at src/worker.js on GitHub. Single file, ~560 lines. Audit before integrating.

SLA. Free tier is best-effort. Paid customers get a written uptime commitment with credits if missed. Status at /status.