---
title: "Location and network for any IP"
method: GET
path: "/api/ip/{ip}"
tags: ["IP location and ASN API"]
---

# Location and network for any IP

`GET /api/ip/{ip}`

## Request

- Base URL: `https://hproxy.com`
- URL: `https://hproxy.com/api/ip/{ip}`
- Auth: none required

One GET returns where an IP is and which network runs it: country, region, city, coordinates, timezone, ASN, ASN organisation and ISP. No key, no signup, CORS enabled so you can call it straight from a browser or an extension.

This is the same lookup that powers the [free proxy list](/free-proxy-list) and our own [proxy checker](/proxy-checker), so if you are writing a proxy checker of your own, you can label your results with exactly the data we label ours with. It is read from offline databases, so there is no third-party API in the path.

Two limits apply per IP, and they are deliberately separate. **Requests** on this single-address door are capped at 900 in a burst, refilling 30 per second. **Addresses** are capped by the budget described under the batch endpoint below, and both doors draw on that same budget, so a hundred thousand single lookups cost exactly what one batch of a hundred thousand costs. Every answer reports the address budget in `X-RateLimit-Limit`, `X-RateLimit-Remaining` and `X-RateLimit-Cost`, so you can pace yourself from the headers rather than discovering the limit by being refused. Past either one you get a clean `429` with `Retry-After`.

Responses carry `Cache-Control: public, max-age=21600`: an address's location and ASN move on the order of weeks, so cache them hard rather than re-asking on every run.

## Path parameters

- `ip` string, required

## Response `200`

Success

- object

## Other responses

- `400`: Invalid input. The body names the field and the accepted set.
- `401`: Missing or invalid API key.
- `429`: Rate limited. Retry after the delay in the response.

---

[API](https://skmtc.dev/hproxy/apis/hproxy-api.md) · [All operations](https://skmtc.dev/hproxy/apis/hproxy-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hproxy/apis/hproxy-api/revisions/9f6898fe76e2?raw)
