ASN Lookup
Look up Autonomous System Number (ASN), organization, ISP, domain, and network route information for any IP address. Use this endpoint to identify which organization or ISP owns an IP address and understand the network topology.
Vue d'ensemble
Cas d'utilisation
- Network diagnostics and troubleshooting
- Fraud detection and risk assessment
- Content delivery optimization
- Threat intelligence and IP reputation
- Network mapping and analytics
Fonctionnalités
Points de terminaison de l'API
Lookup ASN (Caller IP)
Look up ASN, organization, ISP, and network details for the requesting client's IP address. Useful when you want information about the user making the request without specifying an IP explicitly.
https://requiems.xyz/v1/networking/ip/asn
Essayez-le
Démo en directRequête
Champs de réponse
| Champ | Type | Description |
|---|---|---|
| ip | string |
The IP address that was looked up (the requesting client's IP) |
| asn | string |
Autonomous System Number in format "ASxxxx" (e.g., "AS15169") |
| org | string |
Organization name owning the IP address range |
| isp | string |
Internet Service Provider providing the IP |
| domain | string |
Domain name associated with the IP or IP range |
| route | string |
CIDR notation of the network route (e.g., "8.8.8.0/24") |
| type | string |
Type of network (e.g., "hosting", "isp", "business", "cdn") |
Exemples de code
curl "https://requiems.xyz/v1/networking/ip/asn" \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://requiems.xyz/v1/networking/ip/asn"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch('https://requiems.xyz/v1/networking/ip/asn', {
headers: { 'requiems-api-key': 'YOUR_API_KEY' }
});
const data = await response.json();
console.log(data.data.asn, data.data.org);
require 'net/http'
uri = URI('https://requiems.xyz/v1/networking/ip/asn')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.parse(response.body)
Réponses d'erreur
Unexpected server error
Lookup ASN for IP
Look up ASN, organization, ISP, and network details for a specific IP address.
https://requiems.xyz/v1/networking/ip/asn/{ip}
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| ip | string |
Requis | The IP address to look up (supports IPv4 and IPv6) |
Essayez-le
Démo en directRequête
The IP address to look up (supports IPv4 and IPv6)
Champs de réponse
| Champ | Type | Description |
|---|---|---|
| ip | string |
The IP address that was looked up |
| asn | string |
Autonomous System Number in format "ASxxxx" (e.g., "AS15169") |
| org | string |
Organization name owning the IP address range |
| isp | string |
Internet Service Provider providing the IP |
| domain | string |
Domain name associated with the IP or IP range |
| route | string |
CIDR notation of the network route (e.g., "8.8.8.0/24") |
| type | string |
Type of network (e.g., "hosting", "isp", "business", "cdn") |
Exemples de code
curl "https://requiems.xyz/v1/networking/ip/asn/8.8.8.8" \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://requiems.xyz/v1/networking/ip/asn/8.8.8.8"
headers = {"requiems-api-key": "YOUR_API_KEY"}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch('https://requiems.xyz/v1/networking/ip/asn/8.8.8.8', {
headers: { 'requiems-api-key': 'YOUR_API_KEY' }
});
const data = await response.json();
console.log(data.data.asn, data.data.org);
require 'net/http'
uri = URI('https://requiems.xyz/v1/networking/ip/asn/8.8.8.8')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.parse(response.body)
Réponses d'erreur
The IP address is invalid
Unexpected server error
Batch ASN Lookup
Look up ASN data for up to 50 IP addresses in a single request. Results are returned in input order. Private and reserved IPs return an empty result with no error.
https://requiems.xyz/v1/networking/ip/asn/batch
Paramètres
| Nom | Type | Requis | Description |
|---|---|---|---|
| ips | array<string> |
Requis | List of IP addresses to look up (1–50 items, each must be a valid IPv4 or IPv6 address). |
Essayez-le
Démo en directRequête
List of IP addresses to look up (1–50 items, each must be a valid IPv4 or IPv6 address).
Champs de réponse
| Champ | Type | Description |
|---|---|---|
| results | array<object> |
Per-item results in input order. |
| results[].ip | string |
The IP address that was looked up. |
| results[].result | object |
ASN data (omitted on error). Same fields as the single-item endpoint. |
| results[].error | string |
Error message if the lookup failed (omitted on success). |
| total | integer |
Total number of items processed. |
Exemples de code
curl -X POST https://requiems.xyz/v1/networking/ip/asn/batch \
-H "requiems-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ips": ["8.8.8.8", "1.1.1.1"]}'
import requests
url = "https://requiems.xyz/v1/networking/ip/asn/batch"
headers = {
"requiems-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {"ips": ["8.8.8.8", "1.1.1.1"]}
response = requests.post(url, headers=headers, json=payload)
for item in response.json()["data"]["results"]:
if item.get("result"):
print(item["ip"], item["result"]["asn"], item["result"]["org"])
const response = await fetch('https://requiems.xyz/v1/networking/ip/asn/batch', {
method: 'POST',
headers: {
'requiems-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({ ips: ['8.8.8.8', '1.1.1.1'] })
});
const { data } = await response.json();
data.results.forEach(item => {
if (item.result) console.log(item.ip, item.result.asn, item.result.org);
});
require 'net/http'
require 'json'
uri = URI('https://requiems.xyz/v1/networking/ip/asn/batch')
request = Net::HTTP::Post.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
request['Content-Type'] = 'application/json'
request.body = { ips: ['8.8.8.8', '1.1.1.1'] }.to_json
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)['data']
data['results'].each do |item|
puts "#{item['ip']}: #{item['result']['asn']} #{item['result']['org']}" if item['result']
end
Réponses d'erreur
The ips array is missing, empty, exceeds 50 items, or contains an invalid IP address.
The request body is missing or malformed.