Introduction to the Course

Get introduced to NASA APIs, the course content, and its prerequisites.

Humankind has always been fascinated by space since the dawn of civilization. We utilized telescopes for space exploration even when we didn’t have the technology to reach beyond Earth’s atmosphere. Then came a time when mankind broke through the Earth’s limits and ventured into space to explore it. This successful attempt resulted in a boom in space exploration ventures. After that, many space exploration organizations, such as the National Aeronautics and Space Administration (NASA), were created. Thanks to these space exploration organizations, we now have more knowledge than we ever had about space.

What are NASA APIs?

Before we jump to NASA APIs, let's get an idea of what APIs are.

An API is a software gateway that allows different software components to communicate with each other. APIs help expose the capabilities of applications to the outer world, allowing programmatic access to their data.

Consider the case of an application managing the data in the public archives of NASA. Building and exposing an API for this application will allow others to programmatically fetch data, such as the images captured by Mars rovers.

The figure below gives an overview of the NASA APIs discussed in this course.

This is how we’ll progress through this course:

  • We’ll start by creating an account on the NASA APIs website to get our API key. We’ll use this key with each request for authentication purposes.
  • After getting our key, we’ll explore the APIs that give us information about Earth and Mars.
  • Then, we’ll learn about the APIs that provide access to images and videos from NASA’s public archive.
  • Finally, we’ll look at a React application in which some of these endpoints have been integrated to demonstrate how we can use these APIs in a functional React application.

To get the most out of this course, you should be familiar with:

  • The concept of APIs to get an understanding of how NASA APIs are working.
  • The structure of HTTP requests and understanding of the JSON format.
  • Basic knowledge of the JavaScript programming language.