API
The Flight Plan Database API is provided for users and developers to build and link applications to our route and navigation data. This page documents each of the available endpoints, the parameters expected and the structure of the responses. Most endpoints of the API are publicly available without authentication. However, some endpoints require an API key, which can be obtained from your account settings page.
The data available through this API is for flight simulation use only and must not be used for real-world aviation.
Use of this API must follow both the Flight Plan Database Terms of Service and API Terms of Use
Use of this API must follow both the Flight Plan Database Terms of Service and API Terms of Use
API Terms of Use
Limits and Abuse
Request limits are used to prevent abuse of the API and ensure the data is available fairly to all users. Attempts to circumvent the limits or authentication may lead to your API access being revoked. We retain the right to reduce API limits or revoke access in the future.
Data Availability
Some data available through the Flight Plan Database website may not be available through the API, particularly where such data is subject to external license agreements. Whilst we endeavor to make as much information available as possible, in some cases this may not be feasible. Subject to these requirements, the data available through the API may change in the future.
Public Use and Attribution
When data from the API is used in any publicly accessible or distributed medium, proper attribution to the Flight Plan Database must be given wherever the data is presented, whether in a raw or modified form. Suitable attribution would be a string such as 'Using data from the Flight Plan Database', which is linked back to the homepage at https://flightplandatabase.com or the relevant page for the data presented. Alternatively, the attribution section below contains images that may be used when similarly linked back. Additionally, all public use of this data MUST be accompanied by a notice that the data is for flight simulation use only and is not suitable for real-world aviation or navigation. Services that are found to present this data as real-world suitable will be blocked from the API and we may respond to requests with warnings to end users.
General Terms
Unless otherwise specified, all use of the API is must also comply with the general terms for the Flight Plan Database. These are available at https://flightplandatabase.com/tos. Accounts must have a verified email address to be assigned an API key.
Use of the API requires that you follow these terms and failure to comply will lead to your API access being revoked. If you use an API key, your user account associated with the key may also be affected. By using the API, you agree not to use this data for real-world navigation and shall not portray this data as suitable for real-world navigation. If you are uncertain of any aspect of these terms, please contact us for further information.
Request limits are used to prevent abuse of the API and ensure the data is available fairly to all users. Attempts to circumvent the limits or authentication may lead to your API access being revoked. We retain the right to reduce API limits or revoke access in the future.
Data Availability
Some data available through the Flight Plan Database website may not be available through the API, particularly where such data is subject to external license agreements. Whilst we endeavor to make as much information available as possible, in some cases this may not be feasible. Subject to these requirements, the data available through the API may change in the future.
Public Use and Attribution
When data from the API is used in any publicly accessible or distributed medium, proper attribution to the Flight Plan Database must be given wherever the data is presented, whether in a raw or modified form. Suitable attribution would be a string such as 'Using data from the Flight Plan Database', which is linked back to the homepage at https://flightplandatabase.com or the relevant page for the data presented. Alternatively, the attribution section below contains images that may be used when similarly linked back. Additionally, all public use of this data MUST be accompanied by a notice that the data is for flight simulation use only and is not suitable for real-world aviation or navigation. Services that are found to present this data as real-world suitable will be blocked from the API and we may respond to requests with warnings to end users.
General Terms
Unless otherwise specified, all use of the API is must also comply with the general terms for the Flight Plan Database. These are available at https://flightplandatabase.com/tos. Accounts must have a verified email address to be assigned an API key.
Use of the API requires that you follow these terms and failure to comply will lead to your API access being revoked. If you use an API key, your user account associated with the key may also be affected. By using the API, you agree not to use this data for real-world navigation and shall not portray this data as suitable for real-world navigation. If you are uncertain of any aspect of these terms, please contact us for further information.
Authentication
Whilst many parts of the API are publicly accessible, some endpoints require authentication with an API access key, which is an alphanumeric string such as
To get an API key, visit your account settings page. Your account will need a verified email address to add an API key.
Endpoints that require authentication are marked as such below. Failing to provide valid authentication credentials on these endpoints will result in a HTTP 401 status code and associated error information being returned to these requests. You are responsible for maintaining the security of your private API key, which gives near full access to your Flight Plan Database account. If your key is exposed, please use the /auth/revoke endpoint to revoke your key manually.
All requests must be made over HTTPS only. Any HTTP requests will return HTTP 301 permanent redirects to their HTTPS counterparts.
VtF93tXp5IUZE307kPjijoGCUtBq4INmNTS4wlRG
. This key must be provided with each API request using HTTP basic authentication, with the API key is used as the username and a blank password. For the above example key, the resulting Authorization
header would look like so: Authorization: Basic VnRGOTN0WHA1SVVaRTMwN2tQamlqb0dDVXRCcTRJTm1OVFM0d2xSRzo=
To get an API key, visit your account settings page. Your account will need a verified email address to add an API key.
Endpoints that require authentication are marked as such below. Failing to provide valid authentication credentials on these endpoints will result in a HTTP 401 status code and associated error information being returned to these requests. You are responsible for maintaining the security of your private API key, which gives near full access to your Flight Plan Database account. If your key is exposed, please use the /auth/revoke endpoint to revoke your key manually.
All requests must be made over HTTPS only. Any HTTP requests will return HTTP 301 permanent redirects to their HTTPS counterparts.
Request Limits
API requests are rate limited on a 24 hour rolling basis to ensure fair access to all users. If you reach your daily limit, you will receive HTTP 429 error responses and an associated error. To check your limit and used requests, examine the
X-Limit-*
response headers on any request. Requests to the status endpoint will not increment your request counter.
Request Headers
Header | Type | Required | Default | Description |
---|---|---|---|---|
Authorization | String | Yes | - | HTTP Basic Authorization header using your API key in place of the username and a blank password. See the Authentication section above for further details. |
Accept | String | No | application/json | HTTP Accept content negotiation header. Used to set the response format. See media types for more information. |
X-Units | String | No | AVIATION | The units system used for numeric values, one of AVIATION , METRIC or SI . See the units section for details about which units are converted. |
Response Headers
Header | Type | Description |
---|---|---|
X-API-Version | Number | The API version that returned the response |
X-Units | String | The units system used for numeric values, one of AVIATION , METRIC or SI . See the units section for details about which units are converted. |
X-Limit-Cap | Number | The number of requests allowed per day, operated on an hourly rolling basis. i.e Requests used between 19:00 and 20:00 will become available again at 19:00 the following day. API key authenticated requests get a higher daily rate limit and can be raised if a compelling use case is presented. |
X-Limit-Used | Number | The number of requests used in the current period by the presented API key or IP address |
X-Page-Count | Number | The number of pages of results available. See Pagination for more info |
X-Page-Current | Number | The current page returned. See Pagination for more info |
X-Page-PerPage | Number | The number of items returned per page. See Pagination for more info |
X-Item-Count | Number | The number of items available |
X-Sort | String | The sort order user for returned results. See Pagination for more info |
Links | String | Standard HTTP link header containing links to related data |
Media Types
The response format and API version are specified using the
When requesting a flight plan, the following media types can be used to export the route for use in other applications.
Accept
request header to choose a media type. The allowed values are in the table below. If you do not specify a API version in your request, you will be served the latest version, which may differ from the expected format or content. Therefore, it is recommended that you always specify an API version using the correct media type when making a request. If no recognized media type is requested, the server will return JSON formatted data.Accept Header Value | Meaning |
---|---|
application/json | JSON formatted results from the latest API version |
application/vnd.fpd.v1+json | JSON formatted results from version 1 of the API |
application/xml | XML formatted results from the latest API version |
application/vnd.fpd.v1+xml | XML formatted results from version 1 of the API |
When requesting a flight plan, the following media types can be used to export the route for use in other applications.
Accept Header Value | Meaning |
---|---|
text/csv text/vnd.fpd.export.v1.csv+csv |
CSV formatted plan |
application/vnd.fpd.export.v1.fms application/vnd.fpd.export.v1.xplane |
X-Plane FMS (8, 9 & 10) formatted plan |
application/vnd.fpd.export.v1.xplane11 | X-Plane 11 formatted plan |
application/vnd.fpd.export.v1.fsx | FSX XML formatted plan |
application/vnd.fpd.export.v1.fs9 | FS2004/FS9 formatted plan |
application/vnd.fpd.export.v1.squawkbox | Squawkbox formatted plan |
application/vnd.fpd.export.v1.xfmc | X-FMC formatted plan |
application/vnd.fpd.export.v1.pmdg | PMDG rte formatted plan |
application/vnd.fpd.export.v1.pdf application/pdf |
PDF formatted plan |
application/vnd.google-earth.kml+xml application/vnd.fpd.export.v1.kml+xml |
KML formatted plan |
application/vnd.fpd.export.v1.json+json | JSON formatted plan |
application/vnd.fpd.export.v1.airbusx | Airbus X formatted plan |
application/vnd.fpd.export.v1.qualitywings | QualityWings formatted plan |
application/vnd.fpd.export.v1.ifly747 | iFly 747 (.route) formatted plan |
application/vnd.fpd.export.v1.flightgear | FlightGear formatted plan (version 2 XML) |
application/vnd.fpd.export.v1.tfdi717 | TFDi Design 717 (version 1 XML) |
application/vnd.fpd.export.v1.infiniteflight | Infinite Flight |
Errors / Status Codes
The API returns standard HTTP error codes wherever possible, along with a common error message format. In JSON, an error will be formatted like so:
{ "message": "Bad Request", "errors": [ { "param": "id", "message": "Invalid id" } ] }
Pagination
Some requests will return paginated results, with response headers showing the number of pages and items. The current page can be controlled with the
page
query parameter. The sort order can be controlled with the sort
query parameter. The number of items per page can be controlled with the limit
query parameter. Valid sort orders are created
, updated
, popularity
and distance
.
Units
Certain numeric values used by the API will be given in a specific units system; this includes lengths, distances, elevations, altitudes, speeds and temperatures. The units system can be chosen using the
X-Units
header, with a choice of AVIATION
, METRIC
or SI
. The table below shows which units are used in each of the unit systems. In the endpoint descriptions on this page, numbers in requests and responses that have units will be marked as such in the type column. The default unit system, if none is requested, is the AVIATION
system.Number Type | AVIATION | METRIC | SI |
---|---|---|---|
Length | Feet | Meters | Meters |
Distance | Nautical Miles | Kilometers | Meters |
Elevation | Feet | Meters | Meters |
Altitude | Feet | Meters | Meters |
Speed | Knots | Meters per Second | Meters per Second |
Temperature | Celsius | Celsius | Kelvin |
Climb (and Descent) Rate | Feet per Minute | Meters per Second | Meters per Second |
Parameters
All GET requests should use query string parameters. All POST, PATCH and DELETE requests should use either JSON or URL encoded bodies, with the correct associated content type. Multi-part form encoding is not accepted.
Route Objects
A number of API endpoints either send or receive route objects. These have the following structure:
The valid types are as follows:
Parameter | Type | Description |
---|---|---|
route | Route Object | A route object |
route.nodes | Array | An array of route nodes. A route must have at least 2 nodes |
route.nodes[].ident | String | Node navaid identifier |
route.nodes[].type | String | Node type. See below for valid types |
route.nodes[].lat | Number | Node latitude in decimal degrees |
route.nodes[].lon | Number | Node longitude in decimal degrees |
route.nodes[].alt | Number (altitude) | Suggested altitude at node, with units determined by the X-Units header |
route.nodes[].name | String or null | Node name. Null if not available |
route.nodes[].via | Via Object or null | Route to node. Null if not available |
route.nodes[].via.ident | String | Route to node identifier |
route.nodes[].via.type | String | Route to node type. One of SID , STAR , AWY-HI , AWY-LO , NAT or PACOT |
The valid types are as follows:
Type | Meaning |
---|---|
UKN | Unknown |
APT | Airport |
NDB | Non-directional beacon (NDB) |
VOR | VHF omni-directional range (VOR) |
FIX | Navigational fix |
DME | Distance measuring equipment |
LATLON | Latitude/Longitude point |
Attribution
Examples of suitable attribution when using data from the Flight Plan Database publicly. Image based attribution should be used preferentially.
Light Banner:
Dark Banner:
Plain Link:
Using data from the Flight Plan Database
Non-Digital Media:
Using data from the Flight Plan Database (https://flightplandatabase.com)
Light Banner:
<a href="https://flightplandatabase.com"><img src="https://static.flightplandatabase.com/images/data-banner/light.min.png" alt="Data from the Flight Plan Database"></a>
Dark Banner:
<a href="https://flightplandatabase.com"><img src="https://static.flightplandatabase.com/images/data-banner/dark.min.png" alt="Data from the Flight Plan Database"></a>
Plain Link:
Using data from the Flight Plan Database
<a href="https://flightplandatabase.com">Using data from the Flight Plan Database</a>
Non-Digital Media:
Using data from the Flight Plan Database (https://flightplandatabase.com)
Clients and Libraries
Some publicly available clients and libraries are available to make use of the APIs available on
this page:
- FlightplanDB-py - Python library - PyPI GitHub
- Mission-X - X-Plane Plugin - X-Plane.org
Please note that none of these clients or libraries are considered official nor specifically endorsed. If you know of or are working on another client/library, please contact us to get added to this list.
- FlightplanDB-py - Python library - PyPI GitHub
- Mission-X - X-Plane Plugin - X-Plane.org
Please note that none of these clients or libraries are considered official nor specifically endorsed. If you know of or are working on another client/library, please contact us to get added to this list.
Troubleshooting
If you are still having issues with the API after reading this document or have specific requirements not currently fulfilled by the API, please don't hesitate to contact us and we'll give you some further pointers.
Status
GET Index
No authentication required
Parameters:
None
Response:
Example Request
GET https://api.flightplandatabase.com/Use this endpoint to check the current status of the API. If the HTTP response code is 200 and the status message is "OK", then the API is accepting requests, you are correctly authenticated and have not hit your request limit. Any other status code or message indicates an error has occurred and the errors array will give further details. Using this endpoint does not increment the request count towards your rate limit.
Parameters:
None
Response:
Component | Type | Description |
---|---|---|
response.message | String | Status message |
response.errors | Array or null | Array of errors. Null or undefined when no error has occurred |
response.errors[] | String | Description of the error that has occurred |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
{ "message": "OK", "errors": null }
Plans
GET Fetch Plan
No authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/plan/{id}Fetches a flight plan and its associated route. Use media types to export the flight plan.
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
id | Path | Number | Yes | - | The id of the plan to fetch |
Response:
Component | Type | Description |
---|---|---|
response.id | Number | Unique plan identifier number |
response.fromICAO | String or null | ICAO code of the departure airport |
response.toICAO | String or null | ICAO code of the destination airport |
response.fromName | String or null | Name of the departure airport |
response.toName | String or null | Name of the destination airport |
response.flightNumber | String or null | Flight number of the flight plan |
response.distance | Number (Distance) | Total distance of the flight plan route, with units determined by the X-Units header |
response.maxAltitude | Number (Altitude) | Maximum altitude of the flight plan route, with units determined by the X-Units header |
response.waypoints | Number | Number of nodes in the flight plan route |
response.likes | Number | Number of times the flight plan has been liked |
response.downloads | Number | Number of times the flight plan has been downloaded |
response.popularity | Number | Relative popularity of the plan based on downloads and likes |
response.notes | String | Extra information about the flight plan |
response.encodedPolyline | String | Encoded polyline of the route, which can be used for quickly drawing maps |
response.createdAt | Date String | UTC Date and time of flight plan creation |
response.updatedAt | Date String | UTC Date and time of the last flight plan edit |
response.tags | Array | Array of flight plan tags |
response.tags[] | String | Flight plan tag |
response.cycle | Cycle Object or null | Cycle associated with the plan. Null if no cycle linked |
response.cycle.id | Number | Unique cycle identifier number |
response.cycle.ident | String | Cycle identifier string |
response.cycle.year | Number | Cycle year |
response.cycle.release | Number | Cycle release within a year |
response.user | User Object or null | User associated with the item. Null if no user linked |
response.user.id | Number | Unique user identifier number |
response.user.username | String | Username |
response.user.location | String or null | User provided location information. Null if not available |
response.user.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response.application | Application Object or null | Application associated with the item. Null if no application linked |
response.application.id | Number | Unique application identifier number |
response.application.name | String or null | Application name |
response.application.url | String or null | Application URL |
response.route | Route Object | The flight plan route. A standard route object, see the route section for more details |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/plan/62478
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 Link: </user/example>; rel="user"
{ "id": 62478, "fromICAO": "KSAN", "toICAO": "KDEN", "fromName": "San Diego Intl", "toName": "Denver Intl", "flightNumber": null, "distance": 757.33261275174, "maxAltitude": 0, "waypoints": 5, "likes": 0, "downloads": 0, "popularity": 0, "notes": "Requested: KSAN BROWS TRM LRAIN KDEN", "encodedPolyline": "wgxfEjrgjUf_Sk~pAavaEwavB}ksPsq_a@u}kSgfbc@", "createdAt": "2015-08-05T20:05:34.000Z", "updatedAt": "2015-08-05T20:05:34.000Z", "tags": [ "decoded" ], "user": { "id": 2429, "username": "example", "gravatarHash": "f30b58b998a11b5d417cc2c78df3f764", "location": null }, "route": { "nodes": [ { "type": "APT", "ident": "KSAN", "name": "San Diego Intl", "lat": 32.733555499999994, "lon": -117.1896585, "alt": 0, "via": null }, { "type": "FIX", "ident": "BROWS", "name": null, "lat": 32.631117, "lon": -116.769919, "alt": 0, "via": null }, { "type": "VOR", "ident": "TRM", "name": "THERMAL VORTAC", "lat": 33.62808333000001, "lon": -116.16019444, "alt": 0, "via": null }, { "type": "FIX", "ident": "LRAIN", "name": null, "lat": 36.517831, "lon": -110.586653, "alt": 0, "via": null }, { "type": "APT", "ident": "KDEN", "name": "Denver Intl", "lat": 39.860979670000006, "lon": -104.67189233, "alt": 0, "via": null } ] } }
POST Create Plan
Authentication required
Parameters:
Response:
Example Request
POST https://api.flightplandatabase.com/planCreates a new flight plan. Requests to this endpoint must be submitted as JSON content type.
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
route | Body | Route Object | Yes | - | The flight plan route. A standard route object, see the route section for more details |
Response:
Component | Type | Description |
---|---|---|
response.id | Number | Unique plan identifier number |
response.fromICAO | String or null | ICAO code of the departure airport |
response.toICAO | String or null | ICAO code of the destination airport |
response.fromName | String or null | Name of the departure airport |
response.toName | String or null | Name of the destination airport |
response.flightNumber | String or null | Flight number of the flight plan |
response.distance | Number (Distance) | Total distance of the flight plan route, with units determined by the X-Units header |
response.maxAltitude | Number (Altitude) | Maximum altitude of the flight plan route, with units determined by the X-Units header |
response.waypoints | Number | Number of nodes in the flight plan route |
response.likes | Number | Number of times the flight plan has been liked |
response.downloads | Number | Number of times the flight plan has been downloaded |
response.popularity | Number | Relative popularity of the plan based on downloads and likes |
response.notes | String | Extra information about the flight plan |
response.encodedPolyline | String | Encoded polyline of the route, which can be used for quickly drawing maps |
response.createdAt | Date String | UTC Date and time of flight plan creation |
response.updatedAt | Date String | UTC Date and time of the last flight plan edit |
response.tags | Array | Array of flight plan tags |
response.tags[] | String | Flight plan tag |
response.cycle | Cycle Object or null | Cycle associated with the plan. Null if no cycle linked |
response.cycle.id | Number | Unique cycle identifier number |
response.cycle.ident | String | Cycle identifier string |
response.cycle.year | Number | Cycle year |
response.cycle.release | Number | Cycle release within a year |
response.user | User Object or null | User associated with the item. Null if no user linked |
response.user.id | Number | Unique user identifier number |
response.user.username | String | Username |
response.user.location | String or null | User provided location information. Null if not available |
response.user.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response.application | Application Object or null | Application associated with the item. Null if no application linked |
response.application.id | Number | Unique application identifier number |
response.application.name | String or null | Application name |
response.application.url | String or null | Application URL |
response.route | Route Object | The flight plan route. A standard route object, see the route section for more details |
Example Request
curl -u {API_KEY}: -i -H "Content-Type: application/json" -X POST -d '{"fromICAO":"EHAM","toICAO":"KJFK","fromName":"Schiphol","toName":"John F Kennedy Intl","tags":["atlantic"],"route":{"nodes":[{"ident":"EHAM","type":"APT","lat":52.31485,"lon":4.75812,"alt":0,"name":"Schiphol","via":null},{"ident":"KJFK","type":"APT","lat":40.63990,"lon":-73.77666,"alt":0,"name":"John F Kennedy Intl","via":null}]}}' https://api.flightplandatabase.com/plan
HTTP/1.1 201 Created Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 Link: </user/example>; rel="user"
{ "id": 62493, "fromICAO": "EHAM", "toICAO": "KJFK", "fromName": "Schiphol", "toName": "John F Kennedy Intl", "flightNumber": null, "distance": 3157.88876623323, "maxAltitude": 0, "waypoints": 2, "popularity": 0, "notes": null, "encodedPolyline": "yvh~Hgi`\\lggfAjyi~M", "createdAt": "2015-08-05T22:44:34.000Z", "updatedAt": "2015-08-05T22:44:34.000Z", "tags": [ "atlantic" ], "user": { "id": 1, "username": "example", "gravatarHash": "f30b58b998a11b5d417cc2c78df3f764", "location": null }, "route": { "nodes": [ { "type": "APT", "ident": "EHAM", "name": "Schiphol", "lat": 52.31485000000001, "lon": 4.758119999999991, "alt": 0, "via": null }, { "type": "APT", "ident": "KJFK", "name": "John F Kennedy Intl", "lat": 40.63990000000001, "lon": -73.77666, "alt": 0, "via": null } ] } }
PATCH Edit Plan
Authentication required
Parameters:
Response:
Example Request
PATCH https://api.flightplandatabase.com/plan/{id}Edits a flight plan linked to your account. Requests to this endpoint must be submitted as JSON content type.
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
id | Path | Number | Yes | - | The id of the plan to edit |
fromICAO | Body | String | Yes | - | ICAO code of the departure airport |
toICAO | Body | String | Yes | - | ICAO code of the destination airport |
fromName | Body | String | Yes | - | Name of the departure airport |
toName | Body | String | Yes | - | Name of the destination airport |
flightNumber | Body | String or null | No | null | Flight number of the flight plan |
notes | Body | String | No | null | Extra information about the flight plan |
tags | Body | Array or null | No | Empty Array | Array of flight plan tags |
tags[] | Body | String | No | - | Flight plan tag |
route | Body | Route Object or undefined. | No | - | The flight plan route. A standard route object, see the route section for more details. If undefined, route will not be edited |
Response:
Component | Type | Description |
---|---|---|
response.id | Number | Unique plan identifier number |
response.fromICAO | String or null | ICAO code of the departure airport |
response.toICAO | String or null | ICAO code of the destination airport |
response.fromName | String or null | Name of the departure airport |
response.toName | String or null | Name of the destination airport |
response.flightNumber | String or null | Flight number of the flight plan |
response.distance | Number (Distance) | Total distance of the flight plan route, with units determined by the X-Units header |
response.maxAltitude | Number (Altitude) | Maximum altitude of the flight plan route, with units determined by the X-Units header |
response.waypoints | Number | Number of nodes in the flight plan route |
response.likes | Number | Number of times the flight plan has been liked |
response.downloads | Number | Number of times the flight plan has been downloaded |
response.popularity | Number | Relative popularity of the plan based on downloads and likes |
response.notes | String | Extra information about the flight plan |
response.encodedPolyline | String | Encoded polyline of the route, which can be used for quickly drawing maps |
response.createdAt | Date String | UTC Date and time of flight plan creation |
response.updatedAt | Date String | UTC Date and time of the last flight plan edit |
response.tags | Array | Array of flight plan tags |
response.tags[] | String | Flight plan tag |
response.cycle | Cycle Object or null | Cycle associated with the plan. Null if no cycle linked |
response.cycle.id | Number | Unique cycle identifier number |
response.cycle.ident | String | Cycle identifier string |
response.cycle.year | Number | Cycle year |
response.cycle.release | Number | Cycle release within a year |
response.user | User Object or null | User associated with the item. Null if no user linked |
response.user.id | Number | Unique user identifier number |
response.user.username | String | Username |
response.user.location | String or null | User provided location information. Null if not available |
response.user.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response.application | Application Object or null | Application associated with the item. Null if no application linked |
response.application.id | Number | Unique application identifier number |
response.application.name | String or null | Application name |
response.application.url | String or null | Application URL |
response.route | Route Object | The flight plan route. A standard route object, see the route section for more details |
Example Request
curl -u {API_KEY}: -i -H "Content-Type: application/json" -X PATCH -d '{"fromICAO":"EHAM","toICAO":"KJFK","fromName":"Schiphol","toName":"John F Kennedy Intl","tags":["atlantic"],"route":{"nodes":[{"ident":"EHAM","type":"APT","lat":52.31485,"lon":4.75812,"alt":0,"name":"Schiphol","via":null},{"ident":"KJFK","type":"APT","lat":40.63990,"lon":-73.77666,"alt":0,"name":"John F Kennedy Intl","via":null}]}}' https://api.flightplandatabase.com/plan/62493
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 Link: </user/example>; rel="user"
{ "id": 62493, "fromICAO": "EHAM", "toICAO": "KJFK", "fromName": "Schiphol", "toName": "John F Kennedy Intl", "flightNumber": null, "distance": 3157.88876623323, "maxAltitude": 0, "waypoints": 2, "popularity": 0, "notes": null, "encodedPolyline": "yvh~Hgi`\\lggfAjyi~M", "createdAt": "2015-08-05T22:44:34.000Z", "updatedAt": "2015-08-05T22:44:34.000Z", "tags": [ "atlantic" ], "user": { "id": 1, "username": "example", "gravatarHash": "f30b58b998a11b5d417cc2c78df3f764", "location": null }, "route": { "nodes": [ { "type": "APT", "ident": "EHAM", "name": "Schiphol", "lat": 52.31485000000001, "lon": 4.758119999999991, "alt": 0, "via": null }, { "type": "APT", "ident": "KJFK", "name": "John F Kennedy Intl", "lat": 40.63990000000001, "lon": -73.77666, "alt": 0, "via": null } ] } }
DELETE Remove Plan
Authentication required
Parameters:
Response:
Example Request
DELETE https://api.flightplandatabase.com/plan/{id}Deletes a flight plan that is linked to your account. A HTTP 200 response code indicates the plan was successfully deleted
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
id | Path | Number | Yes | - | The id of the plan to delete |
Response:
Component | Type | Description |
---|---|---|
response.message | String | Status message |
response.errors | Array or null | Array of errors. Null or undefined when no error has occurred |
response.errors[] | String | Description of the error that has occurred |
Example Request
curl -u {API_KEY}: -i -X DELETE https://api.flightplandatabase.com/plan/62493
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
{ "message": "OK", "errors": null }
GET Plan Search
No authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/search/plansSearches for for flight plans. A number of search parameters are available and will be combined to form a search request. Results are paginated
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
q | Querystring | String | No | - | Simple search query. Search departure ICAO & name, destination ICAO & name, username, tags and the flight number |
from | Querystring | String | No | - | From search query. Search departure ICAO & name |
to | Querystring | String | No | - | To search query. Search departure ICAO & name |
fromICAO | Querystring | String | No | - | Matches departure airport ICAO |
toICAO | Querystring | String | No | - | Matches destination airport ICAO |
fromName | Querystring | String | No | - | Matches departure airport name |
toName | Querystring | String | No | - | Matches destination airport name |
flightNumber | Querystring | String | No | - | Matches flight number |
distanceMin | Querystring | Number (distance) | No | - | Minimum route distance, with units determined by the X-Units header |
distanceMax | Querystring | Number (distance) | No | - | Maximum route distance, with units determined by the X-Units header |
tags | Querystring | String | No | - | Tag names to search, comma separated |
includeRoute | Querystring | Boolean | No | false | Include route objects for each plan in the response. Setting to true requires the request be authenticated with an API key |
page | Querystring | String | No | - | The page of results to fetch |
limit | Querystring | Number | No | 20 | The number of plans to return per page (max 100) |
sort | Querystring | String | No | created | The order of the returned plans. See Pagination for more options |
Response:
Component | Type | Description |
---|---|---|
response[] | Array | Array of flight plans |
response[].id | Number | Unique plan identifier number |
response[].fromICAO | String or null | ICAO code of the departure airport |
response[].toICAO | String or null | ICAO code of the destination airport |
response[].fromName | String or null | Name of the departure airport |
response[].toName | String or null | Name of the destination airport |
response[].flightNumber | String or null | Flight number of the flight plan |
response[].distance | Number (Distance) | Total distance of the flight plan route, with units determined by the X-Units header |
response[].maxAltitude | Number (Altitude) | Maximum altitude of the flight plan route, with units determined by the X-Units header |
response[].waypoints | Number | Number of nodes in the flight plan route |
response[].likes | Number | Number of times the flight plan has been liked |
response[].downloads | Number | Number of times the flight plan has been downloaded |
response[].popularity | Number | Relative popularity of the plan based on downloads and likes |
response[].notes | String | Extra information about the flight plan |
response[].encodedPolyline | String | Encoded polyline of the route, which can be used for quickly drawing maps |
response[].createdAt | Date String | UTC Date and time of flight plan creation |
response[].updatedAt | Date String | UTC Date and time of the last flight plan edit |
response[].tags | Array | Array of flight plan tags |
response[].tags[] | String | Flight plan tag |
response[].cycle | Cycle Object or null | Cycle associated with the plan. Null if no cycle linked |
response[].cycle.id | Number | Unique cycle identifier number |
response[].cycle.ident | String | Cycle identifier string |
response[].cycle.year | Number | Cycle year |
response[].cycle.release | Number | Cycle release within a year |
response[].user | User Object or null | User associated with the item. Null if no user linked |
response[].user.id | Number | Unique user identifier number |
response[].user.username | String | Username |
response[].user.location | String or null | User provided location information. Null if not available |
response[].user.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response[].application | Application Object or null | Application associated with the item. Null if no application linked |
response[].application.id | Number | Unique application identifier number |
response[].application.name | String or null | Application name |
response[].application.url | String or null | Application URL |
response[].route | Route Object | The flight plan route. A standard route object, see the route section for more details. Only returned if the includeRoute parameter is true |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/search/plans?fromICAO=EHAM&toName=Kennedy&limit=1
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 Link: </search/plans?fromICAO=EHAM&toName=Kennedy&limit=2&page=1>; rel="first", </search/plans?fromICAO=EHAM&toName=Kennedy&limit=2&page=1>; rel="prev", </search/plans?fromICAO=EHAM&toName=Kennedy&limit=2&page=3>; rel="next", </search/plans?fromICAO=EHAM&toName=Kennedy&limit=2&page=9>; rel="last" X-Page-Current: 1 X-Page-Count: 18 X-Page-PerPage: 1 X-Item-Count: 18 X-Sort: created
[ { "id": 59970, "fromICAO": "EHAM", "toICAO": "KJFK", "fromName": "Schiphol", "toName": "John F Kennedy Intl", "flightNumber": null, "distance": 3417.0572325371704, "maxAltitude": 38000, "waypoints": 37, "likes": 0, "downloads": 0, "popularity": 0, "notes": "", "encodedPolyline": "yvh~Hgi`\\qxhHjh~Ci_zAnuw@mtSt_Lcgn@hd]wn{@ldf@kfsDtefDawrEjcpD_l~D|fiDqvwJrtnJ}}yEfzpVoelA~vjH}~iCtapD_pcBjcvMogxCjdbXenlAlilN_zGtyuDimQty`OiuD|_aG{{AlqsE~|cBx}sYnxzApolQ~reK~b`|@jcwDfchRrxpKv~vh@x_dNdmyi@pmhLnhmSzvjTpapWdddJtooK|b{BnihD~bfA`||A|{l@lo{@bsfMpr|IbkeEbkmCtc~G~ioFvk|@xjhCppbEvaoF", "createdAt": "2015-07-06T08:06:41.000Z", "updatedAt": "2015-07-06T08:06:41.000Z", "tags": [ "generated" ], "user": null } ]
Likes
GET Get Like
Authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/plan/{id}/likeFetches your like status for a flight plan. A HTTP 200 status code indicates you like the plan. A HTTP 404 status code indicates you do not like the plan
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
id | Path | Number | Yes | - | The id of the plan to check |
Response:
Component | Type | Description |
---|---|---|
response.message | String | Status message |
response.errors | Array or null | Array of errors. Null or undefined when no error has occurred |
response.errors[] | String | Description of the error that has occurred |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/plan/42/like
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
{ "message": "OK", "errors": null }
POST Create Like
Authentication required
Parameters:
Response:
Example Request
POST https://api.flightplandatabase.com/plan/{id}/likeLikes a flight plan. A HTTP 201 status code indicates you have liked the plan. A HTTP 200 status code indicates you already liked the plan.
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
id | Path | Number | Yes | - | The id of the plan to like |
Response:
Component | Type | Description |
---|---|---|
response.message | String | Status message |
response.errors | Array or null | Array of errors. Null or undefined when no error has occurred |
response.errors[] | String | Description of the error that has occurred |
Example Request
curl -u {API_KEY}: -i -X POST https://api.flightplandatabase.com/plan/42/like
HTTP/1.1 201 Created Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
{ "message": "Created", "errors": null }
DELETE Remove Like
Authentication required
Parameters:
Response:
Example Request
DELETE https://api.flightplandatabase.com/plan/{id}/likeRemoves a flight plan like. A HTTP 200 status code indicates you have unliked the plan. A HTTP 404 status code indicates you did not already like the plan.
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
id | Path | Number | Yes | - | The id of the plan to unlike |
Response:
Component | Type | Description |
---|---|---|
response.message | String | Status message |
response.errors | Array or null | Array of errors. Null or undefined when no error has occurred |
response.errors[] | String | Description of the error that has occurred |
Example Request
curl -u {API_KEY}: -i -X DELETE https://api.flightplandatabase.com/plan/42/like
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
{ "message": "OK", "errors": null }
Auto
POST Generate
Authentication required
Parameters:
Response:
Example Request
POST https://api.flightplandatabase.com/auto/generateCreates a new flight plan using the route generator.
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
fromICAO | Body | String | Yes | - | The departure airport ICAO code |
toICAO | Body | String | Yes | - | The destination airport ICAO code |
useNAT | Body | Boolean | No | true | Use North Atlantic Tracks in the route generation |
usePACOT | Body | Boolean | No | true | Use Pacific Organized Track System tracks in the route generation |
useAWYLO | Body | Boolean | No | true | Use low-level airways in the route generation |
useAWYHI | Body | Boolean | No | true | Use high-level airways in the route generation |
cruiseAlt | Body | Number (altitude) | No | 35000 | Basic flight profile cruise altitude |
cruiseSpeed | Body | Number (speed) | No | 420 | Basic flight profile cruise speed |
ascentRate | Body | Number (climb rate) | No | 2500 | Basic flight profile ascent rate |
ascentSpeed | Body | Number (speed) | No | 250 | Basic flight profile ascent speed |
descentRate | Body | Number (climb rate) | No | 1500 | Basic flight profile descent rate |
descentSpeed | Body | Number (speed) | No | 250 | Basic flight profile descent speed |
Response:
Component | Type | Description |
---|---|---|
response.id | Number | Unique plan identifier number |
response.fromICAO | String or null | ICAO code of the departure airport |
response.toICAO | String or null | ICAO code of the destination airport |
response.fromName | String or null | Name of the departure airport |
response.toName | String or null | Name of the destination airport |
response.flightNumber | String or null | Flight number of the flight plan |
response.distance | Number (Distance) | Total distance of the flight plan route, with units determined by the X-Units header |
response.maxAltitude | Number (Altitude) | Maximum altitude of the flight plan route, with units determined by the X-Units header |
response.waypoints | Number | Number of nodes in the flight plan route |
response.likes | Number | Number of times the flight plan has been liked |
response.downloads | Number | Number of times the flight plan has been downloaded |
response.popularity | Number | Relative popularity of the plan based on downloads and likes |
response.notes | String | Extra information about the flight plan |
response.encodedPolyline | String | Encoded polyline of the route, which can be used for quickly drawing maps |
response.createdAt | Date String | UTC Date and time of flight plan creation |
response.updatedAt | Date String | UTC Date and time of the last flight plan edit |
response.tags | Array | Array of flight plan tags |
response.tags[] | String | Flight plan tag |
response.cycle | Cycle Object or null | Cycle associated with the plan. Null if no cycle linked |
response.cycle.id | Number | Unique cycle identifier number |
response.cycle.ident | String | Cycle identifier string |
response.cycle.year | Number | Cycle year |
response.cycle.release | Number | Cycle release within a year |
response.user | User Object or null | User associated with the item. Null if no user linked |
response.user.id | Number | Unique user identifier number |
response.user.username | String | Username |
response.user.location | String or null | User provided location information. Null if not available |
response.user.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response.application | Application Object or null | Application associated with the item. Null if no application linked |
response.application.id | Number | Unique application identifier number |
response.application.name | String or null | Application name |
response.application.url | String or null | Application URL |
Example Request
curl -u {API_KEY}: -i -H "Content-Type: application/json" -X POST -d '{"fromICAO":"EHAM","toICAO":"KJFK"}' https://api.flightplandatabase.com/auto/generate
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 Link: </user/example>; rel="user"
{ "id": 62477, "fromICAO": "EHAM", "toICAO": "KJFK", "fromName": "Schiphol", "toName": "John F Kennedy Intl", "flightNumber": null, "distance": 3250.91252425407, "maxAltitude": 44000, "waypoints": 29, "popularity": 0, "notes": "", "encodedPolyline": "yvh~Hgi`\\{_~Ajk~Lsra@tm}Gsnk@btjJgrOviuCuxKdizBwyEjjiDudCxp{Aw|ApeeAqwAvkfAubAb~y@{m@joj@yvBbk|BaxBls|C`p`Bp{va@?~|hQ_ibE~po]?~b`|@_ibE~b`|@~reK~b`|@??rz_XvvtZb|p_@fqakAx~mD|jmQh{Kzpg@`~n@zgsChomAx{eDvk|@xjhCppbEvaoF", "createdAt": "2015-08-05T20:01:32.000Z", "updatedAt": "2015-08-05T20:01:32.000Z", "tags": [ "generated" ], "user": { "id": 2429, "username": "example", "gravatarHash": "f30b58b998a11b5d417cc2c78df3f764", "location": null } }
POST Decode
Authentication required
Parameters:
Response:
Example Request
POST https://api.flightplandatabase.com/auto/decodeCreates a new flight plan using the route decoder.
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
route | Body | String | Yes | - | The route to decode. Use a comma or space separated string of waypoints, beginning and ending with valid airport ICAOs (e.g. KSAN BROWS TRM LRAIN KDEN). Airways are supported if they are preceded and followed by valid waypoints on the airway (e.g. 06TRA UL851 BEGAR). SID and STAR procedures are not currently supported and will be skipped, along with any other unmatched waypoints. |
Response:
Component | Type | Description |
---|---|---|
response.id | Number | Unique plan identifier number |
response.fromICAO | String or null | ICAO code of the departure airport |
response.toICAO | String or null | ICAO code of the destination airport |
response.fromName | String or null | Name of the departure airport |
response.toName | String or null | Name of the destination airport |
response.flightNumber | String or null | Flight number of the flight plan |
response.distance | Number (Distance) | Total distance of the flight plan route, with units determined by the X-Units header |
response.maxAltitude | Number (Altitude) | Maximum altitude of the flight plan route, with units determined by the X-Units header |
response.waypoints | Number | Number of nodes in the flight plan route |
response.likes | Number | Number of times the flight plan has been liked |
response.downloads | Number | Number of times the flight plan has been downloaded |
response.popularity | Number | Relative popularity of the plan based on downloads and likes |
response.notes | String | Extra information about the flight plan |
response.encodedPolyline | String | Encoded polyline of the route, which can be used for quickly drawing maps |
response.createdAt | Date String | UTC Date and time of flight plan creation |
response.updatedAt | Date String | UTC Date and time of the last flight plan edit |
response.tags | Array | Array of flight plan tags |
response.tags[] | String | Flight plan tag |
response.cycle | Cycle Object or null | Cycle associated with the plan. Null if no cycle linked |
response.cycle.id | Number | Unique cycle identifier number |
response.cycle.ident | String | Cycle identifier string |
response.cycle.year | Number | Cycle year |
response.cycle.release | Number | Cycle release within a year |
response.user | User Object or null | User associated with the item. Null if no user linked |
response.user.id | Number | Unique user identifier number |
response.user.username | String | Username |
response.user.location | String or null | User provided location information. Null if not available |
response.user.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response.application | Application Object or null | Application associated with the item. Null if no application linked |
response.application.id | Number | Unique application identifier number |
response.application.name | String or null | Application name |
response.application.url | String or null | Application URL |
Example Request
curl -u {API_KEY}: -i -H "Content-Type: application/json" -X POST -d '{"route":"KSAN BROWS TRM LRAIN KDEN"}' https://api.flightplandatabase.com/auto/decode
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 Link: </user/example>; rel="user"
{ "id": 62478, "fromICAO": "KSAN", "toICAO": "KDEN", "fromName": "San Diego Intl", "toName": "Denver Intl", "flightNumber": null, "distance": 757.33261275174, "maxAltitude": 0, "waypoints": 5, "popularity": 0, "notes": "Requested: KSAN BROWS TRM LRAIN KDEN", "encodedPolyline": "wgxfEjrgjUf_Sk~pAavaEwavB}ksPsq_a@u}kSgfbc@", "createdAt": "2015-08-05T20:05:34.000Z", "updatedAt": "2015-08-05T20:05:34.000Z", "tags": [ "decoded" ], "user": { "id": 2429, "username": "example", "gravatarHash": "f30b58b998a11b5d417cc2c78df3f764", "location": null } }
Users
GET Me
Authentication required
Parameters:
None
Response:
Example Request
GET https://api.flightplandatabase.com/meFetches profile information for the currently authenticated user. This is an alias of /user/{current_username}.
Parameters:
None
Response:
Component | Type | Description |
---|---|---|
response.id | Number | Unique user identifier number |
response.username | String | Username |
response.location | String or null | User provided location information. Null if not available |
response.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response.joined | Date String | UTC Date and time of user registration |
response.lastSeen | Date String | UTC Date and time the user was last connected |
response.plansCount | Number | Number of flight plans created by the user |
response.plansDistance | Number (Distance) | Total distance of all user's flight plans, with units determined by the X-Units header |
response.plansDownloads | Number | Total download count of all user's plans |
response.plansLikes | Number | Total like count of all user's plans |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/me
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 Link: </user/example/likes>; rel="likes", </user/example/plans>; rel="plans"
{ "id": 2429, "username": "example", "location": null, "gravatarHash": "f30b58b998a11b5d417cc2c78df3f764", "joined": "2015-08-04T20:43:23.000Z", "lastSeen": "2015-08-04T20:43:23.000Z", "plansCount": 1, "plansDistance": 206.39590087344462, "plansDownloads": 1, "plansLikes": 0 }
GET User
No authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/user/{username}Fetches profile information for any registered user
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
username | Path | String | Yes | - | The username of the user to fetch |
Response:
Component | Type | Description |
---|---|---|
response.id | Number | Unique user identifier number |
response.username | String | Username |
response.location | String or null | User provided location information. Null if not available |
response.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response.joined | Date String | UTC Date and time of user registration |
response.lastSeen | Date String | UTC Date and time the user was last connected |
response.plansCount | Number | Number of flight plans created by the user |
response.plansDistance | Number (Distance) | Total distance of all user's flight plans, with units determined by the X-Units header |
response.plansDownloads | Number | Total download count of all user's plans |
response.plansLikes | Number | Total like count of all user's plans |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/user/example
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 Link: </user/example/likes>; rel="likes", </user/example/plans>; rel="plans"
{ "id": 2429, "username": "example", "location": null, "gravatarHash": "f30b58b998a11b5d417cc2c78df3f764", "joined": "2015-08-04T20:43:23.000Z", "lastSeen": "2015-08-04T20:43:23.000Z", "plansCount": 1, "plansDistance": 206.39590087344462, "plansDownloads": 1, "plansLikes": 0 }
GET User Plans
No authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/user/{username}/plansFetches flight plans created by a user. Results are paginated
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
username | Path | String | Yes | - | The username of the user |
page | Querystring | String | No | - | The page of results to fetch |
limit | Querystring | Number | No | 20 | The number of plans to return per page (max 100) |
sort | Querystring | String | No | created | The order of the returned plans. See Pagination for more options |
Response:
Component | Type | Description |
---|---|---|
response[] | Array | Array of flight plans |
response[].id | Number | Unique plan identifier number |
response[].fromICAO | String or null | ICAO code of the departure airport |
response[].toICAO | String or null | ICAO code of the destination airport |
response[].fromName | String or null | Name of the departure airport |
response[].toName | String or null | Name of the destination airport |
response[].flightNumber | String or null | Flight number of the flight plan |
response[].distance | Number (Distance) | Total distance of the flight plan route, with units determined by the X-Units header |
response[].maxAltitude | Number (Altitude) | Maximum altitude of the flight plan route, with units determined by the X-Units header |
response[].waypoints | Number | Number of nodes in the flight plan route |
response[].likes | Number | Number of times the flight plan has been liked |
response[].downloads | Number | Number of times the flight plan has been downloaded |
response[].popularity | Number | Relative popularity of the plan based on downloads and likes |
response[].notes | String | Extra information about the flight plan |
response[].encodedPolyline | String | Encoded polyline of the route, which can be used for quickly drawing maps |
response[].createdAt | Date String | UTC Date and time of flight plan creation |
response[].updatedAt | Date String | UTC Date and time of the last flight plan edit |
response[].tags | Array | Array of flight plan tags |
response[].tags[] | String | Flight plan tag |
response[].cycle | Cycle Object or null | Cycle associated with the plan. Null if no cycle linked |
response[].cycle.id | Number | Unique cycle identifier number |
response[].cycle.ident | String | Cycle identifier string |
response[].cycle.year | Number | Cycle year |
response[].cycle.release | Number | Cycle release within a year |
response[].user | User Object or null | User associated with the item. Null if no user linked |
response[].user.id | Number | Unique user identifier number |
response[].user.username | String | Username |
response[].user.location | String or null | User provided location information. Null if not available |
response[].user.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response[].application | Application Object or null | Application associated with the item. Null if no application linked |
response[].application.id | Number | Unique application identifier number |
response[].application.name | String or null | Application name |
response[].application.url | String or null | Application URL |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/user/example/plans?page=1&limit=10
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 X-Page-Current: 1 X-Page-Count: 1 X-Page-PerPage: 10 X-Item-Count: 1 X-Sort: created
[ { "id": 62373, "fromICAO": "KLAS", "toICAO": "KLAX", "fromName": "Mc Carran Intl", "toName": "Los Angeles Intl", "flightNumber": null, "distance": 206.39578816273502, "maxAltitude": 18000, "waypoints": 8, "likes": 0, "downloads": 1, "popularity": 1, "notes": "", "encodedPolyline": "aaf{E`|y}T|Ftf@px\\hpe@lnCxwDbsk@rfx@vhjC`nnDd~f@zkv@nb~ChdmH", "createdAt": "2015-08-04T20:48:08.000Z", "updatedAt": "2015-08-04T20:48:08.000Z", "tags": [ "generated" ], "user": { "id": 2429, "username": "example", "gravatarHash": "f30b58b998a11b5d417cc2c78df3f764", "location": null } } ]
GET User Likes
No authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/user/{username}/likesFetches flight plans liked by a user. Results are paginated
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
username | Path | String | Yes | - | The username of the user |
page | Querystring | String | No | - | The page of results to fetch |
limit | Querystring | Number | No | 20 | The number of plans to return per page (max 100) |
sort | Querystring | String | No | created | The order of the returned plans. See Pagination for more options |
Response:
Component | Type | Description |
---|---|---|
response[] | Array | Array of flight plans |
response[].id | Number | Unique plan identifier number |
response[].fromICAO | String or null | ICAO code of the departure airport |
response[].toICAO | String or null | ICAO code of the destination airport |
response[].fromName | String or null | Name of the departure airport |
response[].toName | String or null | Name of the destination airport |
response[].flightNumber | String or null | Flight number of the flight plan |
response[].distance | Number (Distance) | Total distance of the flight plan route, with units determined by the X-Units header |
response[].maxAltitude | Number (Altitude) | Maximum altitude of the flight plan route, with units determined by the X-Units header |
response[].waypoints | Number | Number of nodes in the flight plan route |
response[].likes | Number | Number of times the flight plan has been liked |
response[].downloads | Number | Number of times the flight plan has been downloaded |
response[].popularity | Number | Relative popularity of the plan based on downloads and likes |
response[].notes | String | Extra information about the flight plan |
response[].encodedPolyline | String | Encoded polyline of the route, which can be used for quickly drawing maps |
response[].createdAt | Date String | UTC Date and time of flight plan creation |
response[].updatedAt | Date String | UTC Date and time of the last flight plan edit |
response[].tags | Array | Array of flight plan tags |
response[].tags[] | String | Flight plan tag |
response[].cycle | Cycle Object or null | Cycle associated with the plan. Null if no cycle linked |
response[].cycle.id | Number | Unique cycle identifier number |
response[].cycle.ident | String | Cycle identifier string |
response[].cycle.year | Number | Cycle year |
response[].cycle.release | Number | Cycle release within a year |
response[].user | User Object or null | User associated with the item. Null if no user linked |
response[].user.id | Number | Unique user identifier number |
response[].user.username | String | Username |
response[].user.location | String or null | User provided location information. Null if not available |
response[].user.gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
response[].application | Application Object or null | Application associated with the item. Null if no application linked |
response[].application.id | Number | Unique application identifier number |
response[].application.name | String or null | Application name |
response[].application.url | String or null | Application URL |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/user/example/likes?page=1&limit=10
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 X-Page-Current: 1 X-Page-Count: 1 X-Page-PerPage: 10 X-Item-Count: 1 X-Sort: created
[ { "id": 62271, "fromICAO": "SBBR", "toICAO": "KMIA", "fromName": "Brasilia Presidente Juscelino Kubitsch", "toName": "Miami Intl", "flightNumber": null, "distance": 3157.0896301647904, "maxAltitude": 34000, "waypoints": 37, "likes": 2, "downloads": 0, "popularity": 10, "notes": "", "encodedPolyline": "jyz_BlbncHuagFpenC}ckOngoGar}Bta~A}aqErrxCcwdEncoCmydXt{`QwjaN|dvI}}vIr~rF}vxHro~EshcLn{gHw}oGtyoDiveKhcvFmivIjm}FiqfHnxwEgmiBbcmAyubBrwhAisn@~h`@o~f@hb[kzYd{Qw{qAzey@ktmAl_v@imlDjsxBmu`Rr`wLkjzFz|aEwdoF|p|Dk{|HzucGwg~CtuxAsflF~hlGugrCb{iDc{{CvixDmwrAbocB{`t@pe_Acuz@vwgAqin@xby@~cAprh@ip`DxugI", "createdAt": "2015-08-03T21:51:48.000Z", "updatedAt": "2015-08-03T21:51:48.000Z", "tags": [ "generated" ], "user": null } ]
GET User Search
No authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/search/usersSearches for users by username. These results may be paginated, check for the presence of the
X-Page-Current
headerParameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
q | Querystring | String | Yes | - | The search query |
Response:
Component | Type | Description |
---|---|---|
response[] | Array | Array of user objects |
response[].id | Number | Unique user identifier number |
response[].username | String | Username |
response[].location | String or null | User provided location information. Null if not available |
response[].gravatarHash | String | Gravatar hash based on user's account email address. Used to fetch avatar images |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/search/users?q=example
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 X-Item-Count: 1
[ { "id": 2429, "username": "example", "gravatarHash": "f30b58b998a11b5d417cc2c78df3f764", "location": null } ]
Tags
GET Tags
No authentication required
Parameters:
None
Response:
Example Request
GET https://api.flightplandatabase.com/tagsFetches current popular tags from all flight plans. Only tags with sufficient popularity are included
Parameters:
None
Response:
Component | Type | Description |
---|---|---|
response[] | Array | Array of tag objects |
response[].name | String | Tag name |
response[].description | String or null | Description of the tag. Null if no description is available |
response[].planCount | Number | Number of plans with this tag |
response[].popularity | Number | Popularity index of the tag |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/tags
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 X-Item-Count: 1
[ { "name": "Decoded", "description": "Flight plans decoded from external route strings", "planCount": 7430, "popularity": 0.010143822356129395 }, { "name": "Generated", "description": "Computer generated plans, of varying quality", "planCount": 35343, "popularity": 0.009036140132228622 }, { "name": "Real", "description": null, "planCount": 1173, "popularity": 0.00794782612327576 }, { "name": "Commercial", "description": "Flight plans derived from real world commercial airline passenger routes", "planCount": 877, "popularity": 0.0069999999788556855 }, { "name": "Multipart", "description": null, "planCount": 49, "popularity": 0.004097959187062343 }, { "name": "Novice", "description": "Plans suitable for beginners", "planCount": 223, "popularity": 0.003978475333961988 }, { "name": "Standard", "description": null, "planCount": 965, "popularity": 0.0014607253889167208 } ]
Nav
GET Airport
No authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/nav/airport/{icao}Fetches information about an airport
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
icao | Path | String | Yes | - | The airport ICAO to fetch |
Response:
Component | Type | Description |
---|---|---|
response.ICAO | String | The airport ICAO code |
response.IATA | String or null | The airport IATA code. Null if not available |
response.name | String | The airport name |
response.regionName | String or null | The geographical region the airport is located in. Null if not available |
response.elevation | Number (elevation) | The airport elevation above mean sea level, with units determined by the X-Units header |
response.lat | Number | The airport latitude in degrees |
response.lon | Number | The airport longitude in degrees |
response.magneticVariation | Number | The current magnetic variation/declination at the airport, based on the World Magnetic Model |
response.timezone | Timezone Object | The airport timezone information |
response.timezone.name | String or null | The IANA timezone the airport is located in. Null if not available |
response.timezone.offset | Number or null | The number of seconds the airport timezone is currently offset from UTC. Positive is ahead of UTC. Null if not available |
response.times | Times Object | Relevant times at the airport |
response.times.sunrise | Date String | UTC Date and time of sunrise |
response.times.sunset | Date String | UTC Date and time of sunset |
response.times.dawn | Date String | UTC Date and time of dawn |
response.times.dusk | Date String | UTC Date and time of dusk |
response.runwayCount | Number | The number of runways at the airport |
response.runways | Array | Array of runways. Note: each physical runway will appear twice, once from each end |
response.runways[].ident | String | The runway identifier |
response.runways[].width | Number (length) | The runway width, with units determined by the X-Units header |
response.runways[].length | Number (length) | The runway length, with units determined by the X-Units header |
response.runways[].bearing | Number | The runway bearing in true degrees |
response.runways[].surface | String | The runway surface material |
response.runways[].markings[] | Array | Array of strings of runway markings |
response.runways[].lighting[] | Array | Array of strings of runway lighting types |
response.runways[].thresholdOffset | Number (length) | The distance of the displaced threshold from the runway end, with units determined by the X-Units header |
response.runways[].overrunLength | Number (length) | The runway overrun length, with units determined by the X-Units header |
response.runways[].ends | Array | Two element array containing the location of the two ends of the runway |
response.runways[].ends[].ident | String | The identifier of the runway end |
response.runways[].ends[].lat | Number | The latitude of the runway end |
response.runways[].ends[].lon | Number | The longitude of the runway end |
response.runways[].navaids | Array | Array of navaids associated with the current runway |
response.runways[].navaids[].ident | String | The navaid identifier |
response.runways[].navaids[].type | String | The navaid type. One of LOC-ILS , LOC-LOC , GS or DME |
response.runways[].navaids[].lat | Number | The navaid latitude |
response.runways[].navaids[].lon | Number | The navaid longitude |
response.runways[].navaids[].airport | String | The airport associated with the navaid |
response.runways[].navaids[].runway | String | The runway associated with the navaid |
response.runways[].navaids[].frequency | Number or null | The navaid frequency in Hz. Null if not available |
response.runways[].navaids[].slope | Number or null | The navaid slope in degrees from horizontal used for type GS . Null if not available |
response.runways[].navaids[].bearing | Number or null | The navaid bearing in true degrees. Null if not available |
response.runways[].navaids[].name | String or null | The navaid name. Null if not available |
response.runways[].navaids[].elevation | Number (elevation) | The navaid elevation above mean sea level, with units determined by the X-Units header |
response.runways[].navaids[].range | Number (distance) | The navaid range, with units determined by the X-Units header |
response.frequencies | Array | Array of frequencies associated with the airport |
response.frequencies[].type | String | The frequency type |
response.frequencies[].frequency | Number | The frequency in Hz |
response.frequencies[].name | String or null | The frequency name. Null if not available |
response.weather | Weather Object | Airport weather information |
response.weather.METAR | String or null | Current METAR report for the airport. Null if no METAR report is available |
response.weather.TAF | String or null | Current TAF report for the airport. Null if no TAF report is available |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/nav/airport/EGLC
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
{ "ICAO": "EGLC", "IATA": "LCY", "name": "London City", "regionName": "United Kingdom", "elevation": 19, "lat": 51.5052306, "lon": 0.05517525, "magneticVariation": -0.7303151023049803, "timezone": { "name": "Europe/London", "offset": 3600 }, "times": { "sunrise": "2015-08-04T04:28:42.115Z", "sunset": "2015-08-04T19:45:39.086Z", "dawn": "2015-08-04T03:48:43.656Z", "dusk": "2015-08-04T20:25:37.545Z" }, "runwayCount": 1, "runways": [ { "ident": "09", "width": 97.998687813, "length": 4930.643052114, "bearing": 92.89, "surface": "Concrete", "thresholdOffset": 322.014436185, "overrunLength": 164.009186601, "ends": [ { "ident": "09", "lat": 51.50557275, "lon": 0.0443354 }, { "ident": "27", "lat": 51.50488846, "lon": 0.0660151 } ], "navaids": [ { "ident": "ILST", "type": "LOC-ILS", "lat": 51.504842, "lon": 0.067503, "airport": "EGLC", "runway": "09", "frequency": 111150000, "slope": null, "bearing": 92.91, "name": "ILS-cat-I", "elevation": 19, "range": 18 }, { "ident": "ILST", "type": "GS", "lat": 51.506011, "lon": 0.047403, "airport": "EGLC", "runway": "09", "frequency": 111150000, "slope": 5.05, "bearing": 92.903, "name": "GS", "elevation": 35, "range": 10 }, { "ident": "ILST", "type": "DME", "lat": 51.505847, "lon": 0.055411, "airport": "EGLC", "runway": "09", "frequency": 111150000, "slope": null, "bearing": null, "name": "DME-ILS", "elevation": 48, "range": 18 } ] }, { "ident": "27", "width": 97.998687813, "length": 4930.643052114, "bearing": 272.91, "surface": "Concrete", "thresholdOffset": 243.011811393, "overrunLength": 279.00262509600003, "ends": [ { "ident": "27", "lat": 51.50488846, "lon": 0.0660151 }, { "ident": "09", "lat": 51.50557275, "lon": 0.0443354 } ], "navaids": [ { "ident": "ILSR", "type": "LOC-ILS", "lat": 51.505642, "lon": 0.042125, "airport": "EGLC", "runway": "27", "frequency": 111150000, "slope": null, "bearing": 272.892, "name": "ILS-cat-I", "elevation": 19, "range": 18 }, { "ident": "ILSR", "type": "GS", "lat": 51.505514, "lon": 0.06335, "airport": "EGLC", "runway": "27", "frequency": 111150000, "slope": 5.5, "bearing": 272.903, "name": "GS", "elevation": 35, "range": 10 }, { "ident": "ILSR", "type": "DME", "lat": 51.505794, "lon": 0.054425, "airport": "EGLC", "runway": "27", "frequency": 111150000, "slope": null, "bearing": null, "name": "DME-ILS", "elevation": 48, "range": 18 } ] } ], "frequencies": [ { "type": "REC", "frequency": 136350000, "name": "City Information" }, { "type": "GND", "frequency": 121820000, "name": "City Ground" }, { "type": "TWR", "frequency": 118070000, "name": "City Tower" }, { "type": "TWR", "frequency": 118400000, "name": "City Tower" }, { "type": "APP", "frequency": 132700000, "name": "City Approach" } ], "weather": { "METAR": "EGLC 042150Z AUTO 23009KT 200V270 9999 NCD 17/10 Q1016", "TAF": null } }
GET NAT Tracks
No authentication required
Parameters:
None
Response:
Example Request
GET https://api.flightplandatabase.com/nav/NATSFetches current North Atlantic Tracks
Parameters:
None
Response:
Component | Type | Description |
---|---|---|
response | Array | Array of NATs |
response[].ident | String | Track identifier |
response[].route | Route Object | Standard route object with valid flight levels included |
response[].validFrom | Date String | UTC Date and time the track is valid from |
response[].validTo | Date String | UTC Date and time the track is valid to |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/nav/NATS
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
[ { "ident": "A", "route": { "nodes": [ { "type": "FIX", "ident": "BALIX", "name": null, "lat": 59, "lon": -10, "alt": 0, "via": null }, { "type": "LATLON", "ident": "61/20", "name": null, "lat": 61, "lon": -20, "alt": 0, "via": null }, { "type": "LATLON", "ident": "61/30", "name": null, "lat": 61, "lon": -30, "alt": 0, "via": null }, { "type": "LATLON", "ident": "62/40", "name": null, "lat": 62, "lon": -40, "alt": 0, "via": null }, { "type": "LATLON", "ident": "63/50", "name": null, "lat": 63, "lon": -50, "alt": 0, "via": null } ], "eastLevels": null, "westLevels": [ 310, 320, 330, 350, 360, 370 ] }, "validFrom": "2015-08-05T11:30:00.000Z", "validTo": "2015-08-05T19:00:00.000Z" } ]
GET PACOTS Tracks
No authentication required
Parameters:
None
Response:
Example Request
GET https://api.flightplandatabase.com/nav/PACOTSFetches current Pacific Organized Track System tracks
Parameters:
None
Response:
Component | Type | Description |
---|---|---|
response | Array | Array of PACOTS tracks |
response[].ident | String | Track identifier |
response[].route | Route Object | Standard route object with valid flight levels included |
response[].validFrom | Date String | UTC Date and time the track is valid from |
response[].validTo | Date String | UTC Date and time the track is valid to |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/nav/PACOTS
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
[ { "ident": "1", "route": { "nodes": [ { "type": "FIX", "ident": "KALNA", "name": null, "lat": 39.153833, "lon": 149.8255, "alt": 0, "via": null }, { "type": "LATLON", "ident": "44N160E", "name": null, "lat": 44, "lon": 160, "alt": 0, "via": null }, { "type": "LATLON", "ident": "46N170E", "name": null, "lat": 46, "lon": 170, "alt": 0, "via": null }, { "type": "LATLON", "ident": "48N180E", "name": null, "lat": 48, "lon": 180, "alt": 0, "via": null }, { "type": "LATLON", "ident": "50N170W", "name": null, "lat": 50, "lon": -170, "alt": 0, "via": null }, { "type": "LATLON", "ident": "51N160W", "name": null, "lat": 51, "lon": -160, "alt": 0, "via": null }, { "type": "LATLON", "ident": "51N150W", "name": null, "lat": 51, "lon": -150, "alt": 0, "via": null }, { "type": "LATLON", "ident": "51N140W", "name": null, "lat": 51, "lon": -140, "alt": 0, "via": null }, { "type": "FIX", "ident": "ORNAI", "name": null, "lat": 50, "lon": -133.3975, "alt": 0, "via": null } ] }, "validFrom": "2015-08-05T07:00:00.000Z", "validTo": "2015-08-05T21:00:00.000Z" } ]
GET Search Navaids
No authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/search/navSearches navaids using a query. These results may be paginated, check for the presence of the
X-Page-Current
headerParameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
q | Querystring | String | Yes | - | The search query. Searches the navaid identifier and navaid name |
types | Querystring | String | No | All types | The navaid types to search for. If excluded, all navaid types are returned. If the parameter is defined multiple times, the search will include all passed types. Available types are in the route section |
Response:
Component | Type | Description |
---|---|---|
response | Array | Array of navaids |
response[].ident | String | Navaid identifier (airport ICAO for returned airports) |
response[].type | String | Navaid type. Available types are in the route section |
response[].lat | Number | Navaid latitude |
response[].lon | Number | Navaid longitude |
response[].name | String or null | Navaid name or null if not available |
response[].elevation | Number | Navaid elevation, with units determined by the X-Units header |
response[].airportICAO | String or null | Associated airport ICAO or null if not available |
response[].runwayIdent | String or null | Associated runway identifier or null if not available |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/search/nav?q=berlin&types=VOR&types=APT
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1 X-Item-Count: 8
[ { "ident": "45C", "type": "APT", "lat": 43.99164722, "lon": -88.962615, "name": "Berlin Field", "elevation": 773, "airportICAO": "EDDB", "runwayIdent": null }, { "ident": "EDDB", "type": "APT", "lat": 52.378541, "lon": 13.52062925, "name": "Berlin Schoenefeld", "elevation": 157 }, { "ident": "EDDI", "type": "APT", "lat": 52.47301856, "lon": 13.40364202, "name": "[X] Berlin Tempelhof", "elevation": 164 }, { "ident": "EDDT", "type": "APT", "lat": 52.5591, "lon": 13.2901875, "name": "Berlin Tegel", "elevation": 122 }, { "ident": "KBML", "type": "APT", "lat": 44.5744015, "lon": -71.1763695, "name": "BERLIN MUNI", "elevation": 1161 }, { "ident": "MA19", "type": "APT", "lat": 42.36759305, "lon": -71.64173417, "name": "Berlin Lndg Area", "elevation": 270 }, { "ident": "OH57", "type": "APT", "lat": 40.25895055, "lon": -83.01185112, "name": "Berlin Station Lndg Strip", "elevation": 955 }, { "ident": "BML", "type": "VOR", "lat": 44.63341667, "lon": -71.18611111, "name": "BERLIN VOR-DME", "elevation": 1731 } ]
Weather
GET Weather
No authentication required
Parameters:
Response:
Example Request
GET https://api.flightplandatabase.com/weather/{icao}Fetches current weather conditions at an airport
Parameters:
Parameter | Location | Type | Required | Default | Description |
---|---|---|---|---|---|
icao | Path | String | Yes | - | The airport ICAO to fetch weather for |
Response:
Component | Type | Description |
---|---|---|
response.METAR | String or null | Current METAR report for the airport. Null if no METAR report is available |
response.TAF | String or null | Current TAF report for the airport. Null if no TAF report is available |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/weather/KLAX
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
{ "METAR": "KLAX 042053Z 26015KT 10SM FEW180 SCT250 25/17 A2994", "TAF": "TAF AMD KLAX 042058Z 0421/0524 26012G22KT P6SM SCT180 SCT250 FM050400 26007KT P6SM SCT200 FM050700 VRB05KT P6SM SCT007 SCT200 FM051800 23006KT P6SM SCT020 SCT180" }
Auth
GET Key Revoke
Authentication required
Parameters:
None
Response:
Example Request
GET https://api.flightplandatabase.com/auth/revokeUse this endpoint to manually revoke an API key in the event it is compromised. If the HTTP response code is 200 and the status message is "OK", then the key has been revoked and any further requests will be rejected. Any other status code or message indicates an error has occurred and the errors array will give further details.
Parameters:
None
Response:
Component | Type | Description |
---|---|---|
response.message | String | Status message |
response.errors | Array or null | Array of errors. Null or undefined when no error has occurred |
response.errors[] | String | Description of the error that has occurred |
Example Request
curl -u {API_KEY}: -i https://api.flightplandatabase.com/auth/revoke
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 X-API-Version: 1 X-Units: AVIATION X-Limit-Cap: 100 X-Limit-Used: 1
{ "message": "OK", "errors": null }