Vulture Aviation logo Flight Time EngineVulture Aviation L.L.C-FZ
v1 Direct access View on RapidAPI
Production API

Flight Time Engine API

Calculate aviation routes, distance, climb and descent profiles, wind-adjusted flight time, FIR avoidance, and optional fuel planning through one endpoint. Access it through the RapidAPI marketplace or subscribe directly with Vulture Aviation.

RapidAPIhttps://flight-time-engine.p.rapidapi.com
Directhttps://vafz.net/v1
Flexible routingDirect, supplied, or generated airway routes
Weather adjustedWind, temperature, TAS, and groundspeed
FIR avoidanceExclude FIRs or countries from generated routes
Flight timingClimb, cruise, descent, and total estimated time
Fuel planningTrip, contingency, reserve, alternate, and taxi fuel
Route intelligenceWaypoints, legs, FIR crossings, distance, and map link
01

Choose how to access the API

Both channels run the same Flight Time Engine calculation. Choose one commercial and authentication path for each application.

Marketplace access

RapidAPI

Use RapidAPI when your organization already manages APIs through its marketplace, wants a RapidAPI-generated credential, or prefers marketplace billing and analytics.

  • Subscribe on the RapidAPI listing
  • Use RapidAPI's host and key headers
  • Review usage and invoices in RapidAPI
  • Keep existing RapidAPI applications in one account
Open RapidAPI listing

First-party access

Direct subscription

Subscribe directly when you want a Vulture Aviation account, self-service API keys, Stripe billing, request history, plan limits, and the integrated API tester.

  • Register and verify your business email
  • Generate and revoke keys in the portal
  • View calls, limits, duration, and server health
  • Manage your subscription through Stripe
Create direct account
AreaRapidAPIDirect subscription
Base URLhttps://flight-time-engine.p.rapidapi.comhttps://vafz.net/v1
CredentialRapidAPI application keyVulture Aviation portal key
BillingManaged by RapidAPIManaged through Stripe
Usage dashboardRapidAPI analyticsVulture Aviation portal
SupportRapidAPI listing and Vulture AviationDirectly through api@vafz.net
Credentials are not interchangeable

A RapidAPI key only works with the RapidAPI host. A direct portal key only works with the direct /v1 gateway. Do not send both authentication methods in the same request.

02

Authentication

Select the header set that belongs to your subscription channel.

RapidAPI authentication

Subscribe to Flight Time Engine on RapidAPI, select an application, and copy the credential shown by RapidAPI. Every marketplace request requires both RapidAPI headers.

HeaderValueRequired
x-rapidapi-keyYOUR_RAPIDAPI_KEYYes
x-rapidapi-hostflight-time-engine.p.rapidapi.comYes
Content-Typeapplication/jsonYes

Direct subscription authentication

Create an account at vafz.net, verify your email, choose a plan, then generate an API key under API keys. The full key is displayed once. Store it in a server-side secret manager.

HeaderValueRequired
x-api-keyvafz_live_YOUR_KEYYes
Content-Typeapplication/jsonYes
Credential security

Never place either key in public JavaScript, mobile application source, screenshots, repositories, or support messages. Call the API from your backend, rotate a key immediately if exposed, and use separate keys for production and testing workloads.

03

Quick start

Generate an airway route from Dubai World Central to London Luton while avoiding two FIRs.

1
Choose a channel

Subscribe through RapidAPI or register directly with Vulture Aviation.

2
Secure the credential

Store the issued key in a backend environment variable or secret manager.

3
Send JSON

POST the flight inputs to the channel-specific /flightplan URL.

4
Inspect the result

Check HTTP status and route.available before using route or timing values.

RapidAPI request examples

import http.client
import json

conn = http.client.HTTPSConnection(
    "flight-time-engine.p.rapidapi.com"
)

payload = json.dumps({
    "ADEP": "OMDW",
    "ADES": "EGGW",
    "Route": "",
    "fl": 360,
    "mach": 0.7,
    "force_airway_routing": True,
    "avoid_firs": ["LTAA", "LTBB"],
    "departure_time": "2026-07-07T17:00:00Z"
})

