Live · RIR WHOIS + BGP prefixes
ASN Lookup
NOC Operator Toolkit
Look up the registrant details for any autonomous system, and on request the prefixes it originates in the global routing table. Free. No API key. No rate limits (be reasonable).
Live Demo
Query an ASN
Enter an AS number, with or without the “AS” prefix.
Examples:
AS15169 · Google
AS13335 · Cloudflare
AS3356 · Lumen
AS32934 · Meta
AS2906 · Netflix
Enter an ASN above and click Lookup to see the response.
Reference
API Documentation
No authentication required. CORS headers are included on all responses.
GET/?asn={number}
Look up an autonomous system. Always returns RIR WHOIS registrant data and per-family prefix counts (IPv4 / IPv6). Pass prefixes=true to also include the prefix lists.
| Parameter | Type | Description |
|---|---|---|
| asn | string | An AS number, with or without the AS prefix (15169 or AS15169). |
| prefixes | boolean | Set to true to include the IPv4 and IPv6 prefix lists this ASN originates. Optional; defaults to false. |
# WHOIS only (default)
curl -s "https://notoolkit.com/?asn=15169" | jq .
# include originated prefixes
curl -s "https://notoolkit.com/?asn=15169&prefixes=true" | jq .
POST/
Identical lookup via JSON body. Add "prefixes": true to include originated prefixes.
# cURL example
curl -s -X POST https://notoolkit.com/ \
-H 'Content-Type: application/json' \
-d '{"asn":"15169","prefixes":true}' | jq .
Response Fields
| Field | Type | Description |
|---|---|---|
| query | string | The normalised ASN you submitted (e.g. AS15169). |
| asn | integer | The autonomous system number. |
| asn_name | string | Short AS name from the RIR. |
| org_name | string | Full registered organisation name. |
| country | string | ISO 3166-1 alpha-2 country code of the registrant. |
| description | string | Free-text description / remarks from the RIR record. |
| rir | string | Registry holding the ASN: ARIN, RIPE, APNIC, LACNIC, or AFRINIC. |
| whois_raw | string | First 4 KB of the raw WHOIS response for the ASN. |
| prefix_count | object | Prefix counts originated by this ASN, split by family: { "ipv4": int, "ipv6": int }. Always present. |
| prefixes | object | Originated prefixes split by family: { "ipv4": [...], "ipv6": [...] } (each list capped at 1000; see prefix_count for the true totals). Only present when prefixes=true. |
| cache_hit | boolean | true if the WHOIS data was served from the Redis cache (24-hour TTL). |
Error Responses
| HTTP | Meaning |
|---|---|
400 | Missing or invalid asn parameter. |
404 | No routing-table or WHOIS data found for the ASN. |
503 | Database temporarily unavailable. |
FAQ
Common Questions
What does the ASN lookup return?
Always the RIR WHOIS registrant data for the AS (name, organisation, country, registry), the same data the IP→ASN tool shows, plus per-family prefix counts (IPv4 and IPv6). Opt in with
prefixes=true (or the checkbox above) to also get the prefix lists themselves, split into IPv4 and IPv6 and sourced from the RouteViews BGP table.Where do the announced prefixes come from?
From the same RouteViews BGP table that powers the IP→ASN tool, imported every 4 hours. The list reflects what the AS is originating as of the most recent import.
Why is a prefix_count sometimes 0?
An ASN can be registered with a RIR but not currently originate any prefixes of a given family in the global table (for example a transit-only AS, or one that announces IPv4 but no IPv6). In that case the relevant count is 0, and if you requested prefixes the matching list is empty. You still get the WHOIS data.
Is it free and rate-limited?
Free, no API key, no account. Please stay under 100 requests per second as a courtesy.