Airside Labs Aviation Tools
Aviation facts and use cases
- Category
- Data & Analytics
- Primary Subcategory
- Sector, Macro & Alternative Data Intelligence
Integration details
Description
Aviation reference tools for analysts, researchers and product teams. Resolve airports, airlines, aircraft types, registrations and flight identifiers with confidence, historical validity and source provenance. Inspect airport network integration, operator and ownership facts, engagement exceptions, connectivity and passenger-size bands. Explore a catalogue of aviation AI use cases, their data requirements, message lineage and an EASA framework screen. Reference and research data only: not live operational, flight-status, booking or safety-control information. Users can also submit product feedback for human review.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Primary Subcategory
- Sector, Macro & Alternative Data Intelligence
- Secondary Subcategories
- None listed
- Brand
- Airside Labs
- Access
- Account required
- First tracked
- 2026-09-08
- Tool count
- 22
- Geography
- US
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
ChatGPT Plugin Discovery Score
ChatGPT Plugin discovery is coming soon
ChatGPT can surface a Plugin when it matches a user's request.Your Plugin Discovery Score measures how often yours appears.
No spam. Unsubscribe any time.
What discovery looks like

Competing in ChatGPT Sector, Macro & Alternative Data Intelligence
View Category22 tools agents can invoke
How many nonstop destinations does this airport publish, and in which countries? Returns the count of nonstop destinations from the airport's published destination table, the number resolved to a country, the destinations by country, and the counts to the United States, the Gulf and the UAE, with the date of the read. This is presence, not frequency: one weekly seasonal service and a daily trunk route count the same. It is right for "does this airport connect to the US at all" and wrong for "how much traffic does it exchange with the US"; frequency needs a schedule source, which this dataset is not. Seasonal and suspended routes are counted when the table lists them. `not_covered` means the airport is outside the public set or no destination table was parsed. Reading the answer: `status` is resolved, unresolved or not_covered. `confidence` is verified (named on an official list or read on the operator's own page), programmatic (derived from a public structured source and only as current as that source) or unknown. `provenance` names each source behind the answer; `source_url` and `as_of` are the citation. Unknown is never filled from the airport's country or size.
airport_connectivity
What level of network integration does this airport have with the EUROCONTROL Network Manager, or with the FAA's TFDM programme, as of a date? Answers with one value: `ani` (Advanced Network Integrated: A-CDM with the higher level of integration), `acdm` (all DPI message types sent to the network, so a TOBT and TSAT stream exists), `adv_twr` (Advanced ATC TWR: E-DPI, C-DPI and A-DPI only, no TOBT or TSAT stream), `tfdm_a` or `tfdm_b` (FAA Terminal Flight Data Manager configurations), `standard` (removed from the Network Manager list by a notice), or `not_listed`. Each value carries its definition, the notice that establishes it, the date it has held since, and the history of changes across the notice chain. The source is the Network Manager's own Information Notice "Updated list of A-CDM, Advanced ATC TWR and ANI airports", parsed from each PDF in the chain from IN/25-001 (10 January 2025) to the current one. Pass `as_of` for a historical question: Berlin Brandenburg and Barcelona were `acdm` until 24 July 2025 and `ani` from 25 July; Edinburgh was removed on 4 December 2025 and back as `adv_twr` from 11 March 2026. Without a date you get today's list. Do NOT read `not_listed` as "no A-CDM": the list records integration with the network, and an airport can run a local A-CDM programme that never sends a DPI. Do NOT use this for the airport's live status, slots or runway data, and do not infer it from airport size or a vendor's press release; that inference is the confusion this tool exists to remove. The US part rests on the DOT OIG report of 17 July 2024, the only public site list; the FAA names no sites. Reading the answer: `status` is resolved, unresolved or not_covered. `confidence` is verified (named on an official list or read on the operator's own page), programmatic (derived from a public structured source and only as current as that source) or unknown. `provenance` names each source behind the answer; `source_url` and `as_of` are the citation. Unknown is never filled from the airport's country or size.
airport_network_integration
Is there a positive, sourced reason this airport is not open for ordinary commercial engagement: closed to civil traffic, in a sanctioned jurisdiction, or a general-aviation field with no scheduled service? Returns `closed` (no civil passenger operations, with the date and source: for example Kyiv Boryspil since 24 February 2022, Istanbul Atatürk since April 2019), `restricted` (the airport operates but sits under UK sanctions guidance for its jurisdiction, with the guidance page cited), `general-aviation` (no scheduled passenger service), or `no_exception_recorded`. The last is exactly that: this dataset records exceptions with their sources; it does not confirm that scheduled service exists, and a `no_exception_recorded` answer should not be quoted as "open". The `restricted` value can come from a country-level rule (Russia, Iran) rather than an airport-level fact; the answer says which, and the rule is the UK's guidance, not a statement about any other jurisdiction's law. Do NOT use this for daily operational status, NOTAMs or temporary closures. Reading the answer: `status` is resolved, unresolved or not_covered. `confidence` is verified (named on an official list or read on the operator's own page), programmatic (derived from a public structured source and only as current as that source) or unknown. `provenance` names each source behind the answer; `source_url` and `as_of` are the citation. Unknown is never filled from the airport's country or size.
airport_operations_status
Who operates this airport, which group would take the commercial meeting, and who owns it? Returns operator_name, operator_group (the parent that a sales or partnership conversation lands with, spelled consistently: Aena, MAG, Groupe ADP, Fraport, VINCI Airports, Adani and so on), ownership_class (public-national, public-regional, private-group, private-individual, concession-mixed or unknown), owner_name, concession_end_year where a public page states it, and the listed parent and ticker where there is one. Sources: Wikidata for every airport in the set (operator P137, owned by P127, parent P749), and the operator's own website, annual report or a national register where a row is `verified`. A `programmatic` row is only as current as its Wikidata item and can lag a concession by years; read the note before relying on it, and prefer a verified row. Do NOT use this to establish who owns the airport's systems or data, what vendors it uses, or whether the group buys centrally: it is an ownership and operator fact, not a procurement one. `not_covered` means the airport is outside the public set this dataset covers. Reading the answer: `status` is resolved, unresolved or not_covered. `confidence` is verified (named on an official list or read on the operator's own page), programmatic (derived from a public structured source and only as current as that source) or unknown. `provenance` names each source behind the answer; `source_url` and `as_of` are the citation. Unknown is never filled from the airport's country or size.
airport_operator
Which ACI passenger size band is this airport in, on its latest published annual total? Returns the passengers figure, its year, and the band on ACI World's published ASQ size categories: under 2M, 2 to 5M, 5 to 15M, 15 to 25M, 25 to 40M, over 40M passengers per year. The figure comes from the airport's Wikipedia infobox (its latest published annual total), not from ACI, so airports are not on a common year; the year travels with the answer, and a figure dated the current year is flagged as probably part-year. Use it to say "a 25 to 40M airport" in the way the industry does. Do NOT use it as a traffic statistic for comparison across airports or years, for growth, or for anything that needs a consistent reporting basis; that needs a statistics source. `not_covered` means the airport is outside the public set or its article carries no passenger figure. Reading the answer: `status` is resolved, unresolved or not_covered. `confidence` is verified (named on an official list or read on the operator's own page), programmatic (derived from a public structured source and only as current as that source) or unknown. `provenance` names each source behind the answer; `source_url` and `as_of` are the citation. Unknown is never filled from the airport's country or size.
airport_size_band
What data does this use case, role or organisation type need, and how fresh? Three modes. With `use_case_id`: that use case's requirements verbatim -- title, normalised title_family, description, nominal update rate, normalised cadence class and the kind of source system. With `query`: REVERSE lineage -- full-text search over requirement titles and descriptions (the inputs, not the use-case text), returning the use cases that CONSUME data matching the query. Ask `query="taxi-out time"` to get everything downstream of a better taxi-out estimate: each consumer with the requirement titles that matched, the total count, and the requirement families involved. This is the "if we improved this prediction/feed, what would benefit" question; combine with trace_data_lineage to see which standard messages carry the input. With neither: an aggregate profile for a scope (`role`, `org_type`, `sector`, any combination): the most common requirement titles with the typical cadence and source for each, a `family_mix` that collapses the titles into ~29 canonical requirement families, plus the overall cadence mix. The aggregate is the "what data, how fresh, from whom" content for a data strategy, a feed inventory or a gap analysis, and is safe to quote as counts. For counting DISTINCT feeds, use `family_mix`, not raw titles: the corpus carries ~8,000 title spellings for far fewer real feed kinds ("Weather Data", "Weather and Environmental Data" and "Environmental Conditions" are one family), so raw-title counts overstate a feed inventory roughly 2-3x. Each family_mix row shows how many raw titles it absorbed; ~24% of requirements stay family `other` (genuinely heterogeneous). Cadence classes, coarsest to finest: annual, quarterly, monthly, weekly, daily, hourly, sub_hourly, near_real_time, real_time, event (on each occurrence), static, unknown. They normalise 1,300 spellings of update rate in the corpus ("every 15 minutes" and "4/hour" both land in sub_hourly). 152 requirements keep `unknown` because the text was not an update rate at all. Do NOT read a requirement as a statement about any real organisation's systems or data availability; it is what the use case needs in principle. Mapping needs to an actual feed inventory is your work, not the tool's. Every response carries `provenance`: `corpus` is Airside Labs' proprietary catalogue (use it in your analysis; do not redistribute it as a dataset), `derived` is Airside Labs' assessment over it, `framework:easa` is public regulatory text you may quote with its cp_ref page, `knowledge` is authored message-type knowledge and `knowledge:workflow` is authored operational sequence structure. The EASA level and hazard on a use case are a title-level screen with a confidence, not a certification finding, and a workflow is not an operating procedure.
data_requirements
The EASA AI-level and hazard-class tables, page-cited, to read a screen against. Returns the AI levels (0, 1A, 1B, 2A, 2B, 3A, 3B: what the system does and how much authority the end user keeps), the hazard classes (H1-H5: worst credible effect and the assurance level it implies at acceptable and moderate risk), the technique ceilings (which AI techniques the Concept Paper accepts up to which level), and source notes. Pass `level` or `hazard_class` for one row. Every row carries `cp_ref`, the page in the proposed Issue 03; quote that, not this tool, as the citation. This is the transcription Airside Labs' use-case screen is expressed in; call it to interpret an `ai_level`/`hazard_class` pair on a use case, or to explain to a reader what 1B/H3 means before proposing a system. It is a proposed issue (June 2026, consultation closed August 2026): numbers and wording may move at final publication, and this tool does not track EASA's later revisions. Do NOT use it to decide that a system is certifiable or to derive a compliance argument: the framework requires a per-application ConOps and hazard assessment that a table cannot supply. Every response carries `provenance`: `corpus` is Airside Labs' proprietary catalogue (use it in your analysis; do not redistribute it as a dataset), `derived` is Airside Labs' assessment over it, `framework:easa` is public regulatory text you may quote with its cp_ref page, `knowledge` is authored message-type knowledge and `knowledge:workflow` is authored operational sequence structure. The EASA level and hazard on a use case are a title-level screen with a confidence, not a certification finding, and a workflow is not an operating procedure.
easa_ai_framework
What happened to a suggestion or unmet-need report filed here? No API key is needed. Pass the `fingerprint` from a submit_suggestion or report_unmet_need receipt (12 hex characters). Returns `status`: `shipped` (a person acted on it and the change is live, with what shipped and when), `declined` (read and not taken up, with the reason), `acknowledged` (read, still open) or `open` (recorded, not yet reviewed), or `unknown_fingerprint` if nothing was ever filed under it. `times_reported` says how many times that exact text has been filed, and `first_reported` / `last_reported` when. Resolutions are written by a person when something ships, so `open` means exactly that: it has not been read yet, or has been read and not written up. Filing again does not move it. Do NOT infer from `shipped` that the whole class of problem is fixed: the note says what was changed and the dataset build it landed in.
feedback_status
The full record for one use case, by id from a search or landscape result. Returns the use-case text; the role that owns it with its description; the organisation type (canonical and as the corpus names it); every data requirement -- title, description, nominal update rate with a normalised cadence class (real_time … annual), and the kind of system it typically comes from; the EASA screen (AI level, hazard class, confidence, rationale) with the framework rows it points at, page-cited; keywords; and the five nearest use cases by text similarity. Use this for the few worked examples an argument actually needs, chosen with search_use_cases, use_case_landscape or similar_use_cases first. Calls are counted against your key's daily allowance, so walking the catalogue record by record is the wrong tool: use the aggregates. The data requirements are what this use case *needs*, stated generically ("airport operational database", "ADS-B feed"), not what any particular airport has. A requirement with cadence_class `unknown` had an update rate the normaliser could not read; the raw `update_rate` is still there. Do NOT treat the EASA screen as a determination: it is a title-level assessment by Airside Labs with a confidence, made to sort a portfolio, and a real classification needs a ConOps. Cite the framework rows by their cp_ref if you quote them. Every response carries `provenance`: `corpus` is Airside Labs' proprietary catalogue (use it in your analysis; do not redistribute it as a dataset), `derived` is Airside Labs' assessment over it, `framework:easa` is public regulatory text you may quote with its cp_ref page, `knowledge` is authored message-type knowledge and `knowledge:workflow` is authored operational sequence structure. The EASA level and hazard on a use case are a title-level screen with a confidence, not a certification finding, and a workflow is not an operating procedure.
get_use_case
Split a flight designator into carrier and number, and identify the carrier. Accepts the forms that arrive in real message traffic: TK1979, BAW276, "U2 8341", BA02490, BA2490A. Returns the parsed carrier with its resolved airline, the flight number, any operational suffix, which scheme was used (IATA or ICAO), and both normalised forms. Two things this tool will not do. It will not tell you who operated the flight: a designator names the marketing carrier, and a codeshare is invisible in the string. And it will not invent a carrier for a bare flight number -- pass `context` and it will look for an identifier in that text, but the result is capped at 0.6 confidence and returned as a candidate, because inference is not identification. Pass `date` when parsing historical data: the carrier depends on it, since SN2103 was a Sabena flight in 1995 and a Brussels Airlines flight in 2020. A string that parses correctly but names no known airline returns `unresolved` with a note saying exactly that -- the string was read and nothing was identified, which are different achievements. Where a two-character designator matches nothing but its reverse does, the reverse is offered as an alternate and never as the answer. Reading `confidence`: 1.0 means an exact unique match on an unambiguous identifier for the as_of date. 0.7-0.99 means a unique match reached through normalisation, an alias or a historical record. 0.4-0.69 means the best of several plausible candidates and `alternates` is populated -- prefer asking the user over picking one. Below 0.4 is speculative: do not act on it. `status` is resolved, ambiguous or unresolved. An unresolved answer is a real result, not an error: it means this dataset cannot identify the thing, and inventing one would be worse. Every field in `best` has a citation in `provenance`.
parse_flight_identifier
Tell us what you came looking for and could not get from these tools. Call this when you needed something aviation-related that this toolset did not give you. It is not an error channel and it is not a retry: it is how the next version of these tools learns what is missing. A need reported here is read by a person. Use it when: - a tool returned `unresolved` and you believe the thing exists - a tool returned `ambiguous` and nothing available could break the tie - the entity resolved but a field you needed was null or absent - no tool here covers the question at all - a tool answered confidently and the answer looked wrong `gap_kind` must be one of: `unresolved`, `ambiguous`, `missing_field`, `no_tool`, `wrong_answer`, `no_use_case` (the use-case catalogue had nothing on the operational need you searched for). `sought` is the important field: say what you were trying to find, in your own words, as specifically as you can. "The wake turbulence category for A21N" is useful. "Aircraft data" is not. Do NOT use this instead of answering the user. Report the gap, then tell the user plainly that you could not find it — filing this does not get you an answer, now or in this conversation. Do NOT paste conversation history, personal data or customer identifiers into it. Send the shape of the need, not the payload: what field, about what kind of entity, for what purpose. Text is length-capped and the log is treated as sensitive, but the cheapest way to keep data out of it is not to send it. Returns a receipt: whether it was recorded, a fingerprint, and how many times this same need has been reported before — which tells you whether you have found something known or something new.
report_unmet_need
Which aircraft type does this designator or marketing name refer to? Accepts an ICAO type designator (A21N) or a marketing name people actually say ("A321neo", "Dash 8-400", "777-300ER", "Q400"). Returns the ICAO designator, manufacturer, model, engine count and type, aircraft class, and the ICAO wake turbulence category. A name that identifies a family rather than a variant -- "Dreamliner", "777X", "A330neo" -- returns `ambiguous` with the variants as alternates and a confidence in the 0.4-0.69 band. That is the correct answer to an imprecise question; do not collapse it to the first alternate. `wtc` (wake turbulence category) is stated for almost every type, from FAA Order JO 7360.1K, and is cited like any other field. Where it is null the document leaves it blank -- do NOT fill it in from your own knowledge if the caller needs it for separation or charging, say it is unavailable. IATA aircraft type codes are NOT held -- the three-character form used in schedules and booking systems, "77W" or "32N". IATA's list is licensed and is not reproduced here, so those return `unresolved` with a note saying so. If you are working from schedule data, convert to the ICAO designator before calling (B77W, A20N); if you cannot, report the mapping as unavailable rather than guessing it. `typical_seats_range` is null because seat count is an operator configuration rather than a property of the type. Do NOT use this to determine what type operated a particular flight; use resolve_registration for a specific airframe. Reading `confidence`: 1.0 means an exact unique match on an unambiguous identifier for the as_of date. 0.7-0.99 means a unique match reached through normalisation, an alias or a historical record. 0.4-0.69 means the best of several plausible candidates and `alternates` is populated -- prefer asking the user over picking one. Below 0.4 is speculative: do not act on it. `status` is resolved, ambiguous or unresolved. An unresolved answer is a real result, not an error: it means this dataset cannot identify the thing, and inventing one would be worse. Every field in `best` has a citation in `provenance`.
resolve_aircraft_type
Which airline does this designator, name or callsign refer to on a date? Accepts an IATA two-character designator, an ICAO three-letter designator, an airline name or a callsign. Returns the operator with both designators, country, operational status and, where an airline ceased, its successor. `as_of` matters more here than for any other tool. IATA two-character designators are heavily reused: SN was Sabena until 2001 and has been Brussels Airlines since 2007, so "SN" without a date is a question with two answers. Where a date falls between two holders the tool returns `unresolved` with both as alternates rather than guessing. ICAO three-letter designators are not recycled the same way and are the safer identifier to carry through a pipeline. `status` is reported as at the date asked about, not as at today: asked about 2005, Northwest Airlines is `active`, with a note that it merged into Delta in 2010. A status of `unknown` means no reliable source states it -- the bulk open data flags long-dead airlines as active, so it is not trusted. Unknown is not evidence of ceasing. Do NOT use this for fleet lists, routes, schedules, alliance membership or financial status. Reading `confidence`: 1.0 means an exact unique match on an unambiguous identifier for the as_of date. 0.7-0.99 means a unique match reached through normalisation, an alias or a historical record. 0.4-0.69 means the best of several plausible candidates and `alternates` is populated -- prefer asking the user over picking one. Below 0.4 is speculative: do not act on it. `status` is resolved, ambiguous or unresolved. An unresolved answer is a real result, not an error: it means this dataset cannot identify the thing, and inventing one would be worse. Every field in `best` has a citation in `provenance`.
resolve_airline
Which aerodrome does this airport code or name refer to on a given date? Accepts an IATA three-letter code, an ICAO four-letter code, an airport name fragment or a city name. Returns the aerodrome with its codes, location, elevation, IANA timezone and type (large, medium, small, heliport or closed). Pass `as_of` whenever the question concerns a past date. Airport codes move between aerodromes: ATH meant Ellinikon until 2001 and Athens International after it; HKG meant Kai Tak until 1998. Without a date these questions get today's answer, which is silently wrong for historical data. `timezone` is always an IANA identifier such as Europe/London, never a UTC offset, because an offset cannot express daylight saving. Do NOT use this for live operational status, runway or stand data, slots, or whether an airport is currently accepting traffic. It answers identity questions only. A name fragment matching several aerodromes returns `ambiguous` with candidates rather than picking one; use `country_hint` (ISO 3166 alpha-2) to narrow it. Reading `confidence`: 1.0 means an exact unique match on an unambiguous identifier for the as_of date. 0.7-0.99 means a unique match reached through normalisation, an alias or a historical record. 0.4-0.69 means the best of several plausible candidates and `alternates` is populated -- prefer asking the user over picking one. Below 0.4 is speculative: do not act on it. `status` is resolved, ambiguous or unresolved. An unresolved answer is a real result, not an error: it means this dataset cannot identify the thing, and inventing one would be worse. Every field in `best` has a citation in `provenance`.
resolve_airport
Which airframe wore this registration on a given date? Accepts a tail number in any common form: VH-OQA, VHOQA, lowercase, padded with whitespace. Returns the aircraft with its country of registry, ICAO type designator, an embedded resolved aircraft type, operator, owner, serial number and Mode-S hex address. A registration is a slot rather than a permanent name: marks are surrendered and reissued. VP-BRZ was an Aeroflot A320 until 2017 and a different airframe entirely from 2019, with a different Mode-S address. Pass `as_of` for any historical question. Where the date falls between two holders the tool returns `unresolved`, reports the country from the nationality mark, and offers both airframes as alternates. When the tail is unknown but the nationality mark is recognised, the response carries a `partial` object with the country of registry at confidence around 0.5. That is a partial answer, not a resolution: the aircraft is still unidentified. Coverage is not global. An unresolved registration means this dataset does not hold it, NOT that the aircraft does not exist. Do NOT infer that an aircraft is fictitious from an unresolved result, and do NOT use this for airworthiness, lease status or current position. Reading `confidence`: 1.0 means an exact unique match on an unambiguous identifier for the as_of date. 0.7-0.99 means a unique match reached through normalisation, an alias or a historical record. 0.4-0.69 means the best of several plausible candidates and `alternates` is populated -- prefer asking the user over picking one. Below 0.4 is speculative: do not act on it. `status` is resolved, ambiguous or unresolved. An unresolved answer is a real result, not an error: it means this dataset cannot identify the thing, and inventing one would be worse. Every field in `best` has a citation in `provenance`.
resolve_registration
Which aviation AI use cases match this text? Find candidates by keyword. Full-text search (BM25, stemmed) over 6,500 use cases spanning airports, airlines, ANSPs, ground handlers, regulators, manufacturers and more, each attached to a role and an organisation type. Returns summaries only -- id, short text, role, organisation type, EASA screen -- capped at 25. Use get_use_case for the full record with its data requirements. Search concrete operational nouns ("stand allocation", "baggage misconnect", "de-icing", "turnaround"), not capability labels ("shared operational picture", "digital transformation"): the corpus vocabulary is operational, and abstract phrases match little. Terms are OR-ed and ranked, so a multi-word query returns the best partial matches; `score` is relative within one query and means nothing across queries. Filters AND together. `org_type` is one of the 16 canonical types (see use_case_landscape group_by=org_type). `screened_only=True` keeps the ~1,900 use cases that carry an EASA AI-level/hazard screen; `ai_level` (0, 1A, 1B, 2A, 2B, 3A, 3B) and `hazard_class` (H1-H5) imply it. Do NOT use this to establish whether an organisation actually runs such a system, what vendor sells it, or whether it is certified: the catalogue describes plausible, well-formed use cases for a role, and says nothing about adoption. An empty result is an answer -- the catalogue has nothing on that phrasing -- and report_unmet_need with gap_kind `no_use_case` is how to say the gap mattered. Every response carries `provenance`: `corpus` is Airside Labs' proprietary catalogue (use it in your analysis; do not redistribute it as a dataset), `derived` is Airside Labs' assessment over it, `framework:easa` is public regulatory text you may quote with its cp_ref page. The EASA level and hazard on a use case are a title-level screen with a confidence, not a certification finding.
search_use_cases
What else in the catalogue is like this use case? Nearest neighbours by meaning. Returns up to 20 use cases closest in embedding space (bge-base cosine over the use-case text), as summaries with a `similarity`. Good for "what else is like the one we picked", for finding the same idea stated for a different role or organisation type, and for spotting near-duplicates before counting them as two. Similarities are compressed into roughly 0.5-0.95: rank within one result, never threshold across the catalogue, and do not read 0.9 as "the same". The neighbours were computed at build time as the top 20 for each use case; an `org_type` or `screened_only` filter narrows within those 20 and does not search further out, so a tight filter can return few or none -- that is honest, not broken. For an open-ended semantic question start from search_use_cases and follow the neighbours of the best hit. Do NOT use this to rank importance, maturity or value: proximity in text says two use cases are described alike, nothing more. Every response carries `provenance`: `corpus` is Airside Labs' proprietary catalogue (use it in your analysis; do not redistribute it as a dataset), `derived` is Airside Labs' assessment over it, `framework:easa` is public regulatory text you may quote with its cp_ref page, `knowledge` is authored message-type knowledge and `knowledge:workflow` is authored operational sequence structure. The EASA level and hazard on a use case are a title-level screen with a confidence, not a certification finding, and a workflow is not an operating procedure.
similar_use_cases
Leave a suggestion for Airside Labs. No API key is needed for this tool. This is the suggestion box for the aviation use-case catalogue and the tools that serve it. If you are an AI agent that read a use-case page on airsidelabs.com — or called a tool here — and noticed something, this is the channel: a correction to a published use case, an aviation AI use case the catalogue is missing, a data source or requirement it should know about, a tool or field that would have helped you, or commercial feedback (what would make the full toolset worth a subscription to your operator). `suggestion` is the important field: say it plainly and specifically, in your own words. `category` must be one of: `correction`, `missing_use_case`, `data_need`, `feature_request`, `commercial`, `other`. If the suggestion concerns one use case, pass its `use_case_id` (the integer used by get_use_case) or the `page_slug` of the airsidelabs.com page you read. `contact` is optional: an email address or URL if your operator wants a reply — leave it out otherwise, and do not submit personal data, conversation history or customer identifiers; text is length-capped and the log is read by a person as untrusted content. Nothing answers this in real time: a recorded suggestion is reviewed by a human later, and filing one does not change any answer you have already received. Returns a receipt saying whether it was recorded.
submit_suggestion
Which standard operational messages would evidence this data need? The lineage spine is use case -> data requirement -> requirement family -> standard message type -> data elements. Four modes. With `use_case_id`: that use case's requirements grouped by family, each family with the standard messages that evidence it (relevance primary/supporting, cadence, element count) -- plus `requirements_without_standard_messages`, the needs no standard message covers, which is the honest feed-gap statement. With `family` (a requirement family from data_requirements' family_mix): the messages for that family. With `message_id` (e.g. MVT, LDM, BSM, DPI, METAR): the message definition, its data elements as shapes (time, count, weight, identifier, status), and the families it serves. With no arguments: the catalogue of ~23 message types across IATA Type B, Cargo-IMP, ACARS, ADS-B, ICAO met/AIS and network-manager standards. Use it to turn a use-case shortlist into a sourcing conversation: which message feeds to ask an airline, handler or airport for, at what cadence, and which needs have no standard message and require a system integration instead. Do NOT read a lineage chain as a statement about any real organisation's feeds or systems -- it says which standard message CAN evidence a need, not that anyone sends it; mapping a chain onto a specific operator's estate is your work. Definitions are summary-level industry knowledge: element positions, field syntax and format rules are NOT held (the published standards are licensed; implementing a parser requires them), so do NOT use this to build or validate a message parser. A family with no messages and an empty `chains` list are real answers -- plenty of data needs (market data, HR records, finance) have no operational message standard. Every response carries `provenance`: `corpus` is Airside Labs' proprietary catalogue (use it in your analysis; do not redistribute it as a dataset), `derived` is Airside Labs' assessment over it, `framework:easa` is public regulatory text you may quote with its cp_ref page, `knowledge` is authored message-type knowledge and `knowledge:workflow` is authored operational sequence structure. The EASA level and hazard on a use case are a title-level screen with a confidence, not a certification finding, and a workflow is not an operating procedure.
trace_data_lineage
What happens before and after this use case, and who hands off to whom? The catalogue is otherwise flat -- role, use case, data requirement -- with no edges. This is the edges: named operational sequences with their steps in order, the role at each step, the `gate` that must hold before the next one may start, and what passes between roles at each handoff (headset, radio, hand signal, system, visual, document, verbal, formal correspondence). Three modes. With `use_case_id`: every workflow that places that use case, its position, and the steps immediately `preceded_by` and `followed_by` it with what transfers. That is the real operational dependency -- distinct from `similar_use_cases`, which is text similarity, and from `data_requirements(query=...)`, which infers a relationship from two use cases sharing a feed. A gate is a dependency; a shared feed is a correlation. With `workflow_id`: the whole sequence end to end. With `phase` (arrival, turnaround, departure, abnormal, oversight, certification, crew qualification, planning, mission) or nothing: the catalogue of workflows with their step and handoff counts. Use it to answer "if this prediction improved, what downstream step benefits and who would have to act on it", to see which roles a change touches, and to find the abnormal branches -- communication failure, coupling break-off, spillage, a ramp finding serious enough to stop the aircraft -- which are sequences in their own right and where the costly failures live. Some sequences cross an organisation: a finding travels from an authority to an operator and back, and those edges carry the channel `formal correspondence`. Coverage is ground handling, regulatory oversight and certification, crew qualification and rostering, and specialised missions -- not the whole catalogue. A use case with an empty `placed_in` is outside the covered sequences, which is a statement about coverage and not about the use case, and some are unplaced because they are standing monitoring states rather than sequences. A step whose `role_in_catalogue` is false is a real participant the catalogue holds no use cases for -- the flight deck on a turnaround, the officer who signs a certificate -- not a data error. The sequences are Airside Labs' derived structure: they say how this work is ordered in the industry, NOT that any particular operator runs it this way, and they are not an operating procedure. Do NOT use one as a checklist to work to; the authority for that is the operator's own manual. Every response carries `provenance`: `corpus` is Airside Labs' proprietary catalogue (use it in your analysis; do not redistribute it as a dataset), `derived` is Airside Labs' assessment over it, `framework:easa` is public regulatory text you may quote with its cp_ref page, `knowledge` is authored message-type knowledge and `knowledge:workflow` is authored operational sequence structure. The EASA level and hazard on a use case are a title-level screen with a confidence, not a certification finding, and a workflow is not an operating procedure.
trace_workflow
How many use cases are there, sliced one way? Counts you can quote. `group_by` is one of org_type (16 canonical organisation types: Airport, Airline, Air Navigation Service Provider, Ground Handling, Regulator / Authority, Aerospace Manufacturing, MRO / Maintenance …), sector, role (500+ roles), ai_level, hazard_class, or cadence_class (counts data requirements rather than use cases). Filters AND together and apply before grouping, so group_by=role with org_type=Airport lists airport roles by how many use cases each carries. Also returns the total in scope and how many of those carry an EASA screen. This is the tool to call first: it tells you what the catalogue covers before you search it, and the exact spellings that the filters accept. Grouping the whole catalogue by ai_level or hazard_class shows a large null bucket -- only the ~1,900 airport-operations use cases were screened; pass screened_only=True to see the screened distribution alone. Counts describe the catalogue, not the industry: a type with many use cases is a type the corpus describes in detail, not one that adopts more AI. Do NOT present a count as market evidence. Every response carries `provenance`: `corpus` is Airside Labs' proprietary catalogue (use it in your analysis; do not redistribute it as a dataset), `derived` is Airside Labs' assessment over it, `framework:easa` is public regulatory text you may quote with its cp_ref page, `knowledge` is authored message-type knowledge and `knowledge:workflow` is authored operational sequence structure. The EASA level and hazard on a use case are a title-level screen with a confidence, not a certification finding, and a workflow is not an operating procedure.
use_case_landscape
Do these aviation identifiers describe the same thing on this date? Give any combination of a registration (tail number), a Mode-S 24-bit address, an ICAO type designator, an operator name, an airline designator (IATA or ICAO), a callsign and a flight designator, plus `as_of`. Each pair that can be checked is checked, and every check comes back with a verdict -- `consistent`, `contradicted` or `unverifiable` -- the detail, and the rule that decided it. `contradictions` lists the failures on their own so an agent can act on them without reading everything. The top-level verdict is `consistent` ONLY when every check verified. When some checks passed but others could not be checked it is `consistent_where_checkable` -- a different answer, because an absent record silences exactly the checks that would catch a false claim about that airframe. `unverifiable_count` says how many checks were silent; treat anything above zero as partial coverage, not a pass. Use it before acting on identifiers assembled from more than one message: a movement message's registration against a surveillance track's address, a schedule's flight number against the operating airline, a type in a load message against the airframe's record. One contradiction is a contradiction; the top-level `verdict` never averages it away against the checks that passed. What the rules are: the registration record on the date (address, type, operator); a *previous* holder of a re-issued mark is named as such rather than reported as a mismatch; the FAA allocation arithmetic for N-numbers (an address decodes to exactly one N-number, so a wrong pairing is provable without any second source); a military or government airframe is said, not judged; the airline's callsign against its record and the FAA contractions order; the carrier inside the flight designator against the airline given; and whether the type designator exists at all. `unverifiable` means this dataset cannot say -- there is no record, or the record lacks the field -- and is a different answer from `consistent`. Do NOT read it as a pass. It does not check hex-to-country for non-US addresses, performance plausibility (range, block time) or anything live, and it does not resolve identifiers you did not give it: call the resolve_* tools for that. Pass `as_of` for any historical question; marks and designators are reused and an undated check is silently wrong for past data.
validate_identifiers
How do I improve a ChatGPT Plugin's discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
What are Airside Labs Aviation Tools alternatives on ChatGPT?
As of 2026-09-08, Airside Labs Aviation Tools competes with Antevo Executive Brief, Carbon Arc, Corporate Weather, Energy Aspects, FashionTrendAI, Fintech Explainer, Kpler, Mantic, Tastewise, Token Terminal, Traffik Yacht Radar in ChatGPT Sector, Macro & Alternative Data Intelligence, ranked by public Discoverability Score.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.