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.
Descripción general
Casos de uso
- Network diagnostics and troubleshooting
- Fraud detection and risk assessment
- Content delivery optimization
- Threat intelligence and IP reputation
- Network mapping and analytics
Funcionalidades
Puntos finales de la 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
Pruébalo
Demostración en vivoSolicitud
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| 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") |
Ejemplos de código
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)
Respuestas de error
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}
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| ip | string |
Obligatorio | The IP address to look up (supports IPv4 and IPv6) |
Pruébalo
Demostración en vivoSolicitud
The IP address to look up (supports IPv4 and IPv6)
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| 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") |
Ejemplos de código
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)
Respuestas de error
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
Parámetros
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| ips | array<string> |
Obligatorio | List of IP addresses to look up (1–50 items, each must be a valid IPv4 or IPv6 address). |
Pruébalo
Demostración en vivoSolicitud
List of IP addresses to look up (1–50 items, each must be a valid IPv4 or IPv6 address).
Campos de respuesta
| Campo | Tipo | Descripción |
|---|---|---|
| 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. |
Ejemplos de código
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
Respuestas de error
The ips array is missing, empty, exceeds 50 items, or contains an invalid IP address.
The request body is missing or malformed.