Open-Source BGP Data Toolkit

High-performance tools for BGP data discovery, parsing, and investigation. Built by network operators, for network operators.

Step 1
Discover files (Broker)
Select a time window, collectors, and dump type to get deterministic URLs.
ts_start / ts_end → URL list
Step 2
Parse data (Parser)
Stream parse MRT/BGP/BMP and apply filters early to reduce CPU and output.
BgpElem iterator + filters
Step 3
Investigate (Monocle)
Use a single CLI for search, parse, inspect, and RPKI validation with local caching.
inspect / search / rpki
discover parse investigate
70+
BGP Collectors
1000+
Full-feed Peers
<5min
Data Delay
MIT
Licensed

Get Started with BGPKIT SDKs

Search BGP archives and parse data with our SDKs. Available in Rust and Python.

Search BGP files and find relevant announcements
use bgpkit_broker::BgpkitBroker;
use bgpkit_parser::BgpkitParser;

// Find UPDATE files within a time window, then parse them.
// Broker timestamps accept RFC3339, unix, or pure dates.
let broker = BgpkitBroker::new()
    .ts_start("2024-01-01T00:00:00Z")
    .ts_end("2024-01-01T01:00:00Z")
    .data_type("updates");

// Parse each matching file and print elements originated from AS13335.
for item in broker.into_iter().take(3) {
    let parser = BgpkitParser::new(&item.url)
        .unwrap()
        .add_filter("origin_asn", "13335").unwrap();

    for elem in parser {
        println!("{}", elem);
    }
}

Why Choose BGPKIT?

Built for performance, designed for simplicity

High Performance

Built in Rust for maximum speed. Comparable to C-based implementations like bgpdump.

Easy to Use

Ergonomic SDKs that get you started with just a few lines of code. Battery-included with remote file support.

Actively Maintained

Regular updates, bug fixes, and support for the latest BGP RFCs. Community-driven development.

Open Source

MIT licensed and completely open source. Use it anywhere, contribute back, or build commercial products.

BGPKIT Parser

v0.14.0

High-performance MRT/BGP/BMP message parsing library with ergonomic SDKs. Built for speed, designed for simplicity.

Multiple Formats

Supports MRT, BGP, BMP messages. Handles both local and remote files with automatic decompression.

Powerful Filtering

Built-in filter system for prefix, ASN, peer, time range, and AS path filtering.

Real-time Streaming

Support for real-time data streams including RIS-Live and BMP/OpenBMP messages.

Parse BGP data with filters
use bgpkit_parser::BgpkitParser;

// Filter by IP prefix during parsing (built-in filter mechanism)
let parser = BgpkitParser::new(
    "http://archive.routeviews.org/bgpdata/2021.10/UPDATES/updates.20211001.0000.bz2"
).unwrap()
    .add_filter("prefix", "211.98.251.0/24").unwrap();

for elem in parser {
    println!("{}", elem);
}
Search BGP archives with advanced filters
use bgpkit_broker::BgpkitBroker;

// Configure broker with builder pattern
let broker = BgpkitBroker::new()
    .ts_start("2022-01-01")              // RFC3339, Unix epoch, or pure dates
    .ts_end("2022-01-02T00:00:00Z")
    .collector_id("rrc00,route-views2")  // comma-separated collectors
    .project("riperis")                   // "riperis" or "routeviews"
    .data_type("rib")                     // "rib" or "updates"
    .page_size(100)                       // 1-100000
    .page(1);

// Iterate (auto-pagination)
for item in &broker {
    println!("{}", item);
}

BGPKIT Broker

v0.10.1

Search and discover BGP archive files across public data collection projects. Real-time indexing with powerful filtering capabilities.

Real-time Indexing

BGP data files are indexed in near real-time with less than 2 minutes delay.

Multiple Data Sources

Indexes data from RouteViews and RIPE RIS with 70+ collectors and 1000+ full-feed peers.

Self-hostable

Deploy your own broker instance with Docker or CLI for custom data sources and privacy.

🧐

Monocle

v1.0.2

See through all Border Gateway Protocol (BGP) data with a monocle. All-in-one CLI tool for BGP data investigation, analysis, and monitoring.

All-in-One Tool

Parse, search, analyze - everything you need for BGP data investigation in one command.

RPKI Integration

Built-in RPKI validation, ROA parsing, and prefix origin validation using Cloudflare's validator.

Rich Utilities

Time conversion, country lookups, AS information, and IP address details - all built-in.

One tool, infinite possibilities
# Search for BGP announcements for a prefix during a time window
monocle search -t 2024-01-01T00:00:00Z -T 2024-01-01T00:01:00Z   -c rrc00 -p 1.1.1.0/24 -m a

# Inspect an ASN (unified lookup)
monocle inspect 13335

# Validate a prefix-ASN pair with cached RPKI data
monocle rpki validate 1.1.1.0/24 13335

Trusted by Industry Leaders

Organizations worldwide rely on BGPKIT for BGP data analysis

Using BGPKIT in production? Let us know!

Open-Source Sponsors

Thanks to our amazing sponsors who support BGPKIT development

Want to support BGPKIT development?

Become a Sponsor

Ready to Get Started?

Join thousands of developers and researchers using BGPKIT for BGP data analysis. Start your journey into BGP data processing today.