How fresh should IP risk evidence be? Decay, re-querying and caching

IP risk evidence should be no older than the churn of the network it describes, so query at decision time and never cache a verdict. Rotating residential exits and dial-up pools change hands in minutes to hours, datacenter and VPN infrastructure in days. An observation without a timestamp cannot be acted on, and one older than the churn window is a false positive waiting to happen — it now describes whoever inherited the address.

How current a lookup is

A real response, captured 2026-09-13 for an address that was being sold as a residential exit at the time:

{
  "ip": "122.99.101.50",
  "evidence_state": "active",
  "risk": { "score": 78, "level": "high", "signals": ["proxy"] },
  "network": { "asn": 17471, "usage_type": "DYN" },
  "computed_at": "2026-09-13T15:41:18Z"
}

How the score decays

Datacenter and VPN infrastructure ages more slowly than residential exits because it changes hands more slowly; the response does not need a different contract for it, because evidence_state and the decayed score already carry that difference.

Caching: what is safe and what is not

How fresh the data behind the lookup is

The risk evidence is refreshed continuously and its build version carries a timestamp; the geolocation database is rebuilt daily; newly captured proxy exit addresses are aggregated hourly, and the weekly figures are published on Proxy exit addresses captured this week. The detection page states the current data window in absolute dates.

FAQ

How old is too old for IP risk evidence?

Older than the churn of the network it describes. For rotating residential exits and dial-up pools that is minutes to hours; for datacenter and VPN infrastructure, days. IP99 encodes this as a decaying score and an evidence_state that turns stale once the last observation is beyond the window.

Can I cache IP risk lookups?

Only within a single decision, for the seconds it takes to complete it. Caching across decisions or users, or storing a label without its observation time, turns a true statement into a false one on a timer you cannot see. Store computed_at and evidence_state with the decision instead.

What does evidence_state stale mean?

The address was observed in risk infrastructure before and that observation is now older than the decay window, so the score is 0. It is a weak prior — the address probably belongs to someone else now — not a clean bill of health and not a verdict.

Where is the observation time of each signal?

Seconds-level times are on the professional tier: each Pulse evidence row carries captured_at and age_min. The free lookup returns evidence_state and computed_at instead — a verdict without any observation time cannot be acted on, because it cannot be told apart from one that expired last week, and those two fields let you apply your own freshness rule and trace a disputed decision back to when it was observed.

How often is the data behind IP99 updated?

Risk evidence continuously, each observation carrying the time it was made; geolocation daily; IP99's own observation of proxy supply every hour, aggregated weekly on the proxy exits page.

Related: What is my IP address? · IP location: where an IP address is · IP address lookup: what you can and cannot find out · How to detect a proxy, VPN or datacenter IP · Rotating residential proxies and dial-up pools · Residential proxy vs datacenter proxy · Is this IP a VPN? · What an IP risk score means · What is an ASN? · Free IP geolocation and risk API · Proxy exit addresses captured this week · IP risk profile · IP ranges by country · IP ranges by ASN.