Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To find an IP address’s ASN, look it up in ARIN Whois/RDAP, RIPEstat, or Team Cymru’s IP-to-ASN service. First decide what you mean by “the ASN”: registration data identifies the network associated with an address block, while routing data identifies the ASN currently originating a route. Those answers can differ, so compare a registry lookup with a routing-data source when the result matters operationally.

What an ASN lookup tells you

An Autonomous System Number (ASN) identifies an autonomous system in Internet routing and registration data. An IP-to-ASN lookup associates an address with network information; it does not necessarily identify the organization currently sending traffic from that address, the server’s physical location, or a single permanent owner.

There are two related but distinct questions:

  • Which registered network includes this address? A registry lookup such as ARIN Whois/RDAP returns the matching network and related registration objects. It is useful for identifying the registered network or organization associated with the address block.
  • Which ASN is announcing a route for it? Routing-data services report the origin ASN associated with an announced route. That is the better question when investigating how traffic is routed now.

Transit arrangements, reassignment of address space, more-specific route announcements, and changes in BGP state can produce different answers. Neither answer is automatically wrong: the services may be describing different relationships or observing data at different times.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Three ways to look up an IP address

1. ARIN Whois/RDAP in a browser

  1. Copy the IPv4 or IPv6 address exactly. Keep the colons in IPv6 notation; do not add an AS prefix to an IP address.
  2. Open ARIN Whois/RDAP and enter the address in its search field. ARIN’s search recognizes an IP address and returns the network and related-entity information for it.
  3. Inspect the returned network object and organization. If an ASN or related autnum object is shown, note the relationship rather than assuming every IP lookup will return a single, definitive routing origin.

ARIN also documents an RDAP URL pattern for machine-readable lookup: https://rdap.arin.net/registry/ip/<IP-address>. Replace <IP-address> with the address you are querying. RDAP returns JSON, which is useful for scripts or for retaining the response as evidence. ARIN issues 4-byte ASNs; when searching for an ASN itself, its documentation says the AS prefix may be omitted.

2. RIPEstat for an IP or routing context

  1. Open RIPEstat and enter the IPv4 or IPv6 address in its search interface.
  2. Review the result in the context of the data view being shown. RIPEstat supports searches for IP addresses, ASNs, prefixes, ranges, hostnames, and country codes.
  3. For automated use, consult RIPEstat’s current API documentation and select the appropriate data call for the question you need to answer. Its API is intended for developers and network operators; do not rely on an undated example URL or assume that every data view answers the same routing question.

RIPEstat is useful as a routing-data cross-check against a registry result. Its service description and API documentation should guide which data source and fields are appropriate for a particular investigation.

3. Team Cymru’s IP-to-ASN lookup as a cross-check

  1. Open Team Cymru’s IP to ASN Lookup.
  2. Select IPv4 or IPv6 and submit the address.
  3. Keep each query to one address family. Team Cymru supports both IPv4 and IPv6, but says a query may contain only one address family.

This gives you another IP-to-ASN source to compare with the registry and routing views. When results differ, write down what each service says it is reporting rather than treating the lookup sites as interchangeable authorities.

Which lookup method should you use?

Method Best for Address support Automation What to watch
ARIN Whois/RDAP Finding registered network and related-entity information for an IP IPv4 and IPv6 IP lookup Documented RDAP JSON URL pattern Registration association is not necessarily the current BGP origin ASN.
RIPEstat Looking up an IP and examining routing-data views Search supports IPv4 and IPv6, along with other query types API access; use the current API documentation Choose the data view that matches the question; do not assume all results are equivalent.
Team Cymru IP to ASN Lookup An independent IP-to-ASN cross-check IPv4 or IPv6 per query Service supports IP-to-ASN lookup; use its current documentation for automation details Do not mix IPv4 and IPv6 in one query.

For a quick ownership-oriented check, start with ARIN RDAP. For a question about current route origin, use a routing-data view such as RIPEstat and compare it with another source if accuracy is consequential. For audits or incident response, retain the raw response or a dated record instead of just copying an ASN from a search result.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Automate an ARIN RDAP lookup

The RDAP endpoint returns JSON for the IP network object. This shell example uses an environment variable for the address so you can replace it without editing the URL construction. Set it to the IPv4 or IPv6 address you are investigating:

export IP_ADDR='192.0.2.1'

Then request the RDAP object:

curl -sS "https://rdap.arin.net/registry/ip/${IP_ADDR}" -o rdap.json

