Open-Source BGP Data Toolkit
Get Started with BGPKIT SDKs
Search BGP archives and parse data with our SDKs. Available in Rust and Python.
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.0High-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.
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);
} 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.1Search 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.2See 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.
# 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 SponsorReady to Get Started?
Join thousands of developers and researchers using BGPKIT for BGP data analysis. Start your journey into BGP data processing today.