BizKitHub
DocsAPI ReferenceVikitron/api/v1/vikitron/as-lookup
getVikitronPublic API v1

/api/v1/vikitron/as-lookup

Returns everything the platform knows about an Autonomous System (ASN): registered organisation, aggregated statistics across all IPs the platform has ever indexed under that AS (countries, cities, ISPs, timezones, connection-flag percentages), a detected country/city when ≥ 80 % of the indexed IPs agree, and up to 50 example IPs.

vikitrongetApiV1VikitronAs-lookup

Parameters

1 query

Query parameters

· 1
asstringRequired

Autonomous System number, with or without the "AS" prefix.

ExampleAS16019

Response schema

1 status code documented

200SuccessAutonomous System detail.
asNumberstringRequired

Canonical AS number.

ExampleAS16019
asNamestringRequired

AS name as published by the RIR / MaxMind.

organizationstringRequired

Organisation that operates the AS.

ipCountnumberRequired

Total IPs indexed by the platform under this AS.

detectedCountryobjectOptional

Present only when a single country accounts for ≥ 80 % of the indexed IPs under this AS.

codestringRequired

ISO-3166 alpha-2 country code.

ExampleCZ
confidencePercentnumberRequired

Share of indexed IPs that resolve to this country (0–100).

detectedCityobjectOptional

Present only when a single city accounts for ≥ 80 % of the indexed IPs under this AS.

citystringRequired

City name.

countrystringRequired

ISO-3166 alpha-2 country code of the city.

confidencePercentnumberRequired

Share of indexed IPs that resolve to this city (0–100).

countriesobject[]Required

Top countries by indexed IP count (up to 20).

Each array item:
countrystringRequired

ISO-3166 alpha-2 country code.

countnumberRequired

IPs under this AS resolving to this country.

percentnumberRequired

Share of all indexed IPs (0–100).

citiesobject[]Required

Top cities by indexed IP count (up to 20).

Each array item:
citystringRequired

City name.

countrystringRequired

ISO-3166 alpha-2 country code of the city.

countnumberRequired

IPs under this AS resolving to this city.

percentnumberRequired

Share of all indexed IPs (0–100).

ispsobject[]Required

Top ISPs seen under this AS (up to 10).

Each array item:
ispstringRequired

ISP name.

countnumberRequired

IPs under this AS reporting this ISP.

organisationsobject[]Required

Top block-owner organisations seen under this AS (up to 10).

Each array item:
organisationstringRequired

IP block owner organisation name.

countnumberRequired

IPs under this AS reporting this organisation.

timezonesobject[]Required

Top timezones seen under this AS (up to 10).

Each array item:
timezonestringRequired

IANA timezone identifier.

ExampleEurope/Prague
countnumberRequired

IPs under this AS resolving to this timezone.

connectionFlagsobjectRequired

Aggregate connection-type signal for the AS.

mobilePercentnumberRequired

Share of indexed IPs flagged as mobile (0–100).

proxyPercentnumberRequired

Share of indexed IPs flagged as proxy/VPN (0–100).

hostingPercentnumberRequired

Share of indexed IPs flagged as hosting/DC (0–100).

torPercentnumberRequired

Share of indexed IPs flagged as Tor exit (0–100).

examplesobject[]Required

Up to 50 example IPs indexed under this AS, most-recently-updated first. Each item is a valid target for the IP-lookup endpoint.

Each array item:
ipstringRequired

Accepted formats:

  • IPv4 dot-decimal, e.g. 1.1.1.1 (4 octets, 0–255, no leading zeros).
  • IPv6 as defined by RFC 4291 — full 2001:0db8:0000:0000:0000:0000:0000:0001, zero-compressed 2001:db8::1, IPv4-mapped ::ffff:1.2.3.4, or scoped literals. Both upper- and lower-case hex are accepted.

