Goibibo

Goibibo

Transportation

API for travel search. Domain for all APIs is 'developer.goibibo.com'. And these contain search and data APIs only, if you would like to integrate our booking flow and payment gateway, please contact us.

Visit API

📚 Documentation & Examples

Everything you need to integrate with Goibibo

🚀 Quick Start Examples

Goibibo Javascript Examplejavascript
// Goibibo API Example
const response = await fetch('https://developer.goibibo.com/docs', {
    method: 'GET',
    headers: {
        'Content-Type': 'application/json'
    }
});

const data = await response.json();
console.log(data);

Explore Goibibo's Public API with JavaScript

Goibibo is a popular online travel booking platform that provides various services like hotel bookings, flight tickets, and bus rentals. Goibibo also provides a public API that developers can leverage to build their travel-related applications.

In this tutorial, we will explore Goibibo's public API and show you how to make API requests using JavaScript. We will use AJAX (Asynchronous JavaScript and XML) to send HTTP requests and update the web page in real-time with API data.

Getting Started

To get started, you need an API key. If you don't have one, you can get it from Goibibo's API developer portal at https://developer.goibibo.com/register. Once you have an API key, you're ready to make API requests.

Making API Requests

We will use the jQuery AJAX library to make API requests and handle the response. Here's an example of how to make a request to Goibibo's flights API to get the list of flights from Bangalore to Delhi.

$.ajax({
  url: "https://developer.goibibo.com/api/search/",
  type: "POST",
  data: {
    app_id: "your_app_id",
    app_key: "your_app_key",
    format: "json",
    source: "BLR",
    destination: "DEL",
    dateofdeparture: "20211120",
    seatingclass: "E",
    adults: "1",
    children: "0",
    infants: "0",
    counter: "100"
  },
  success: function(data) {
    console.log(data);
  }
});

Let's break down this code block.

  • The url parameter is the endpoint of the API we're requesting.
  • The type parameter is the HTTP method to use for the request. In this case, we're using POST.
  • The data parameter is the data we're sending to the server in the request body.
  • The success function is called when the API responds with data.

The data object contains the parameters that the API expects. In this case, we're requesting flights from Bangalore to Delhi on 20th November 2021 with seating class E.

Handling API Responses

When the Goibibo API responds, it will return a JSON structured response. Here's an example of the JSON response that we'll get from our previous API request:

{
  "data": [
    {
      "origin": "BLR",
      "destination": "DEL",
      "airline": "6E",
      "flightno": "191",
      "departdate": "2021-11-20",
      "arrivedate": "2021-11-20",
      "arrivetime": "21:40:00",
      "seatingclass": "E",
      "currency": "INR",
      "totalfare": 7897,
      "adultbasefare": 6600,
      "adultsurcharges": 1290,
      "adulttax": 1007,
      "childfare": 0,
      "childbasefare": 0,
      "childsurcharges": 0,
      "childtax": 0,
      "infantfare": 0,
      "infantbasefare": 0,
      "infantsurcharges": 0,
      "infanttax": 0,
      "commercials": [
        {
          "farebasis": "PSAKW",
          "faretype": "P",
          "index": "0",
          "farebreakdown": [
            {
              "faretype": "Basic",
              "amount": 6600
            },
            {
              "faretype": "Surcharge",
              "amount": 1290
            },
            {
              "faretype": "Tax",
              "amount": 1007
            }
          ]
        }
      ]
    }
  ]
}

We can use the success function to handle this response and update our webpage. For example, we can create a loop to iterate over all the flights and display them on the webpage.

success: function(response) {
  var flights = response.data;

  for (var i=0; i<flights.length; i++) {
    var flight = flights[i];
    var flightInfo = `
      <div class="flight">
        <h3>${flight.airline} ${flight.flightno}</h3>
        <p>${flight.origin} to ${flight.destination}</p>
        <ul>
          <li>Departure: ${flight.departdate} ${flight.departtime}</li>
          <li>Arrival: ${flight.arrivedate} ${flight.arrivetime}</li>
          <li>Total fare: ${flight.totalfare} ${flight.currency}</li>
        </ul>
      </div>
    `;
    $('#flights').append(flightInfo);
  }
}

This code block creates a div element for each flight and adds it to the #flights element on the webpage.

Conclusion

You've learned how to make API requests to Goibibo's public API and handle the JSON responses using JavaScript. Now, you can explore the many endpoints available through Goibibo's API developer portal and integrate them into your own travel-related applications.

📊 30-Day Uptime History

Daily uptime tracking showing online vs offline minutes

Jun 1Jun 3Jun 5Jun 7Jun 9Jun 11Jun 13Jun 15Jun 17Jun 19Jun 21Jun 23Jun 25Jun 27Jun 3004008001440Minutes
Online
Offline

Related APIs in Transportation