Get BGP hijack events
GET /radar/bgp/hijacks/events
Retrieves the BGP hijack events.
Responses
200 Successful response.
Data is at
body["result"]
{
"asn_info": [
{
"asn": "*integer*",
"country_code": "*string*",
"org_name": "*string*"
}
],
"events": [
{
"confidence_score": "*integer*",
"duration": "*integer*",
"event_type": "*integer*",
"hijack_msgs_count": "*integer*",
"hijacker_asn": "*integer*",
"hijacker_country": "*string*",
"id": "*integer*",
"is_stale": "*boolean*",
"max_hijack_ts": "*string*",
"max_msg_ts": "*string*",
"min_hijack_ts": "*string*",
"on_going_count": "*integer*",
"peer_asns": [
"*integer*"
],
"peer_ip_count": "*integer*",
"prefixes": [
"*string*"
],
"tags": [
{
"name": "*string*",
"score": "*integer*"
}
],
"victim_asns": [
"*integer*"
],
"victim_countries": [
"*string*"
]
}
],
"total_monitors": "*integer*"
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get announced IP address space time series
GET /radar/bgp/ips/timeseries
Retrieves time series data for the announced IP space count, represented as the number of IPv4 /24s and IPv6 /48s, for a given ASN.
Responses
200 Successful response.
Data is at
body["result"]
{
"meta": {
"aggInterval": "*string*",
"confidenceInfo": {
"annotations": [
{
"dataSource": "*string*",
"description": "*string*",
"endDate": "*string*",
"eventType": "*string*",
"isInstantaneous": "*boolean*",
"linkedUrl": "*string*",
"startDate": "*string*"
}
],
"level": "*integer*"
},
"dateRange": [
{
"endTime": "*string*",
"startTime": "*string*"
}
],
"delay": {
"asn_data": {
"delaySecs": "*number*",
"delayStr": "*string*",
"healthy": "*boolean*",
"latest": {
"entries_count": "*number*",
"path": "*string*",
"timestamp": "*number*"
}
},
"country_data": {
"delaySecs": "*number*",
"delayStr": "*string*",
"healthy": "*boolean*",
"latest": {
"count": "*number*",
"timestamp": "*number*"
}
},
"healthy": "*boolean*",
"nowTs": "*number*"
},
"lastUpdated": "*string*",
"normalization": "*string*",
"units": [
{
"name": "*string*",
"value": "*string*"
}
]
},
"serie_0": {
"ipv4": [
"*string*"
],
"ipv6": [
"*string*"
],
"timestamps": [
"*string*"
]
}
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get BGP route leak events
GET /radar/bgp/leaks/events
Retrieves the BGP route leak events.
Responses
200 Successful response.
Data is at
body["result"]
{
"asn_info": [
{
"asn": "*integer*",
"country_code": "*string*",
"org_name": "*string*"
}
],
"events": [
{
"countries": [
"*string*"
],
"detected_ts": "*string*",
"finished": "*boolean*",
"id": "*integer*",
"leak_asn": "*integer*",
"leak_count": "*integer*",
"leak_seg": [
"*integer*"
],
"leak_type": "*integer*",
"max_ts": "*string*",
"min_ts": "*string*",
"origin_count": "*integer*",
"peer_count": "*integer*",
"prefix_count": "*integer*"
}
]
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}List ASes from global routing tables
GET /radar/bgp/routes/ases
Retrieves all ASes in the current global routing tables with routing statistics.
Responses
200 Successful response.
Data is at
body["result"]
{
"asns": [
{
"asn": "*integer*",
"coneSize": "*integer*",
"country": "*string*",
"ipv4Count": "*integer*",
"ipv6Count": "*string*",
"name": "*string*",
"pfxsCount": "*integer*",
"rpkiInvalid": "*integer*",
"rpkiUnknown": "*integer*",
"rpkiValid": "*integer*"
}
],
"meta": {
"dataTime": "*string*",
"queryTime": "*string*",
"totalPeers": "*integer*"
}
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get Multi-Origin AS (MOAS) prefixes
GET /radar/bgp/routes/moas
Retrieves all Multi-Origin AS (MOAS) prefixes in the global routing tables.
Responses
200 Successful response.
Data is at
body["result"]
{
"meta": {
"data_time": "*string*",
"query_time": "*string*",
"total_peers": "*integer*"
},
"moas": [
{
"origins": [
{
"origin": "*integer*",
"peer_count": "*integer*",
"rpki_validation": "*string*"
}
],
"prefix": "*string*"
}
]
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get prefix-to-ASN mapping
GET /radar/bgp/routes/pfx2as
Retrieves the prefix-to-ASN mapping from global routing tables.
Responses
200 Successful response.
Data is at
body["result"]
{
"meta": {
"data_time": "*string*",
"query_time": "*string*",
"total_peers": "*integer*"
},
"prefix_origins": [
{
"origin": "*integer*",
"peer_count": "*integer*",
"prefix": "*string*",
"rpki_validation": "*string*"
}
]
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get real-time BGP routes for a prefix
GET /radar/bgp/routes/realtime
Retrieves real-time BGP routes for a prefix, using public real-time data collectors (RouteViews and RIPE RIS).
Responses
200 Successful response.
Data is at
body["result"]
{
"meta": {
"asn_info": [
{
"as_name": "*string*",
"asn": "*integer*",
"country_code": "*string*",
"org_id": "*string*",
"org_name": "*string*"
}
],
"collectors": [
{
"collector": "*string*",
"latest_realtime_ts": "*string*",
"latest_rib_ts": "*string*",
"latest_updates_ts": "*string*",
"peers_count": "*integer*",
"peers_v4_count": "*integer*",
"peers_v6_count": "*integer*"
}
],
"data_time": "*string*",
"prefix_origins": [
{
"origin": "*integer*",
"prefix": "*string*",
"rpki_validation": "*string*",
"total_peers": "*integer*",
"total_visible": "*integer*",
"visibility": "*number*"
}
],
"query_time": "*string*"
},
"routes": [
{
"as_path": [
"*integer*"
],
"collector": "*string*",
"communities": [
"*string*"
],
"prefix": "*string*",
"timestamp": "*string*"
}
]
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get BGP routing table stats
GET /radar/bgp/routes/stats
Retrieves the BGP routing table stats.
Responses
200 Successful response.
Data is at
body["result"]
{
"meta": {
"data_time": "*string*",
"query_time": "*string*",
"total_peers": "*integer*"
},
"stats": {
"distinct_origins": "*integer*",
"distinct_origins_ipv4": "*integer*",
"distinct_origins_ipv6": "*integer*",
"distinct_prefixes": "*integer*",
"distinct_prefixes_ipv4": "*integer*",
"distinct_prefixes_ipv6": "*integer*",
"routes_invalid": "*integer*",
"routes_invalid_ipv4": "*integer*",
"routes_invalid_ipv6": "*integer*",
"routes_total": "*integer*",
"routes_total_ipv4": "*integer*",
"routes_total_ipv6": "*integer*",
"routes_unknown": "*integer*",
"routes_unknown_ipv4": "*integer*",
"routes_unknown_ipv6": "*integer*",
"routes_valid": "*integer*",
"routes_valid_ipv4": "*integer*",
"routes_valid_ipv6": "*integer*"
}
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get ASPA changes over time
GET /radar/bgp/rpki/aspa/changes
Retrieves ASPA (Autonomous System Provider Authorization) changes over time. Returns daily aggregated changes including additions, removals, and modifications of ASPA objects.
Responses
200 Successful response.
Data is at
body["result"]
{
"asnInfo": {
"13335": {
"asn": "*integer*",
"country": "*string*",
"name": "*string*"
}
},
"changes": [
{
"customersAdded": "*integer*",
"customersRemoved": "*integer*",
"date": "*string*",
"entries": [
{
"customerAsn": "*integer*",
"providers": [
null
],
"type": "*string*"
}
],
"providersAdded": "*integer*",
"providersRemoved": "*integer*",
"totalCount": "*integer*"
}
],
"meta": {
"dataTime": "*string*",
"queryTime": "*string*"
}
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get ASPA objects snapshot
GET /radar/bgp/rpki/aspa/snapshot
Retrieves current or historical ASPA (Autonomous System Provider Authorization) objects. ASPA objects define which ASNs are authorized upstream providers for a customer ASN.
Responses
200 Successful response.
Data is at
body["result"]
{
"asnInfo": {
"13335": {
"asn": "*integer*",
"country": "*string*",
"name": "*string*"
}
},
"aspaObjects": [
{
"customerAsn": "*integer*",
"providers": [
"*integer*"
]
}
],
"meta": {
"dataTime": "*string*",
"queryTime": "*string*",
"totalCount": "*integer*"
}
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get ASPA count time series
GET /radar/bgp/rpki/aspa/timeseries
Retrieves ASPA (Autonomous System Provider Authorization) object count over time. Supports filtering by RIR or location (country code) to generate multiple named series. If no RIR or location filter is specified, returns total count.
Responses
200 Successful response.
Data is at
body["result"]
{
"meta": {
"dataTime": "*string*",
"queryTime": "*string*"
},
"serie_0": {
"timestamps": [
"*string*"
],
"values": [
"*string*"
]
}
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get BGP time series
GET /radar/bgp/timeseries
Retrieves BGP updates over time. When requesting updates for an autonomous system, only BGP updates of type announcement are returned.
Responses
200 Successful response.
Data is at
body["result"]
{
"meta": {
"aggInterval": "*string*",
"confidenceInfo": {
"annotations": [
{
"dataSource": "*string*",
"description": "*string*",
"endDate": "*string*",
"eventType": "*string*",
"isInstantaneous": "*boolean*",
"linkedUrl": "*string*",
"startDate": "*string*"
}
],
"level": "*integer*"
},
"dateRange": [
{
"endTime": "*string*",
"startTime": "*string*"
}
],
"lastUpdated": "*string*"
},
"serie_0": {
"timestamps": [
"*string*"
],
"values": [
"*string*"
]
}
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get top ASes by BGP updates
GET /radar/bgp/top/ases
Retrieves the top autonomous systems by BGP updates (announcements only).
Responses
200 Successful response.
Data is at
body["result"]
{
"meta": {
"dateRange": [
{
"endTime": "*string*",
"startTime": "*string*"
}
]
},
"top_0": [
{
"ASName": "*string*",
"asn": "*integer*",
"value": "*string*"
}
]
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}Get top ASes by prefix count
GET /radar/bgp/top/ases/prefixes
Retrieves the full list of autonomous systems on the global routing table ordered by announced prefixes count. The data comes from public BGP MRT data archives and updates every 2 hours.
Responses
200 Successful response.
Data is at
body["result"]
{
"asns": [
{
"asn": "*integer*",
"country": "*string*",
"name": "*string*",
"pfxs_count": "*integer*"
}
],
"meta": {
"data_time": "*string*",
"query_time": "*string*",
"total_peers": "*integer*"
}
}404 Not found.
{
"error": "*string*"
}Get top prefixes by BGP updates
GET /radar/bgp/top/prefixes
Retrieves the top network prefixes by BGP updates.
Responses
200 Successful response.
Data is at
body["result"]
{
"meta": {
"dateRange": [
{
"endTime": "*string*",
"startTime": "*string*"
}
]
},
"top_0": [
{
"prefix": "*string*",
"value": "*string*"
}
]
}400 Bad request.
{
"errors": [
{
"message": "*string*"
}
],
"result": {},
"success": "*boolean*"
}