DFlight API
DFlight API — keyless JSON API
DFlight API. DFlight API supplies the up-to-date information needed for compliance with UAV preflight assessment requirements. Separate endpoints are available for each of the following information categories: - Airspace - Weather - Temporary Flight Restrictions - Special
We probe a documented GET and expect 2xx JSON — full uptime and health score. Open provider docs ↗
On our probe schedule. Uptime charts appear after the first check lands.
GET https://dflight-api.ljaero.com/openapi.json
{
"openapi": "3.0.2",
"info": {
"title": "DFlight API",
"description": "[DFlight API](https://ljaero.com/solutions/dflight/) supplies the up-to-date information needed for compliance with UAV preflight assessment requirements. Separate endpoints are available for each of the following information categories:\n- Airspace\n- Weather\n- Temporary Flight Restrictions\n- Special Security Areas\n- Restricted Public Venues\n- Surface Obstacles\n- Aerodromes\n- UAS Operating Areas\n\nYou can define your geographic area of interest in one of three convenient ways:\n- Providing a latitude/longitude point and distance around that point\n- Providing a GeoJSON LineString defining your route\n- Providing an arbitrary GeoJSON Polygon defining your area of interest",
"version": "V 1.0.0"
},
"servers": [
{
"url": "https://dflight-api.ljaero.com/",
"description": "DFlight API v1.0.2"
}
],
"paths": {
"/us/v1/airspace/distance-query": {
"post": {
"tags": [
"Airspace"
],
"summary": "Retrieve all requested types of airspace located within given distance of location.",
"description": "Retrieve selected types of airspace existing within given distance from a point. Request body parameters are:\n* latitude: WGS84 latitude coordinate of your selected point, in decimal degrees\n* longitude: WGS84 longitude coordinate of your selected point, in decimal degrees\n* distance: distance in meters (max allowed value is 25000)\n* asptypes: list of one or more airspace types you wish to retrieve. Allowed values are 'CAS', 'SUA', 'MAA', and 'MTR'.\n\nSuccessful requests return a list of GeoJSON FeatureCollections, one for each Airspace type indicated in the request. Within each feature collection, there will be a separate Feature for each Airspace instance found. All Features will include a property indicating the *airspace_type*. Additional properties for each *airspace_type* are as follows:\n* CAS (Controlled Airspace)\n - *name*\n - *cas_class*: B, C, D, or E2\n - *floor*: integer value in ft MSL\n - *ceiling*: integer value in ft MSL\n - *lannc*: true/false indicating whether or not authorization for this airspace may be obtained via LAANC\n* SUA (Special Use Airspace)\n - *name*\n - *sua_type*: AA = Alert Area, MOA = Military Operations Area, NSA = National Security Area, PA = Prohibited Area, RA = Restricted Area, WA = Warning Area\n - *floor*: lower limit of the airspace\n - *floor_uom*: unit of measure used for the numeric floor value: FT (feet) or FL (flight level)\n - *floor_ref*: reference level used for the numeric floor value: AGL, MSL, or STD (standard atmosphere, used for flight level values)\n - *ceiling*: upper limit of the airspace\n - *ceiling_uom*: unit of measure used for the numeric floor value: FT (feet) or FL (flight level)\n - *ceiling_ref*: reference level used for the numeric ceiling value: AGL, MSL, or STD (standard atmosphere, used for flight level values)\n - *ceiling_ref*: reference level used for the numeric ceiling value: AGL, MSL, or STD (standard atmosphere, used for flight level values)\n - *schedule*: default activation days/times (other times by NOTAM)\n* MAA (Miscellaneous Activity Area)\n - *name*\n - *maa_type*: one of the following - ULTRALIGHT, PARACHUTE JUMP AREA, AEROBATIC PRACTICE, GLIDER, HANG GLIDER, SPACE LAUNCH ACTIVITY\n - *use_times*: textual description of days/times when activity in the area should be expected\n* MTR (Military Training Route)\n - *name*\n - *use_times*: textual description of days/times when MTR is active/hot\n - *terrain_following*: boolean value indicating whether terrain following activity occurs on the route\n - *max_extent_nm*: maximum distance that aircraft can deviate from route centerline",
"operationId": "asp_by_distance_us_v1_airspace_distance_query_post",
"parameters": [
{
"required": false,
"schema": {
"title": "X-Api-Key",
"type": "string"
},
"name": "x-api-key",
"in": "header"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AirspaceByDistance"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "A list of GeoJSON FeatureCollections, one for each Airspace type requested.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AirspaceDistanceResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/us/v1/airspace/route-query": {
"post": {
"tags": [
"Airspace"
],
"summary": "Retrieve all requested types of airspace traversed by route.",
"description": "Retrieve selected types of airspace traversed by route. Request body parameters are:\n* route: [GeoJSON Linestring](https://www.rfc-editor.org/rfc/rfc7946.html#appendix-A) defining the route. Max allowed length is 50 km.\n* asptypes: list of one or more airspace types you wish to retrieve. Allowed values are 'CAS', 'SUA', 'MAA', and 'MTR'.\n\nSuccessful requests return a list of GeoJSON FeatureCollections, one for each Airspace type indicated in the request. Within each feature collection, there will be a separate Feature for each Airspace instance found. All Features will include a property indicating the *airspace_type*. Additional properties for each *airspace_type* are as follows:\n* CAS (Controlled Airspace)\n - *name*\n - *cas_class*: B, C, D, or E2\n - *floor*: integer value in ft MSL\n - *ceiling*: integer value in ft MSL\n - *lannc*: true/false indicating whether or not authorization for this airspace may be obtained via LAANC\n* SUA (Special Use Airspace)\n - *name*\n - *sua_type*: AA = Alert Area, MOA = Military Operations Area, NSA = National Security Area, PA = Prohibited Area, RA = Restricted Area, WA = Warning Area\n - *floor*: lower limit of the airspace\n - *floor_uom*: unit of measure used for the numeric floor value: FT (feet) or FL (flight level)\n - *floor_ref*: reference level used for the numeric floor value: AGL, MSL, or STD (standard atmosphere, used for flight level values)\n - *ceiling*: upper limit of the airspace\n - *ceiling_uom*: unit of measure used for the numeric floor value: FT (feet) or FL (flight level)\n - *ceiling_ref*: reference level used for the numeric ceiling value: AGL, MSL, or STD (standard atmosphere, used for flight level values)\n - *schedule*: default activation days/times (other times by NOTAM)\n* MAA (Miscellaneous Activity Area)\n - *name*\n - *maa_type*: one of the following - ULTRALIGHT, PARACHUTE JUMP AREA, AEROBATIC PRACTICE, GLIDER, HANG GLIDER, SPACE LAUNCH ACTIVITY\n - *use_times*: textual description of days/times when activity in the area should be expected\n* MTR (Military Training Route)\n - *name*\n - *use_times*: textual description of days/times when MTR is active/hot\n - *terrain_following*: boolean value indicating whether terrain following activity occurs on the route\n - *max_extent_nm*: maximum distance that aircraft can deviate from route centerline",
"operationId": "asp_by_route_us_v1_airspace_route_query_post",
"parameters": [
{
"required": false,
"schema": {
"title": "X-Api-Key",
"type": "string"
},
"name": "x-api-key",
"in": "header"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AirspaceByRoute"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "A list of GeoJSON FeatureCollections, one for each Airspace type requested.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AirspaceRouteResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/us/v1/airspace/polygon-query": {
"post": {
"tags": [
"Airspace"
],
"summary": "Retrieve all requested types of airspace located within given GeoJSON Polygon.",
"description": "Retrieve selected types of airspace located within given area. Request body parameters are:\n* poly: [GeoJSON Polygon](https://www.rfc-editor.org/rfc/rfc7946.html#appendix-A) defining the area. Max allowed area is 1000 km^2.\n* asptypes: list of one or more airspace types you wish to retrieve. Allowed values are 'CAS', 'SUA', 'MAA', and 'MTR'.\n\nSuccessful requests return a list of GeoJSON FeatureCollections, one for each Airspace type indicated in the request. Within each feature collection, there will be a separate Feature for each Airspace instance found. All Features will include a property indicating the *airspace_type*. Additional properties for each *airspace_type* are as follows:\n* CAS (Controlled Airspace)\n - *name*\n - *cas_class*: B, C, D, or E2\n - *floor*: integer value in ft MSL\n - *ceiling*: integer value in ft MSL\n - *lannc*: true/false indicating whether or not authorization for this airspace may be obtained via LAANC\n* SUA (Special Use Airspace)\n - *name*\n - *sua_type*: AA = Alert Area, MOA = Military Operations Area, NSA = National Security Area, PA = Prohibited Area, RA = Restricted Area, WA = Warning Area\n - *floor*: lower limit of the airspace\n - *floor_uom*: unit of measure used for the numeric floor value: FT (feet) or FL (flight level)\n - *floor_ref*: reference level used for the numeric floor value: AGL, MSL, or STD (standard atmosphere, used for flight level values)\n - *ceiling*: upper limit of the airspace\n - *ceiling_uom*: unit of measure used for the numeric floor value: FT (feet) or FL (flight level)\n - *ceiling_ref*: reference level used for the numeric ceiling value: AGL, MSL, or STD (standard atmosphere, used for flight level values)\n - *schedule*: default activation days/times (other times by NOTAM)\n* MAA (Miscellaneous Activity Area)\n - *name*\n - *maa_type*: one of the following - ULTRALIGHT, PARACHUTE JUMP AREA, AEROBATIC PRACTICE, GLIDER, HANG GLIDER, SPACE LAUNCH ACTIVITY\n - *use_times*: textual description of days/times when activity in the area should be expected\n* MTR (Military Training Route)\n - *name*\n - *use_times*: textual description of days/times when MTR is active/hot\n - *terrain_following*: boolean value indicating whether terrain following activity occurs on the route\n - *max_extent_nm*: maximum distance that aircraft can deviate from route centerline",
"operationId": "asp_by_poly_us_v1_airspace_polygon_query_post",
"parameters": [
{
"required": false,
"schema": {
"title": "X-Api-Key",
"type": "string"
},
"name": "x-api-key",
"in": "header"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AirspaceByPolygon"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "A list of GeoJSON FeatureCollections, one for each Airspace type requested.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AirspacePolyResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/us/v1/wx-forecast/distance-query": {
"post": {
"tags": [
"Weather"
],
"summary": "Retrieve forecast values within given distance of location for all requested weather elements and time periods.",
"description": "Retrieve forecast values for selected weather elements and time period. Request body parameters are:\n* latitude: WGS84 latitude coordinate of your selected point, in decimal degrees\n* longitude: WGS84 longitude coordinate of your selected point, in decimal degrees\n* distance: distance in meters (max allowed value is 25000)\n* wxtypes: list of one or more weather forecast elements you wish to retrieve. Allowed values are \"CIG\", \"DEWPT\", \"SKY\", \"TEMP\", \"VIS\", \"WINDDIR\", \"WINDGUST\", \"WINDSPEED\".\n* hours: number of hourly forecasts to return (1-24). For current hour only you should enter value of 1. To also retrieve values for each of the next n hours, enter n.\n\n\nThe response will consist of a GeoJSON FeatureCollection with one Feature for each forecast location found within requested area,\nproperties of which will include an ordered list of forecast values for each requested weather element, for each requested hour. Units for each element are as follows:\n* CIG: meters AGL\n* DEWPT: degrees Celsius\n* SKY: % cloud cover\n* TEMP: degrees Celsius\n* VIS: meters\n* WINDDIR: degrees true\n* WINDGUST: meters/sec\n* WINDSPEED: meters/sec",
"operationId": "wx_by_distance_us_v1_wx_forecast_distance_query_post",
"parameters": [
{
"required": false,
"schema": {
"title": "X-Api-Key",
"type": "string"
},
"name": "x-api-key",
"in": "header"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WxByDistance"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "A GeoJSON FeatureCollection with one Feature for each forecast location found within requested area.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WxDistanceResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/us/v1/wx-forecast/route-query": {
"post": {
"tags": [
"Weather"
],
"summary": "Retrieve forecast values along a route for all requested weather elements and time periods.",
"description": "Retrieve forecast values along route for requested weather elements and time period. Request body parameters are:\n* route: [GeoJSON Linestring](https://www.rfc-editor.org/rfc/rfc7946.html#appendix-A) defining the route. Max allowed length is 50 km.\n* wxtypes: list of one or more weather forecast elements you wish to retrieve. Allowed values are \"CIG\", \"DEWPT\", \"SKY\", \"TEMP\", \"VIS\", \"WINDDIR\", \"WINDGUST\", \"WINDSPEED\".\n* hours: number of hourly forecasts to return (1-24). For current hour only you should enter value of 1. To also retrieve values for each of the next n hours, enter n.\n\n\nThe response will consist of a GeoJSON FeatureCollection with one Feature for each forecast location found within requested area,\nproperties of which will include an ordered list of forecast values for each requested weather element, for each requested hour. Units for each element are as follows:\n* CIG: meters AGL\n* DEWPT: degrees Celsius\n* SKY: % cloud cover\n* TEMP: degrees Celsius\n* VIS: meters\n* WINDDIR: degrees true\n* WINDGUST: meters/sec\n* WINDSPEED: meters/sec",
"operationId": "wx_by_route_us_v1_wx_forecast_route_query_post",
"parameters": [
{
"required": false,
"schema": {
"title": "X-Api-Key",
"type": "string"
},
"name": "x-api-key",
"in": "header"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WxByRoute"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "A GeoJSON FeatureCollection with one Feature for each forecast location found within requested area.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WxRouteResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/us/v1/wx-forecast/polygon-query": {
"post": {
"tags": [
"Weather"
],
"summary": "Retrieve forecast values within given GeoJSON polygon for all requested weather elements and time periods.",
"description": "Retrieve forecast values located within given area for requested weather elements and time period. Request body parameters are:\n* poly: [GeoJSON Polygon](https://www.rfc-editor.org/rfc/rfc7946.html#appendix-A) defining the area. Max allowed area is 1000 km^2.\n* wxtypes: list of one or more weather forecast elements you wish to retrieve. Allowed values are \"CIG\", \"DEWPT\", \"SKY\", \"TEMP\", \"VIS\", \"WINDDIR\", \"WINDGUST\", \"WINDSPEED\".\n* hours: number of hourly forecasts to return (1-24). For current hour only you should enter value of 1. To also retrieve values for each of the next n hours, enter n.\n\n\nThe response will consist of a GeoJSON FeatureCollection with one Feature for each forecast location found within requested area,\nproperties of which will include an ordered list of forecast values for each requested weather element, for each requested hour. Units for each element are as follows:\n* CIG: meters AGL\n* DEWPT: degrees Celsius\n* SKY: % cloud cover\n* TEMP: degrees Celsius\n* VIS: meters\n* WINDDIR: degrees true\n* WINDGUST: meters/sec\n* WINDSPEED: meters/sec",
"operationId": "wx_by_poly_us_v1_wx_forecast_polygon_query_post",
"parameters": [
{
"required": false,
"schema": {
"title": "X-Api-Key",
"type": "string"
},
"name": "x-api-key",
"in": "header"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WxByPolygon"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "A GeoJSON FeatureCollection with one Feature for each forecast location found within requested area.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WxPolyResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/us/v1/restrictions/distance-query": {
"post": {
"tags": [
"Flight Restrictions"
],
"summary": "Retrieve flight restrictions applicable within given distance of location.",
"description": "Retrieve Flight Restrictions applicable within given distance of a point. Request body parameters are:\n* latitude: WGS84 latitude coordinate of your selected point, in decimal degrees\n* longitude: WGS84 longitude coordinate of your selected point, in decimal degrees\n* distance: distance in meters (max allowed value is 25000)",
"operationId": "tfr_by_distance_us_v1_restrictions_distance_query_post",
"parameters": [
{
"required": false,
"schema": {
"title": "X-Api-Key",
"type": "string"
},
"name": "x-api-key",
"in": "header"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NOTAMsByDistance"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "A GeoJSON FeatureCollection, one Feature for each restriction.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NOTAMsDistanceResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/us/v1/restrictions/route-query": {
"post": {
"tags": [
"Flight Restrictions"
],
"summary": "Retrieve flight restrictions applicable along route.",
"description": "Retrieve Flight Restrictions applicable along your route. Request body parameters are:\n* route: [GeoJSON Linestring](https://www.rfc-editor.org/rfc/rfc7946.html#appendix-A) defining the route. Max allowed length is 50 km.",
"operationId": "tfr_by_route_us_v1_restrictions_route_query_post",
"parameters": [
{
"required": false,
"schema": {
"title": "X-Api-Key",
"type": "string"
},
"name": "x-api-key",
"in": "header"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NOTAMsByRoute"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "A GeoJSON FeatureCollection, one Feature for each restriction.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NOTAMsRouteResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AerodromeDistanceResponse": {
"title": "AerodromeDistanceResponse",
"required": [
"found"
],
"type": "object",
"properties": {
"found": {
"title": "Found",
"type": "object"
}
},
"example": {
"found": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-82.997126,
39.95534
]
},
"properties": {
"ident": "5OH8",
"name": "Joseph Skilken & Company",
"facility_type": "PRIVATE HELIPORT",
"facility_status": "OPERATIONAL",
"contact_person": "Steve Skilken - Manager",
"contact_phone": "614-221-4547"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-82.962402,
39.97034
]
},
"properties": {
"ident": "2OI6",
"name": "University Hospital East",
"facility_type": "PRIVATE HELIPORT",
"facility_status": "OPERATIONAL",
"contact_person": "Ron Marstiller - Manager",
"contact_phone": "614-257-2136"
}
}
]
}
}
},
"AerodromePolyResponse": {
"title": "AerodromePolyResponse",
"required": [
"found"
],
"type": "object",
"properties": {
"found": {
"title": "Found",
"type": "object"
}
},
"example": {
"found": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.348709,
47.619571
]
},
"properties": {
"ident": "8WA9",
"name": "Broadcast House Helistop",
"facility_type": "PRIVATE HELIPORT",
"facility_status": "OPERATIONAL",
"contact_person": "Keith Nealey - Manager",
"contact_phone": "206-728-7777"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.344721,
47.621668
]
},
"properties": {
"ident": "WN16",
"name": "Komo Tv",
"facility_type": "PRIVATE HELIPORT",
"facility_status": "OPERATIONAL",
"contact_person": "Jeff Pace - Manager",
"contact_phone": "206-404-8000"
}
}
]
}
}
},
"AerodromeRouteResponse": {
"title": "AerodromeRouteResponse",
"required": [
"found"
],
"type": "object",
"properties": {
"found": {
"title": "Found",
"type": "object"
}
},
"example": {
"found": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-89.353022,
29.258748
]
},
"properties": {
"ident": "11LA",
"name": "Tiger Pass",
"facility_type": "PRIVATE SEAPLANE BASE",
"facility_status": "OPERATIONAL",
"contact_person": "Mickey Bull - Manager",
"contact_phone": "504-465-3220"
}
},
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-89.355051,
29.259386
]
},
"properties": {
"ident": "8LA4",
"name": "Conoco Inc Venice",
"facility_type": "PRIVATE HELIPORT",
"facility_status": "OPERATIONAL",
"contact_person": "H. A. Niehaus - Manager",
"contact_phone": "504-368-3000"
}
}
]
}
}
},
"AerodromesByDistance": {
"title": "AerodromesByDistance",
"required": [
"longitude",
"latitude"
],
"type": "object",
"properties": {
"longitude": {
"title": "Longitude",
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
"latitude": {
"title": "Latitude",
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
"distance": {
"title": "Distance",
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
}
},
"description": "Geometry-defining arguments for point/distance requests",
"example": {
"longitude": -82.97,
"latitude": 39.94,
"distance": 5000
}
},
"AerodromesByPolygon": {
"title": "AerodromesByPolygon",
"required": [
"poly"
],
"type": "object",
"properties": {
"poly": {
"title": "Poly",
"type": "object"
}
},
"description": "Geometry-defining arguments for polygon requests",
"example": {
"poly": {
"type": "Polygon",
"coordinates": [
[
[
-122.338707447052,
47.62958028571895
],
[
-122.35679626464844,
47.61773556745509
]
]
]
}
}
},
"AerodromesByRoute": {
"title": "AerodromesByRoute",
"required": [
"route"
],
"type": "object",
"properties": {
"route": {
"title": "Route",
"type": "object"
}
},
"description": "Geometry-defining arguments for along-route requests",
"example": {
"route": {
"type": "LineString",
"coordinates": [
[
-89.353316,
29.270685
],
[
-89.36921,
29.290526
]
]
}
}
},
"AirspaceByDistance": {
"title": "AirspaceByDistance",
"required": [
"longitude",
"latitude"
],
"type": "object",
"properties": {
"longitude": {
"title": "Longitude",
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
"latitude": {
"title": "Latitude",
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
"distance": {
"title": "Distance",
"anyOf": [
{
"type": "number"
},
{
"type": "integer"
}
]
},
"asptypes": {
"title": "Asptypes",
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Geometry-defining arguments for point/distance requests",
"example": {
"longitude": -88.2188,
"latitude": 44.6031,
"distance": 5000,
"asptypes": [
"MAA",
"MTR"
]
}
},
"AirspaceByPolygon": {
"title": "AirspaceByPolygon",
"required": [
"poly",
"asptypes"
],
"type": "object",
"properties": {
"poly": {
"title": "Poly",
"type": "object"
},
"asptypes": {
"title": "Asptypes",
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Geometry-defining arguments for polygon requests",
"example": {
"poly": {
"type": "Polygon",
"coordinates": [
[
[
-86.337,
41.716
],
[
-86.323,
41.718
]
]
]
},
"asptypes": [
"CAS"
]
}
}
}
},
"tags": [
{
"name": "Airspace",
"description": "#### Information is available for the following types of airspace:\n* **Controlled Airspace (CAS):** Class B, C, D, E2 airspace names, boundaries, altitude information, and LAANC availability\n* **Special Use Airspace (SUA):** Names, boundaries, and altitude information for the following types of Special Use Airspace:\n - Alert Areas (AA)\n - Military Operations Areas (MOA)\n - National Security Areas (NSA)\n - Prohibited Areas (PA)\n - Restricted Areas (RA)\n - Warning Areas (WA)\n* **Miscellaneous Activity Areas (MAA):** Names and boundary information for the following types of Miscellaneous Activity Areas:\n - Aerobatic Practice Areas (AEROBATIC PRACTICE)\n - Glider Operations Areas (GLIDER)\n - Hang Glider Operations Areas (HANG GLIDER)\n - Parachute Jump Areas (PARACHUTE JUMP AREA)\n - Space Launch Activity Areas (SPACE LAUNCH ACTIVITY)\n* **Military Training Routes (MTR):** Names, route geometry, usage times, and corridor width information for both VFR and IFR Military Training Routes\n \n [View Airspace Tutorial](https://ljaero.com/solutions/dflight/dev/airspace-tutorial/)"
},
{
"name": "Weather",
"description": "#### Hourly forecast values for the following flight-impacting weather elements:\n* Cloud Ceiling (CIG)\n* Dewpoint Temperature (DEWPT)\n* Cloud Cover (SKY)\n* Air Temperature (TEMP)\n* Visibility (VIS)\n* Wind Direction (WINDDIR)\n* Wind Speed (WINDSPEED)\n* Wind Gust Speed (WINDGUST)<br /><br />[View Weather Tutorial](https://ljaero.com/solutions/dflight/dev/weather-tutorial/)"
}
]
}curl "https://dflight-api.ljaero.com/openapi.json"const res = await fetch("https://dflight-api.ljaero.com/openapi.json");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://dflight-api.ljaero.com/openapi.json")
print(res.json())/openapi.jsonPROBEDDFlight API — keyless JSON API
/openapi.json?limit=5Paginated variant with limit parameter.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Not tracked yet. Shape-change history starts once this API joins our probe schedule.
DFlight API: common questions
Is DFlight API free to use?
Yes — DFlight API is a free weather API. Free tier: Free — limits not published. Whether the free tier allows commercial use is unclear — check the provider docs.
Does DFlight API need an API key?
No — DFlight API needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).
Can I call DFlight API from the browser?
Yes — DFlight API returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.
Is DFlight API up right now?
DFlight API is catalogued but not yet on our probe schedule, so we don't publish a live status for it. Check the provider's own status page or docs for its current state.