Bowmark AIdocs

Lufthansa

Flight search and fares, flight status, seat maps, baggage allowance and reading an existing booking on lufthansa.com.

Domain: lufthansa.com

Also known as: Lufthansa, Lufthansa Airlines, Deutsche Lufthansa

Call it directly

bowmark.providers.lufthansa.getFlightStatus(flightNumber: string, date: string): Promise<LufthansaFlightStatus>
bowmark.providers.lufthansa.getBaggageAllowance(origin: string, destination: string, travelClass?: string, tariff?: string): Promise<LufthansaBaggageAllowance>

Functions

FunctionWhat it does
getFlightStatusLooks up a Lufthansa flight's real-time status the way lufthansa.com's own "Timetable & flight status" page does — scheduled vs. best-known actual/estimated departure and arrival times,…
getBaggageAllowanceReads the checked and carry-on baggage allowance for a route and fare — bag count and weight/size limits included free, plus what extra/oversize/overweight baggage costs — the way…

Types

interface LufthansaFlightLeg {
  flightDuration: string;
  overallStatus: string;
  departureAirport: string;
  departureAirportName: string;
  departureStatus: string;
  departureTerminal: string | null;
  departureGate: string | null;
  departureScheduledTime: string;
  departureBestTime: string | null;
  arrivalAirport: string;
  arrivalAirportName: string;
  arrivalStatus: string;
  arrivalTerminal: string | null;
  arrivalGate: string | null;
  arrivalScheduledTime: string;
  arrivalBestTime: string | null;
}
interface LufthansaFlightStatus {
  airline: string;
  flightNumber: string;
  flightDate: string;
  operatingCarrier: string;
  operatingCarrierName: string;
  aircraftType: string | null;
  multiLeg: boolean;
  legs: LufthansaFlightLeg[];
}
interface LufthansaBaggageAllowanceItem {
  id: string;
  name: string;
  quantity: number;
  description: string;
  note: string | null;
}
interface LufthansaBaggageFee {
  category: string;
  categoryType: string;
  channel: "online" | "check-in" | "at-the-gate";
  name: string;
  description: string;
  priceUSD: number | null;
}
interface LufthansaBaggageAllowance {
  origin: string;
  destination: string;
  airline: string;
  travelClass: string;
  tariff: string | null;
  tariffName: string | null;
  freeBaggage: LufthansaBaggageAllowanceItem[];
  fees: LufthansaBaggageFee[];
}

Examples

const status = await bowmark.providers.lufthansa.getFlightStatus("LH400", "2026-08-04");
log(`${status.flightNumber}: ${status.legs[0].departureAirport} -> ${status.legs[0].arrivalAirport}, ${status.legs[0].overallStatus}`);
const baggage = await bowmark.providers.lufthansa.getBaggageAllowance("JFK", "FRA", "BU", "BUFLEX");
log(`${baggage.tariffName}: ${baggage.freeBaggage.map(b => `${b.quantity}x ${b.name}`).join(", ")}`);