ASN Lookup API - Free Autonomous System Number Lookup
IPBot returns network identity under network, including the originating ASN and organization.
Use ASN information for routing controls, allow/deny lists, and security analytics.
Identify ISP, hosting, business, or mobile networks automatically.
Get the company name behind any IP for allow/deny list management.
What is an ASN?
Section titled “What is an ASN?”An Autonomous System Number (ASN) is a unique identifier assigned to a collection of IP networks that operate under a single administrative domain. Every organization that needs to route traffic on the internet - ISPs, cloud providers, enterprises, universities - must have an ASN.
Think of an ASN as a company ID for the internet. When you see AS15169, that’s Google. AS13335 is Cloudflare. AS7922 is Comcast. The ASN tells you who operates the network, which is valuable for security, analytics, and access control.
ASN Allocation
Section titled “ASN Allocation”ASNs are assigned by Regional Internet Registries (RIRs):
| Registry | Region | Example Range |
|---|---|---|
| ARIN | North America | AS1 - AS65535 |
| RIPE NCC | Europe, Middle East | AS200000+ |
| APNIC | Asia-Pacific | Various |
| LACNIC | Latin America | Various |
| AFRINIC | Africa | Various |
There are over 100,000 assigned ASNs globally, with thousands of new assignments each year as more organizations connect to the internet.
Network Response Fields
Section titled “Network Response Fields”The IPBot API returns comprehensive network data:
{ "network": { "asn": "AS13335", "org": "Cloudflare, Inc.", "radar": "hosting" }}| Field | Description | Type | Example |
|---|---|---|---|
asn | Autonomous System Number | string | ”AS13335” |
org | Organization name | string | ”Cloudflare, Inc.” |
radar | Network classification | string | ”hosting” |
Network Classification (Radar)
Section titled “Network Classification (Radar)”The radar field classifies the type of network:
| Value | Description | Examples |
|---|---|---|
isp | Residential Internet Service Provider | Comcast, AT&T, BT |
hosting | Cloud/datacenter/hosting provider | AWS, Google Cloud, DigitalOcean |
business | Enterprise/corporate networks | Fortune 500 companies |
mobile | Mobile carrier networks | Verizon Wireless, T-Mobile |
This classification is critical for fraud detection - transactions from hosting IPs are often more suspicious than isp IPs.
Why ASN Lookup Matters
Section titled “Why ASN Lookup Matters”Security and Fraud Detection
Section titled “Security and Fraud Detection”75% of ecommerce businesses are increasing fraud prevention budgets in 2025. ASN lookup is a core component of fraud detection because it reveals the true nature of a connection:
const data = await fetch("https://api.ipbot.com/").then((r) => r.json());
// Flag datacenter connections for additional reviewif (data.network.radar === "hosting") { addFraudFlag("datacenter_ip", { asn: data.network.asn, org: data.network.org, });}
// Known VPN providersconst vpnAsns = ["AS9009", "AS212238", "AS62041"]; // Examplesif (vpnAsns.includes(data.network.asn)) { addFraudFlag("known_vpn_provider");}Traffic Analysis
Section titled “Traffic Analysis”Understanding your traffic sources helps optimize infrastructure and marketing:
async function analyzeTrafficSources() { const visitors = await getRecentVisitors(); const asnStats = {};
for (const ip of visitors) { const data = await fetch(`https://api.ipbot.com/${ip}`).then((r) => r.json(), ); const asn = data.network.asn;
asnStats[asn] = asnStats[asn] || { org: data.network.org, type: data.network.radar, count: 0, }; asnStats[asn].count++; }
// Find top ISPs serving your users return Object.entries(asnStats) .sort((a, b) => b[1].count - a[1].count) .slice(0, 10);}Access Control
Section titled “Access Control”Implement network-based access policies:
import requests
def check_access(client_ip: str) -> bool: data = requests.get(f"https://api.ipbot.com/{client_ip}").json()
# Block hosting/datacenter IPs from signup if data["network"]["radar"] == "hosting": return False, "Datacenter IPs not allowed for registration"
# Whitelist specific corporate networks allowed_asns = ["AS12345", "AS67890"] # Your corporate ASNs if data["network"]["asn"] in allowed_asns: return True, "Corporate network approved"
return True, "Access granted"Network Operations
Section titled “Network Operations”ASN data helps with:
- Peering decisions: Identify who sends you traffic
- CDN placement: Understand geographic distribution
- Troubleshooting: Identify problematic networks
- Capacity planning: Plan for growth from specific ISPs
Notable ASNs
Section titled “Notable ASNs”Here are some commonly encountered ASNs:
Cloud Providers
Section titled “Cloud Providers”| ASN | Organization | Notes |
|---|---|---|
| AS16509 | Amazon Web Services | Largest cloud provider |
| AS15169 | Google Cloud/Google | Also includes search infrastructure |
| AS8075 | Microsoft Azure | Major cloud platform |
| AS13335 | Cloudflare | CDN and security |
| AS14061 | DigitalOcean | Developer-focused hosting |
| AS14618 | Amazon AWS (alternate) | EC2 services |
Major ISPs
Section titled “Major ISPs”| ASN | Organization | Region |
|---|---|---|
| AS7922 | Comcast | US |
| AS7018 | AT&T | US |
| AS5089 | Virgin Media | UK |
| AS3320 | Deutsche Telekom | Germany |
| AS4134 | China Telecom | China |
| AS4837 | China Unicom | China |
VPN/Privacy Providers
Section titled “VPN/Privacy Providers”| ASN | Organization | Notes |
|---|---|---|
| AS9009 | M247 | Popular VPN hosting |
| AS62041 | Datacamp | VPN infrastructure |
| AS212238 | Datacamp Limited | VPN services |
Integration Examples
Section titled “Integration Examples”JavaScript
Section titled “JavaScript”async function getNetworkInfo(ip) { const response = await fetch(`https://api.ipbot.com/${ip}`); const data = await response.json();
return { asn: data.network.asn, organization: data.network.org, type: data.network.radar, isDatacenter: data.network.radar === "hosting", isResidential: data.network.radar === "isp", };}
// Usageconst network = await getNetworkInfo("8.8.8.8");console.log(`${network.organization} (${network.asn}) - ${network.type}`);// Output: "Google LLC (AS15169) - hosting"Python
Section titled “Python”import requestsfrom dataclasses import dataclassfrom typing import Literal
@dataclassclass NetworkInfo: asn: str org: str radar: Literal["isp", "hosting", "business", "mobile"]
@property def is_datacenter(self) -> bool: return self.radar == "hosting"
@property def is_residential(self) -> bool: return self.radar == "isp"
def get_network_info(ip: str) -> NetworkInfo: response = requests.get(f"https://api.ipbot.com/{ip}") data = response.json()
return NetworkInfo( asn=data["network"]["asn"], org=data["network"]["org"], radar=data["network"]["radar"] )
# Usagenetwork = get_network_info("8.8.8.8")print(f"{network.org} ({network.asn}) - datacenter: {network.is_datacenter}")cURL Examples
Section titled “cURL Examples”# Get network info for any IPcurl -s https://api.ipbot.com/8.8.8.8 | jq '.network'
# Get just the ASNcurl -s https://api.ipbot.com/1.1.1.1 | jq -r '.network.asn'# Output: AS13335
# Get organization namecurl -s https://api.ipbot.com/1.1.1.1 | jq -r '.network.org'# Output: Cloudflare, Inc.
# Check if datacentercurl -s https://api.ipbot.com/8.8.8.8 | jq -r '.network.radar'# Output: hosting
# Get both location and network for contextcurl -s https://api.ipbot.com/8.8.8.8 | jq '{location: .location.country, network: .network}'Use Cases
Section titled “Use Cases”Bot Detection
Section titled “Bot Detection”Datacenter IPs are often used by bots and scrapers:
async function assessBotRisk(clientIp, userAgent) { const data = await fetch(`https://api.ipbot.com/${clientIp}`).then((r) => r.json(), );
let botScore = 0;
// Datacenter IP if (data.network.radar === "hosting") { botScore += 40; }
// Known bot hosting ASNs const botHostingAsns = ["AS62567", "AS9009"]; if (botHostingAsns.includes(data.network.asn)) { botScore += 30; }
// Combine with user agent analysis if ( !userAgent || userAgent.includes("bot") || userAgent.includes("crawler") ) { botScore += 30; }
return { score: botScore, isLikelyBot: botScore >= 50 };}Competitive Intelligence
Section titled “Competitive Intelligence”Understand who is accessing your site:
// Track visits from competitor networksconst competitorAsns = { AS15169: "Google", AS14618: "Amazon", AS8075: "Microsoft",};
async function trackCompetitorVisit(ip, page) { const data = await fetch(`https://api.ipbot.com/${ip}`).then((r) => r.json());
if (competitorAsns[data.network.asn]) { analytics.track("competitor_visit", { company: competitorAsns[data.network.asn], page: page, asn: data.network.asn, }); }}Rate Limiting by Network Type
Section titled “Rate Limiting by Network Type”Apply different rate limits based on network classification:
def get_rate_limit(client_ip: str) -> int: data = requests.get(f"https://api.ipbot.com/{client_ip}").json()
if data["network"]["radar"] == "hosting": return 10 # Strict limit for datacenters elif data["network"]["radar"] == "mobile": return 100 # More lenient for mobile else: return 60 # Default for residentialRelated Documentation
Section titled “Related Documentation”- API Reference - Full endpoint documentation
- Response Schema - Complete field reference
- IP Geolocation - Location data
- Proxy Detection - VPN and proxy detection
- IP Reputation - Risk scoring and threat data