fshy

Home / Data APIs

IPKit (ipkit.dev)

ipkit.dev/docsIP geolocation APIdata-apis/ipkit-devJSONcomparereport an errorprovider JSON

Free allowance
Keyless JSON lookups of any public IPv4 or IPv6 address at https://ipkit.dev/{ip}: 300 requests per 60 seconds per caller IP address, no key; location, ASN, organisation and VPN, proxy and Tor flags from an upstream Ipregistry key held by the operator
Verdict
caveatusable, with a named limit or an unprobed read path
Cost
free tier
Identity
anonymousno card, no phone
Binding limit
request-rate300 requests per 60 seconds per caller IP address; HTTP 429 RATE_LIMITED with Retry-After 60
Evidence
measured10 sources; a live request was made and its output kept
Freshness
stale on 2027-01-02checked 2026-11-02 (live); stale on 2027-01-02
Free tierkeyless JSON lookups of any public IPv4 or IPv6 address at https://ipkit.dev/{ip}: 300 requests per 60 seconds per caller IP address, no key; location, ASN, organisation and VPN, proxy and Tor flags from an upstream Ipregistry key held by the operator
unit requests; metered on request-count; the limit applies to current-IP and arbitrary lookups; no SLA or uptime promise is published.
Pricenone stated
Limits
  • request-rate (binding) 300 requests per 60 seconds per caller IP address; HTTP 429 RATE_LIMITED with Retry-After 60 source
Bindingrequest-rate the per-minute limit per caller IP is the only published cap; arbitrary lookups also depend on one operator-held upstream key and answer HTTP 503 LOOKUP_UNAVAILABLE without it.
Identityanonymous callers send no API key
Egressnot applicable: JSON answers, not metered in bytes
Per-object capone IP address per request (GET /{ip}); private and reserved ranges answer HTTP 400 RESERVED_IP
Retentionnot applicable: a lookup API; specific-IP answers carry cache-control max-age=300 at the caller and s-maxage=3600 at the edge
Interfacerest GET or HEAD https://ipkit.dev/{ip} and /api/ip/{ip} answer ipkit.v1 JSON; GET /api/my-ip answers for the caller; OPTIONS answers CORS preflight with 204
Toolingany HTTP client; branch on the HTTP status and the ipkit.v1 object
Composes withA keyless front end to Ipregistry data (source ipregistry) at 300 lookups a minute per caller IP, for scripts that need location, ASN and privacy flags with no account. Bulk path: none in the HTTP API.
Reliabilityno SLA or uptime promise is published; arbitrary lookups need the operator's upstream key and answer HTTP 503 LOOKUP_UNAVAILABLE when it is missing; past the limit the API answers HTTP 429 with Retry-After 60
NotesFree requests: the only published limit is 300 per 60 seconds per caller IP. Rate limit: HTTP 429 with Retry-After 60. Bulk path: none in the HTTP API.
Evidence notemeasured A keyless lookup of 8.8.8.8 was probed on 2026-11-02 and returned HTTP 200 with source ipregistry; the 300 requests per 60 seconds limit is quoted from the documentation and was not exhausted.
Parsed numbers
  • has-free-tier 1
  • request-rate 300 requests
Evidence 10
datesourcewhat it proved
2026-11-02ipkit.dev/docscallers send no API key
2026-11-02ipkit.dev/docsno SLA is published
2026-11-02ipkit.dev/docsthe limit is 300 requests per 60 seconds per connecting IP
2026-11-02ipkit.dev/docsHTTP 429 RATE_LIMITED is the answer past the limit
2026-11-02ipkit.dev/docsarbitrary lookups need the operator's Ipregistry key and answer HTTP 503 without it
2026-11-02ipkit.dev/docsspecific-IP answers are public-cacheable
2026-11-02probe: https://ipkit.dev/8.8.8.8a keyless GET of /8.8.8.8 answered HTTP 200
2026-11-02probe: https://ipkit.dev/8.8.8.8the answer comes from the Ipregistry data source
2026-11-02probe: https://ipkit.dev/8.8.8.8the answer carries an ASN
2026-11-02probe: https://ipkit.dev/8.8.8.8the answer carries the documented cache-control header
More fields 2
bulk pathnone in the HTTP API
free requests300 per 60 seconds per caller IP