The Jetspec API
Aircraft type specifications as JSON — weights, dimensions, performance, capacity and powerplant for 379 types — with the document, revision, page and section behind every figure that has one.
Most figures are not cited yet, and this is the number to judge us on.
871 of 12,682 filled cells carry a document, a revision and a page — about 7 %. The rest are inherited from the compilation this library is being rebuilt from, and are being replaced certificate by certificate. The API tells you which is which: a figure with no entry under sources has no document behind it yet, and you should treat it as you would any uncited number.
Denominator from data/coverage.json, generated 2026-10-30. The two counts above are read live.
What a response with sources looks like
This is a real row, not an illustration. method says how the figure was taken — PARSER for a figure read out of the PDF by machine, which is a different confidence from a hand-checked quote — and derived says whether it was computed from other figures rather than published.
GET /api/v1/aircraft/boeing-737-400?include=sources
{
"success": true,
"data": {
"slug": "boeing-737-400",
"name": "Boeing 737-400",
"mtowKg": 68039,
"maxLandingKg": 56245,
"sources": {
"mtowKg": {
"value": 68039,
"page": 28,
"section": "2.1 General Characteristics",
"method": "PARSER",
"derived": false,
"document": {
"title": "737 Airplane Characteristics for Airport Planning",
"number": "D6-58325-6",
"revision": "E",
"publisher": "Boeing Commercial Airplanes",
"kind": "ACAPS",
"tier": 1,
"url": "https://www.boeing.com/.../737CL_REV_E.pdf"
}
}
}
}
}Endpoints
| GET | /api/v1/aircraft | The catalogue, paginated and filterable. |
| GET | /api/v1/aircraft/:id | One type by slug or id, every field. |
| GET | /api/v1/aircraft/:id?include=sources | The same, with the citation for each documented figure attached inline. |
| GET | /api/v1/aircraft/:id/sources | The citations on their own, grouped by the document they came from. |
| GET | /api/v1/aircraft/:id/facts | Prose facts recorded against the type. |
| GET | /api/v1/search | Free-text search across types, airlines and airports. |
| GET | /api/v1/aviation-terms | The glossary behind the tooltips on the site. |
GET /api/v1/aircraft
The catalogue, paginated and filterable.
GET /api/v1/aircraft/:id
One type by slug or id, every field.
GET /api/v1/aircraft/:id?include=sources
The same, with the citation for each documented figure attached inline.
GET /api/v1/aircraft/:id/sources
The citations on their own, grouped by the document they came from.
GET /api/v1/aircraft/:id/facts
Prose facts recorded against the type.
GET /api/v1/search
Free-text search across types, airlines and airports.
GET /api/v1/aviation-terms
The glossary behind the tooltips on the site.
Responses are { success, data } or { success, error }. A key goes in the x-api-key header. Without one you are limited by address: 100 requests per 15 minutes, and 20 a minute on search. A key raises that to 1,000 per 15 minutes and gives you a bucket of your own, so an office behind one address is not sharing a limit. The monthly quotas in the table below are what the plans will meter when billing exists; today the per-window limits above are what is enforced.
Plans
| Plan | Price | Quota | Includes |
|---|---|---|---|
| Free | $0 | 1,000 requests a month | Non-commercial use, with attribution. Sources in every response. |
| Developernot yet available | $19/mo | 40,000 requests a month | Commercial use. |
| Businessnot yet available | $79/mo | 300,000 requests a month | Monthly JSON and CSV dump, changelog feed, webhooks, caching allowed. |
| Data licencenot yet available | from $499/mo | By arrangement | Redistribution, embedding, priority on coverage requests. |
- Free$0
1,000 requests a month
Non-commercial use, with attribution. Sources in every response.
- Developer$19/monot yet available
40,000 requests a month
Commercial use.
- Business$79/monot yet available
300,000 requests a month
Monthly JSON and CSV dump, changelog feed, webhooks, caching allowed.
- Data licencefrom $499/monot yet available
By arrangement
Redistribution, embedding, priority on coverage requests.
There is no way to pay yet, so there is no buy button and the paid rows are marked. The free key exists and is issued by hand. Prices are listed so that anyone deciding whether to build on this can see what it will cost rather than having to ask.
Get a key
Request a free key
The free plan is for non-commercial use, with attribution. Keys are issued by hand, so say what you are building — that is what the decision is made on, and it is how this project learns who the API is actually for.
The free plan is non-commercial and needs attribution — the exact wording is on the data licence page, along with what the photographs and the source documents allow, which is not the same thing. How the figures are checked is described on the About page.