Vail ReRBN API Documentation
Welcome to the Vail ReRBN API! Access real-time and historical ham radio spot data from the Reverse Beacon Network.
No Authentication
All endpoints are freely accessible. Start using the API immediately.
100 Requests/Minute
Generous rate limits for monitoring and data analysis.
Real-Time Data
Live spots from RBN telnet servers, updated continuously.
Your First API Call
Get the most recent spots for W1AW:
curl "https://vailrerbn.com/api/v1/spots?call=W1AW&mode=CW&band=20m"
import requests
response = requests.get(
"https://vailrerbn.com/api/v1/spots",
params={
"call": "W1AW",
"mode": "CW",
"band": "20m"
}
)
data = response.json()
print(f"Found {data['total']} spots")
for spot in data["spots"]:
grid = spot.get('grid', 'Unknown')
print(f"{spot['callsign']} ({grid}) on {spot['frequency']} kHz")
const params = new URLSearchParams({
call: 'W1AW',
mode: 'CW',
band: '20m'
});
const response = await fetch(
`https://vailrerbn.com/api/v1/spots?${params}`
);
const data = await response.json();
console.log(`Found ${data.total} spots`);
data.spots.forEach(spot => {
const grid = spot.grid || 'Unknown';
console.log(`${spot.callsign} (${grid}) on ${spot.frequency} kHz`);
});
<?php
$params = http_build_query([
'call' => 'W1AW',
'mode' => 'CW',
'band' => '20m'
]);
$response = file_get_contents(
"https://vailrerbn.com/api/v1/spots?$params"
);
$data = json_decode($response, true);
echo "Found {$data['total']} spots\n";
foreach ($data['spots'] as $spot) {
echo "{$spot['callsign']} on {$spot['frequency']} kHz\n";
}
require 'net/http'
require 'json'
uri = URI('https://vailrerbn.com/api/v1/spots')
uri.query = URI.encode_www_form({
call: 'W1AW',
mode: 'CW',
band: '20m'
})
response = Net::HTTP.get(uri)
data = JSON.parse(response)
puts "Found #{data['total']} spots"
data['spots'].each do |spot|
puts "#{spot['callsign']} on #{spot['frequency']} kHz"
end
Find recent spots for W1AW on the 20-meter band in CW mode
Base URL
https://vailrerbn.com/api/v1
All API endpoints use this base URL. Responses are JSON with ISO 8601 UTC timestamps.
Rate Limits
| Limit | Window |
|---|---|
| 100 requests | 1 minute |
Rate limit headers are included in all responses:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1704825600
Explore the Documentation
Quickstart Tutorial
Get started in 5 minutes with step-by-step examples
API Endpoints
Complete reference for all 7 endpoints with examples in 5 languages
How-To Guides
Common use cases like real-time monitoring, band analysis, and data export
Pagination Guide
Visual explanation of offset vs cursor-based pagination
Troubleshooting
Common errors and solutions
Glossary
RBN and API terminology explained
What is the Reverse Beacon Network?
The Reverse Beacon Network (RBN) is a network of automated receiving stations (skimmers) around the world that listen to amateur radio bands and report which stations they hear, when, and how strong the signals are. It's like having thousands of listening posts monitoring propagation 24/7.
Vail ReRBN aggregates this data and makes it searchable through a simple REST API, perfect for:
- Monitoring specific callsigns in real-time
- Analyzing band conditions and propagation
- Contest logging and score verification
- Station performance analysis
- DX alerting and notifications