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 Key

Authentication

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}

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:

Ready to Get Started?

Start tracking flights in minutes. No credit card required for the free tier.

View Pricing & Sign Up