headers = {
    "x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
    "x-rapidapi-host": "flight-time-engine.p.rapidapi.com",
    "Content-Type": "application/json"
}

conn.request("POST", "/flightplan", payload, headers)
response = conn.getresponse()
print(response.read().decode("utf-8"))
curl --request POST \
  --url https://flight-time-engine.p.rapidapi.com/flightplan \
  --header 'Content-Type: application/json' \
  --header 'x-rapidapi-host: flight-time-engine.p.rapidapi.com' \
  --header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
  --data '{
    "ADEP": "OMDW",
    "ADES": "EGGW",
    "Route": "",
    "fl": 360,
    "mach": 0.7,
    "force_airway_routing": true,
    "avoid_firs": ["LTAA", "LTBB"],
    "departure_time": "2026-07-07T17:00:00Z"
  }'
const response = await fetch(
  "https://flight-time-engine.p.rapidapi.com/flightplan",
  {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
      "x-rapidapi-host": "flight-time-engine.p.rapidapi.com"
    },
    body: JSON.stringify({
      ADEP: "OMDW",
      ADES: "EGGW",
      Route: "",
      fl: 360,
      mach: 0.7,
      force_airway_routing: true,
      avoid_firs: ["LTAA", "LTBB"],
      departure_time: "2026-07-07T17:00:00Z"
    })
  }
);

const flightplan = await response.json();

Direct subscription request

Direct subscribers send the same JSON body to the Vulture Aviation gateway. Only the URL and authentication header change.

cURL · Direct API
curl --request POST \
  --url https://vafz.net/v1/flightplan \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: YOUR_VULTURE_API_KEY' \
  --data '{
    "ADEP": "OMDW",
    "ADES": "EGGW",
    "Route": "",
    "fl": 360,
    "mach": 0.7,
    "force_airway_routing": true,
    "avoid_firs": ["LTAA", "LTBB"],
    "departure_time": "2026-07-07T17:00:00Z"
  }'
Direct response headers

The direct gateway returns request identification and quota information, including X-Request-ID, rate-limit values, and monthly quota values. Record the request ID when contacting support.

Example responseValues vary with route, departure time, and weather.
{
  "inputs": {
    "mach": 0.7,
    "fl_used": 360,
    "departure_time": "2026-07-07T17:00:00Z",
    "avoid_firs": ["LTAA", "LTBB"],
    "fuel_planning_enabled": false
  },
  "route": {
    "available": true,
    "route_type": "airway_avoided",
    "route_string": "OMDW DCT TUDIS N571 PURLI G462 TUMAK L602 VELAK T557 RAGAS P550 SYZ P574 PEKAM Z1 TBZ R661 DULAV L125 GUSLI B947 STW B494 OLGIN M991 NIROV L984 DIBED L981 ADVAB L980 SUBIX Z20 SONUD P203 HLZ L980 IDRID M40 SABER L980 LAM L610 HEMEL DCT EGGW",
    "total_distance_nm": 3215.66,
    "overflown_fir_icao": [
      "OMAE", "OBBB", "OTDF", "TEH", "OIIX", "UBBA",
      "UDDD", "UGGG", "URRV", "UKDV", "UKR", "UKBV",
      "UKLV", "EPWW", "EDXX", "EDWW", "EDGG", "EHAA",
      "EGTT", "EGVV", "EGTL"
    ],
    "skyvector_link": "https://skyvector.com/..."
  },
  "timing_result": {
    "avg_wind": "283/38",
    "avg_tas_kn": 411.79,
    "avg_gs_kn": 388.44,
    "cruise_time_min": 468.12,
    "total_time_min": 507.77
  },
  "avoidance": {
    "enabled": true,
    "input_firs": ["LTAA", "LTBB"],
    "still_crossed_avoided_firs": []
  },
  "fuel_planning": null
}
04

Flight plan endpoint

Calculates route geometry, weather-adjusted timing, and optional fuel planning.

POST/flightplanCalculate a flight plan
200 Calculation completed400 Invalid request401 Invalid key500 Server error
05

Request parameters

Only departure, arrival, and cruise Mach are required.

Required

