PlaneTrack.ai API Documentation
Real-time aircraft tracking data API with global coverage. Track 5,000+ aircraft worldwide with position updates every 15 seconds.
Get Started in 60 Seconds
Sign up for free and get your API key. 100 requests/day on the free tier, no credit card required.
Get Your Free API KeyAuthentication
All API requests require an API key. Include it in the request header or query parameter:
# Option 1: Header (Recommended)
curl -H "X-API-Key: pt_live_your_api_key_here" \
https://planetrack.ai/api/v1/live/snapshot
# Option 2: Query Parameter
curl https://planetrack.ai/api/v1/live/snapshot?api_key=pt_live_your_api_key_here
Your API Key: You can find your API key in your dashboard after signing up.
Rate Limits
Rate limits vary by tier. Limits are per API key:
| Tier | Requests/Second | Requests/Day | Data Delay |
|---|---|---|---|
| Free | 1 | 100 | 15 minutes |
| Starter | 10 | 10,000 | 5 minutes |
| Professional | 100 | 100,000 | Real-time |
| Enterprise | Unlimited | Unlimited | Real-time |
Rate limit information is included in response headers:
X-RateLimit-Tier: pro
X-RateLimit-Limit-Second: 100
X-RateLimit-Limit-Day: 100000
Error Handling
The API returns standard HTTP status codes:
| Code | Meaning |
|---|---|
200 |
Success |
400 |
Bad Request - Invalid parameters |
401 |
Unauthorized - Invalid or missing API key |
403 |
Forbidden - Rate limit exceeded |
404 |
Not Found - Resource doesn't exist |
500 |
Internal Server Error |
API Endpoints
GET
/api/v1/live/snapshot
FREE
Get current snapshot of all tracked aircraft.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
limit |
integer | No | Max aircraft to return (default: 20000) |
bounds |
string | No | Filter by bounding box: "lat1,lon1,lat2,lon2" |
Example Request
curl -H "X-API-Key: YOUR_API_KEY" \
"https://planetrack.ai/api/v1/live/snapshot?limit=10"
Example Response
[
{
"icao24": "a12345",
"callsign": "UAL123",
"lat": 40.7128,
"lon": -74.0060,
"altitude": 35000,
"velocity": 450,
"heading": 270,
"vertical_rate": 0,
"squawk": "1234",
"alert": false,
"spi": false,
"last_seen": "2025-10-18T23:45:00Z",
"position_type": "live"
}
]
GET
/api/v1/aircraft/{icao24}
FREE
Get detailed information about a specific aircraft.
Example Request
curl -H "X-API-Key: YOUR_API_KEY" \
"https://planetrack.ai/api/v1/aircraft/a12345"
Example Response
{
"icao24": "a12345",
"registration": "N12345",
"aircraft_type": "Boeing 737-800",
"operator": "United Airlines",
"current_position": {
"lat": 40.7128,
"lon": -74.0060,
"altitude": 35000,
"heading": 270
}
}
GET
/api/v1/track/{icao24}
PAID
Get historical track for an aircraft.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
minutes |
integer | No | Minutes of history (default: 720, max: 2880) |
max_rows |
integer | No | Max data points (default: 5000) |
Example Request
curl -H "X-API-Key: YOUR_API_KEY" \
"https://planetrack.ai/api/v1/track/a12345?minutes=120"
Code Examples
Python
import requests
API_KEY = "pt_live_your_api_key"
BASE_URL = "https://planetrack.ai/api/v1"
headers = {"X-API-Key": API_KEY}
# Get live aircraft
response = requests.get(f"{BASE_URL}/live/snapshot?limit=100", headers=headers)
aircraft = response.json()
print(f"Found {len(aircraft)} aircraft")
for plane in aircraft[:5]:
print(f"{plane['callsign']}: {plane['lat']}, {plane['lon']}")
JavaScript (Node.js)
const axios = require('axios');
const API_KEY = 'pt_live_your_api_key';
const BASE_URL = 'https://planetrack.ai/api/v1';
async function getLiveAircraft() {
const response = await axios.get(`${BASE_URL}/live/snapshot?limit=100`, {
headers: { 'X-API-Key': API_KEY }
});
console.log(`Found ${response.data.length} aircraft`);
response.data.slice(0, 5).forEach(plane => {
console.log(`${plane.callsign}: ${plane.lat}, ${plane.lon}`);
});
}
getLiveAircraft();
curl
# Get live aircraft
curl -H "X-API-Key: pt_live_your_api_key" \
"https://planetrack.ai/api/v1/live/snapshot?limit=10" | jq
# Get aircraft details
curl -H "X-API-Key: pt_live_your_api_key" \
"https://planetrack.ai/api/v1/aircraft/a12345" | jq
Official SDKs
Coming Soon! Official SDKs for Python, JavaScript, Ruby, and PHP are in development.
Join our GitHub to get notified when they launch.
Support
Need help? We're here for you:
- Email: [email protected]
- GitHub Issues: Report bugs or request features
- Community: Join our Discord server (coming soon)
Ready to Get Started?
Start tracking flights in minutes. No credit card required for the free tier.
View Pricing & Sign Up