Server-side canonicalization (ipNormalize in core/src/lib/network/ipNormalize.ts):

  • Valid IPv4 is passed through verbatim.
  • Valid IPv6 is lowercased (RFC 5952 §4.3).
  • IPv4-mapped IPv6 ::ffff:X.X.X.X is unwrapped to plain IPv4 (RFC 4291 §2.5.5.2) so 1.2.3.4 and ::ffff:1.2.3.4 share one brj__geo_ip row.
  • Loopback aliases (::1, 0.0.0.0, localhost, empty string) collapse to 127.0.0.1.
  • Junk values that fail both IPv4 and IPv6 validation are silently rejected and replaced with 127.0.0.1 (loopback).

On the wire: every response returns the canonicalized form — clients can safely rely on lowercase IPv6 and the plain-IPv4 unwrap when de-duping or joining. Server-originated writers (activity log, session log, ban list) resolve the visitor IP via resolveClientIp / resolveClientIpOrNull — always native IPv6 on Vercel Edge (there is no auto-mapping to ::ffff:X.X.X.X).

Enrichment: the system resolves reverse DNS, geolocation, ASN, mobile/proxy/hosting/Tor flags via our VikiTron GEO/IP resolver for both address families. Learn more

Examples1.1.1.12001:4860:4860::8888
hostnamestring | nullRequired
One of 2:
Variant 1
string

Reverse DNS hostname of the IP.

Variant 2
null
citystring | nullRequired
One of 2:
Variant 1
string

City name.

Variant 2
null
countrystring | nullRequired
One of 2:
Variant 1
string

ISO-3166 alpha-2 country code.

Variant 2
null
countryRegionstring | nullRequired
One of 2:
Variant 1
string

Region / state within the country.

Variant 2
null
ispstring | nullRequired
One of 2:
Variant 1
string

ISP name for this specific IP.

Variant 2
null
organisationstring | nullRequired
One of 2:
Variant 1
string

Block owner organisation for this IP.

Variant 2
null
mobilebooleanRequired

Whether this IP is flagged as mobile.

proxybooleanRequired

Whether this IP is flagged as proxy/VPN.

hostingbooleanRequired

Whether this IP is flagged as hosting/DC.

torbooleanRequired

Whether this IP is a known Tor exit node.

heNetUrlstringRequired

External BGP report on HE.net for this AS.

Examplehttps://bgp.he.net/AS16019

Response example

application/json
{
  "asNumber": "AS16019",
  "asName": "example_asName",
  "organization": "example_organization",
  "ipCount": 0,
  "detectedCountry": {
    "code": "CZ",
    "confidencePercent": 0
  },
  "detectedCity": {
    "city": "example_city",
    "country": "example_country",
    "confidencePercent": 0
  },
  "countries": [
    {
      "country": "example_country",
      "count": 0,
      "percent": 0
    }
  ],
  "cities": [
    {
      "city": "example_city",
      "country": "example_country",
      "count": 0,
      "percent": 0
    }
  ],
  "isps": [
    {
      "isp": "example_isp",
      "count": 0
    }
  ],
  "organisations": [
    {
      "organisation": "example_organisation",
      "count": 0
    }
  ],
  "timezones": [
    {
      "timezone": "Europe/Prague",
      "count": 0
    }
  ],
  "connectionFlags": {
    "mobilePercent": 0,
    "proxyPercent": 0,
    "hostingPercent": 0,
    "torPercent": 0
  },
  "examples": [
    {
      "ip": "1.1.1.1",
      "mobile": false,
      "proxy": false,
      "hosting": false,
      "tor": false
    }
  ],
  "heNetUrl": "https://bgp.he.net/AS16019"
}

Request example

GET /api/v1/vikitron/as-lookup

get
curl -X GET "https://api.bizkithub.com/api/v1/vikitron/as-lookup?as=AS16019" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY"

Need an API key?

All BizKitHub public API endpoints require authentication via API key.

Get API Key