Proxy detection APIbeta
Spot proxies hiding the real client.
Flag open and anonymising proxies and feed the result into a transparent risk score. Residential-proxy detection is in beta — and we say so.
How it works
01
GeoQ returns is_proxy: true for IPs associated with open or anonymising proxies.
02
A proxy hit contributes +40 to the risk score — the second-highest weight after Tor.
03
Residential-proxy detection is beta. Residential proxies route through real consumer devices and are deliberately hard to detect; weight the beta signal accordingly and lean on the overall risk score.
What you get back
| Field | Meaning |
|---|---|
is_proxy | Boolean — open/anonymising proxy (residential detection beta). |
risk.score | Includes +40 when a proxy is detected. |
is_datacenter | Many proxies run on hosting IPs — cross-check this signal. |
network.asn / as_org | The network behind the proxy. |
In your code
const r = await geoq.check(req.ip); // residential-proxy detection is beta — combine signals, don't hard-block if (r.signals.is_proxy || r.risk.level === "high") { flagForReview(order.id, r.risk.reasons); }
FAQ
Frequently asked questions
Do you detect residential proxies?
Partially, and we label it beta. Residential proxies are intentionally evasive; the beta signal will improve over time. Use the overall risk score rather than relying on the flag alone.
What's the difference between proxy and datacenter?
A datacenter IP is simply hosted in a cloud/hosting range; a proxy actively relays someone else's traffic. Read residential vs datacenter proxies.
Related signals
Start with the free tier. No card.
1,000 lookups a day, every signal, the same transparent risk score. Upgrade only when you outgrow it.