---
title: "Resolve client IPs to country/region/network operator"
method: GET
path: "/admin/billing/ip-lookup"
tags: ["Billing"]
---

# Resolve client IPs to country/region/network operator

`GET /admin/billing/ip-lookup`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/admin/billing/ip-lookup`
- Auth: API key in header `x-api-key`

Admin-only endpoint that resolves up to 50 comma-separated IPs (e.g. from the recent-ips table above) to their country, region, city, and network operator (ISP/org/ASN) via a free third-party geolocation lookup. Private/reserved/invalid IPs and lookups the upstream can't resolve are silently omitted from the result rather than erroring -- this only ever annotates a table, it is never authoritative for billing, rate limiting, or anti-bot decisions.

## Query parameters

- `ips` string, required

## Headers

- `x-api-key` string, required

## Response `200`

Resolved IPs

- BillingAdminIPLookupResponseDoc
  - `code` integer
  - `data` BillingAdminIPLookupDoc
    - `items` BillingAdminIPLookupItemDoc[]
      - `asn` integer
      - `city` string
      - `country` string
      - `country_code` string
      - `ip` string
      - `isp` string
      - `org` string
      - `region` string
  - `msg` string

## Other responses

- `400`: Invalid query parameters
- `401`: Authentication required
- `403`: Admin plan required

---

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