ADEPstringrequired

Departure airport ICAO or IATA code.

Aliases: departure_airport, adep
ADESstringrequired

Arrival airport ICAO or IATA code.

Aliases: arrival_airport, ades
machnumberrequired

Cruise Mach number greater than zero.

Aliases: speed_in_mach, speedInMach, mach_speed

Flight profile

FieldTypeDefaultDescription
flnumber340Requested cruise flight level
climb_fpmnumber1800Climb rate in feet per minute
climb_ias_ktnumber290Climb indicated airspeed
descent_fpmnumber1800Descent rate in feet per minute
descent_ias_ktnumber290Descent indicated airspeed
dep_elev_ftnumberAirport dataDeparture elevation override
arr_elev_ftnumberAirport dataArrival elevation override
step_nmnumber50Distance between weather samples
departure_timeISO stringCurrent contextUTC departure time; alias: time_utc
aircraft_registrationstringnullRegistration echoed in response
06

Routing modes

Choose direct geometry, provide a route, or ask the engine to generate one.

01

Direct

Omit Route or send an empty string. The engine calculates a direct great-circle route.

"Route": ""
02

Supplied route

Send waypoint identifiers with optional airway names and DCT tokens.

"Route": "LUTMO G460 VSI"
03

Generated airway

Leave the route empty and enable airway search through the network.

"force_airway_routing": true
07

FIR avoidance

Exclude airspace by FIR ICAO code or ISO country code.

Recommended request

Combine avoidance with automatic airway routing so the engine can search for a compliant path.

Route availability

If no compliant path is found, route.available is false and route.reason explains why.

{
  "ADEP": "OMDW",
  "ADES": "EGGW",
  "mach": 0.7,
  "force_airway_routing": true,
  "avoid_firs": ["LTAA", "LTBB"]
}
08

Fuel planning

Optional all-or-none fuel calculations using aircraft reference performance.

All required fields must be sent together

If any required fuel field is present, the complete fuel input set is required.

View required fuel fields
max_fuel_capacity_lbmax_takeoff_weight_lbzero_fuel_weight_lbclimb_ref_1_weight_lbclimb_ref_1_fuel_burn_lbclimb_ref_2_weight_lbclimb_ref_2_fuel_burn_lbcruise_ref_1_weight_lbcruise_ref_1_fuel_burn_lbcruise_ref_2_weight_lbcruise_ref_2_fuel_burn_lbdescent_ref_1_weight_lbdescent_ref_1_fuel_burn_lbdescent_ref_2_weight_lbdescent_ref_2_fuel_burn_lbcontingency_pctfinal_reserve_minalternate_airporttaxi_fuel_lb
Fuel planning cURL requestReference burn values are aircraft-specific inputs in pounds per hour.
curl --request POST \
  --url https://flight-time-engine.p.rapidapi.com/flightplan \
  --header 'Content-Type: application/json' \
  --header 'x-rapidapi-host: flight-time-engine.p.rapidapi.com' \
  --header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY' \
  --data '{
    "ADEP": "WBGG",
    "ADES": "VHHH",
    "Route": "",
    "fl": 340,
    "mach": 0.79,
    "departure_time": "2026-07-07T17:00:00Z",
    "max_fuel_capacity_lb": 20000,
    "max_takeoff_weight_lb": 50000,
    "zero_fuel_weight_lb": 30000,
    "climb_ref_1_weight_lb": 30000,
    "climb_ref_1_fuel_burn_lb": 1200,
    "climb_ref_2_weight_lb": 50000,
    "climb_ref_2_fuel_burn_lb": 1600,
    "cruise_ref_1_weight_lb": 30000,
    "cruise_ref_1_fuel_burn_lb": 900,
    "cruise_ref_2_weight_lb": 50000,
    "cruise_ref_2_fuel_burn_lb": 1300,
    "descent_ref_1_weight_lb": 30000,
    "descent_ref_1_fuel_burn_lb": 500,
    "descent_ref_2_weight_lb": 50000,
    "descent_ref_2_fuel_burn_lb": 700,
    "contingency_pct": 5,
    "final_reserve_min": 45,
    "alternate_airport": "VMMC",
    "taxi_fuel_lb": 300,
    "minimum_time_to_alternate_min": 30,
    "fuel_segment_minutes": 5
  }'