The saved file is the raw response; inspect its network and related-entity information and any ASN/autnum relationship returned. The example address is from a documentation-only range, so replace it with the real address for a useful lookup. For IPv6, set IP_ADDR to the full or compressed IPv6 notation you intend to query.

Python

This Python example uses only the standard library and prints the RDAP JSON response. Set IP_ADDR in the environment before running it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

import json
import os
from urllib.request import urlopen

ip = os.environ["IP_ADDR"]
url = f"https://rdap.arin.net/registry/ip/{ip}"

with urlopen(url, timeout=30) as response:
    data = json.load(response)

print(json.dumps(data, indent=2))

Node.js

With a current Node.js version that provides the built-in fetch API, this script requests the same JSON object and prints it:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

const ip = process.env.IP_ADDR;
if (!ip) throw new Error('Set IP_ADDR to an IPv4 or IPv6 address');

const url = `https://rdap.arin.net/registry/ip/${encodeURIComponent(ip)}`;
const response = await fetch(url);
if (!response.ok) {
  throw new Error(`ARIN RDAP returned HTTP ${response.status}`);
}
const data = await response.json();
console.log(JSON.stringify(data, null, 2));

These examples deliberately return the raw RDAP object rather than guessing a JSON field that will always contain the “right” ASN. Examine the response in context; when you need the current route origin rather than registration information, query routing data as well. For repeatable investigations, record the queried address, timestamp, source, and returned result. That makes later changes or disagreements easier to explain.

Why ASN lookup sites disagree

A registration database and a routing-data service answer different questions. The registered network may cover an address block, but a different ASN can originate a more-specific route or carry traffic through a transit arrangement. Address assignments and BGP announcements can also change over time. A result that is accurate for registration may therefore differ from the current route origin.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When the difference matters, compare ARIN Whois/RDAP with RIPEstat or another routing-data source. Confirm that you queried the same IP, distinguish the network registration from the announced route, and note when each result was retrieved. RFC 9910 establishes RDAP search functions for IP networks and ASNs as an Internet standards-track extension; that standardization does not make registration and routing data the same dataset.

Troubleshooting common lookup problems

The result shows a network or organization but no ASN

That may be a registration result rather than a route-origin result, or the returned network object may not expose the ASN relationship you expected. Use RIPEstat or another routing-data source to answer the origin question, and compare the result instead of inferring an ASN from an organization name.

The ASN differs between services

Check whether one service is showing a registered network and another a BGP origin. Then verify the address was entered identically, including IPv6 notation, and take note of retrieval time. Route announcements can change, and a more-specific announcement may be associated with a different origin than a broader registered block.

A Team Cymru query is rejected or incomplete

Check that the selected family matches the address and that the query contains only IPv4 or only IPv6, not both. The service supports both address families, but not a mixed-family query.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The RDAP script fails

  • Malformed URL or invalid response: verify IP_ADDR contains only the address, not a URL, label, or whitespace. Use the documented /registry/ip/<IP-address> path.
  • HTTP error or timeout: check network connectivity, retry after a brief wait, and retain the HTTP status or error text. A failed request does not establish that an address has no ASN.
  • Python cannot find the environment variable: set IP_ADDR in the shell that launches Python. The example accesses it directly and will stop if it is absent.
  • Node.js reports no IP_ADDR: export the variable in the same environment where Node runs. The example intentionally exits with a clear error rather than querying an empty path.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Keep a useful record of the result

For a one-off check, the lookup page may be enough. For monitoring, abuse handling, incident response, or an audit trail, save the query and context alongside the result:

  • the exact IPv4 or IPv6 address queried;
  • the source used, such as ARIN RDAP or a named routing-data view;
  • the time of the lookup, preferably with timezone or UTC notation;
  • the raw RDAP JSON or the relevant routing result, when available;
  • whether the finding concerns registration association or route origin.

This record is especially useful when you revisit a result later: ASN associations and route announcements are not guaranteed to remain unchanged.

Or skip the browser setup

ScreenshotNeo is a website screenshot API, not an ASN lookup service: it will not identify an ASN or replace RDAP or routing data. It can capture a lookup page or a raw RDAP URL as an image for a report. For example, this captures the RDAP response page for a documentation-range address; replace the target with the page you want to document. See the ScreenshotNeo API documentation for request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://rdap.arin.net/registry/ip/192.0.2.1 -o shot.webp

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ScreenshotNeo accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server gives AI agents tools for screenshots, page information, and PDF capture. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots. Those capture features are useful for documenting a lookup, not for deciding which ASN a result means.

Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, no card required.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.