Skip to content
Start here

Get real-time BGP routes for a prefix

radar.bgp.routes.realtime(RouteRealtimeParams**kwargs) -> RouteRealtimeResponse
GET/radar/bgp/routes/realtime

Retrieves real-time BGP routes for a prefix, using public real-time data collectors (RouteViews and RIPE RIS).

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
User Details WriteUser Details Read
ParametersExpand Collapse
format: Optional[Literal["JSON", "CSV"]]

Format in which results will be returned.

One of the following:
"JSON"
"CSV"
prefix: Optional[str]
ReturnsExpand Collapse
class RouteRealtimeResponse:
meta: Meta
asn_info: List[MetaASNInfo]
as_name: str

Name of the autonomous system.

asn: int

AS number.

country_code: str

Alpha-2 code for the AS’s registration country.

org_id: str

Organization ID.

org_name: str

Organization name.

collectors: List[MetaCollector]
collector: str

Public route collector ID.

latest_realtime_ts: str

Latest real-time stream timestamp for this collector.

latest_rib_ts: str

Latest RIB dump MRT file timestamp for this collector.

latest_updates_ts: str

Latest BGP updates MRT file timestamp for this collector.

peers_count: int

Total number of collector peers used from this collector.

peers_v4_count: int

Total number of collector peers used from this collector for IPv4 prefixes.

peers_v6_count: int

Total number of collector peers used from this collector for IPv6 prefixes.

data_time: str

The most recent data timestamp for from the real-time sources.

prefix_origins: List[MetaPrefixOrigin]
origin: int

Origin ASN.

prefix: str

IP prefix of this query.

rpki_validation: str

Prefix-origin RPKI validation: valid, invalid, unknown.

total_peers: int

Total number of peers.

total_visible: int

Total number of peers seeing this prefix.

visibility: float

Ratio of peers seeing this prefix to total number of peers.

query_time: str

The timestamp of this query.

routes: List[Route]
as_path: List[int]

AS-level path for this route, from collector to origin.

collector: str

Public collector ID for this route.

communities: List[str]

BGP community values.

prefix: str

IP prefix of this query.

timestamp: str

Latest timestamp of change for this route.

Get real-time BGP routes for a prefix

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
response = client.radar.bgp.routes.realtime()
print(response.meta)
{
  "result": {
    "meta": {
      "asn_info": [
        {
          "as_name": "as_name",
          "asn": 0,
          "country_code": "country_code",
          "org_id": "org_id",
          "org_name": "org_name"
        }
      ],
      "collectors": [
        {
          "collector": "collector",
          "latest_realtime_ts": "latest_realtime_ts",
          "latest_rib_ts": "latest_rib_ts",
          "latest_updates_ts": "latest_updates_ts",
          "peers_count": 0,
          "peers_v4_count": 0,
          "peers_v6_count": 0
        }
      ],
      "data_time": "data_time",
      "prefix_origins": [
        {
          "origin": 0,
          "prefix": "prefix",
          "rpki_validation": "rpki_validation",
          "total_peers": 0,
          "total_visible": 0,
          "visibility": 0
        }
      ],
      "query_time": "query_time"
    },
    "routes": [
      {
        "as_path": [
          0
        ],
        "collector": "collector",
        "communities": [
          "string"
        ],
        "prefix": "prefix",
        "timestamp": "timestamp"
      }
    ]
  },
  "success": true
}
Returns Examples
{
  "result": {
    "meta": {
      "asn_info": [
        {
          "as_name": "as_name",
          "asn": 0,
          "country_code": "country_code",
          "org_id": "org_id",
          "org_name": "org_name"
        }
      ],
      "collectors": [
        {
          "collector": "collector",
          "latest_realtime_ts": "latest_realtime_ts",
          "latest_rib_ts": "latest_rib_ts",
          "latest_updates_ts": "latest_updates_ts",
          "peers_count": 0,
          "peers_v4_count": 0,
          "peers_v6_count": 0
        }
      ],
      "data_time": "data_time",
      "prefix_origins": [
        {
          "origin": 0,
          "prefix": "prefix",
          "rpki_validation": "rpki_validation",
          "total_peers": 0,
          "total_visible": 0,
          "visibility": 0
        }
      ],
      "query_time": "query_time"
    },
    "routes": [
      {
        "as_path": [
          0
        ],
        "collector": "collector",
        "communities": [
          "string"
        ],
        "prefix": "prefix",
        "timestamp": "timestamp"
      }
    ]
  },
  "success": true
}