Fuel planning responseRepresentative result from the request shown.
{
  "route": {
    "route_type": "direct",
    "route_string": "WBGG DCT VHHH",
    "total_distance_nm": 1261.29
  },
  "timing_result": {
    "avg_wind": "040/9",
    "total_time_min": 176.48
  },
  "fuel_planning": {
    "method": "two_pass_zfw_to_tow",
    "trip": {
      "total_time_min": 176.48,
      "total_trip_fuel_burn_lb": 2773.02,
      "takeoff_weight_lb": 34222.77,
      "landing_weight_lb": 31449.75
    },
    "contingency": { "fuel_lb": 138.65 },
    "final_reserve": { "fuel_lb": 696.75 },
    "alternate": { "fuel_lb": 515.17 },
    "taxi": { "fuel_lb": 300 },
    "minimum_fuel_required_lb": 4423.59,
    "computed_takeoff_weight_lb": 34423.59,
    "fuel_stop_required": "No",
    "max_fuel_capacity_exceeded": "No",
    "max_takeoff_weight_exceeded": "No"
  }
}
09

Response schema

A successful request returns normalized inputs, route geometry, refined timing, avoidance, and optional fuel planning.

inputs

Resolved airports and normalized calculation inputs.

route

Availability, route string, waypoints, legs, distance, FIRs, and airway details.

timing_result

Refined TAS, groundspeed, cruise time, and total time.

avoidance

Requested, resolved, and still-crossed FIR data.

fuel_planning

Fuel calculation, or null when disabled.

Provider metadata is private

Weather-provider source fields are intentionally omitted from public responses.

10

Errors

Error responses contain a concise JSON error message.

StatusMeaningAction
200Calculation completedCheck route.available
400Invalid requestCheck missing, unknown, or incomplete values
401Authentication failedCheck the credential and channel-specific headers
404Endpoint not foundUse POST /flightplan
500Unexpected server errorRetry or report the request details
11

Plans and subscription channels

Choose a plan, then complete billing either through RapidAPI or directly through the Vulture Aviation customer portal.

Subscribe through RapidAPI

RapidAPI controls checkout, invoices, marketplace quotas, overages, bandwidth charges, and the credential used with its host.

RapidAPI plans
Subscribe directly

Vulture Aviation controls account verification, API keys, call history, quota enforcement, and Stripe subscription management.

Direct plans

Basic

$0/ month
Requests
50 / month
Overage
Hard limit
Rate limit
1 request / second
Bandwidth
10,240 MB / month
Extra bandwidth
$0.001 / MB
Start free

Pro

$79/ month
Requests
500 / month
Overage
$0.08 / request
Rate limit
2 requests / second
Bandwidth
10,240 MB / month
Extra bandwidth
$0.001 / MB
Choose Pro

Mega

$699/ month
Requests
15,000 / month
Overage
$0.04 / request
Rate limit
High-volume access
Bandwidth
10,240 MB / month
Extra bandwidth
$0.001 / MB
Choose Mega
Direct subscription limits

Direct plans currently stop requests when the included monthly allowance is reached. RapidAPI overage and bandwidth terms apply only to subscriptions purchased through RapidAPI. For uninterrupted usage above a direct allowance, upgrade before reaching the limit or request a custom agreement.

Need more than 15,000 requests?Contact us for a custom allowance, rate limit, and commercial arrangement.
Contact us

Prices are shown in USD. The checkout page for the selected channel governs billing, taxes, renewals, overages, cancellation, and refunds.

12

Support & contact

Contact Vulture Aviation for API assistance, integration questions, account support, or commercial enquiries. Include your access channel and request ID, but never include an API key.

Company address
The Meydan Hotel, Grandstand, 6th floor, Meydan Road, Nad Al Sheba, Dubai, U.A.E
Flight Time Engine API · RapidAPI and Direct v1Built under the license of Vulture Aviation L.L.C-FZ
No matching sectionsTry a different search term.
Copied to clipboard