Skip to content

darseen/amadeus-ts

Repository files navigation

Amadeus Node SDK Written In TypeScript

NPM Version NPM Downloads GitHub Actions Workflow Status GitHub License

Amadeus provides a rich set of APIs for the travel industry. For more details, check out the Amadeus for Developers portal.

Important

This SDK is maintained by the developer community only. The Amadeus for Developers team doesn't support or maintain it.

Key Features

  • ✅ Full TypeScript Support.
  • 🚀 Smaller Package Size.
  • 🛠️ Enhanced Error Handling.

Installation

This module has been tested using Node LTS versions (16.x, 18.x, 20.x). You can install it using npm, pnpm or yarn.

npm install amadeus-ts

Getting Started

To make your first API call, you will need to register for an Amadeus Developer Account and set up your first application.

Usage

import Amadeus, { ResponseError } from "amadeus-ts";

const amadeus = new Amadeus({
  clientId: process.env.AMADEUS_CLIENT_ID,
  clientSecret: process.env.AMADEUS_CLIENT_SECRET,
});

async function getFlightOffers() {
  try {
    const response = await amadeus.shopping.flightOffersSearch.get({
      originLocationCode: "SYD",
      destinationLocationCode: "BKK",
      departureDate: "2024-12-01",
      adults: 2,
    });

    console.log(response.data);
  } catch (error: unknown) {
    if (error instanceof ResponseError) {
      console.log(error.code);
    }
  }
}

getFlightOffers();

Types

You can import the types of each endpoint to define the structure of your objects.

import Amadeus, { FlightOffersSearchGetParams } from "amadeus-ts";

const amadeus = new Amadeus({
  clientId: process.env.AMADEUS_CLIENT_ID,
  clientSecret: process.env.AMADEUS_CLIENT_SECRET,
});

// Define the type of the flightOffersSearch object using FlightOffersSearchGetParams
const flightOffersSearch: FlightOffersSearchGetParams = {
  originLocationCode: "SYD",
  destinationLocationCode: "BKK",
  departureDate: "2024-12-01",
  adults: 2,
};

amadeus.shopping.flightOffersSearch.get(flightOffersSearch);

Project Example

I created flight-path as a reference project to demonstrate how to use the amadeus-ts library with Next.js 15.

Documentation

See the official amadeus-node documentation.