Top 10 Public APIs Every Web Developer Should Know About

Nile BitsNile Bits
6 min read

Public Application Programming Interfaces (APIs) are essential for creating dynamic, effective, and feature-rich online applications in today's digital environment. Without having to start from scratch, developers may include a variety of services, data sources, and capabilities into their applications thanks to these APIs. With code samples and use cases to help you make the most of these potent tools, this in-depth tutorial will explore the top 10 public APIs that every web developer should be aware of.

1. Google Maps API

Overview: Google Maps API is an essential tool for incorporating maps and geolocation features into your web applications. It provides a wealth of functionalities, including custom maps, location search, directions, and Street View.

Key Features:

  • Customizable maps

  • Geocoding and reverse geocoding

  • Directions and distance calculations

  • Street View integration

Code Example:

To get started with Google Maps API, you need an API key. Here’s a basic example of embedding a map:

<!DOCTYPE html>
<html>
<head>
  <title>Google Maps API Example</title>
  <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>
  <script>
    function initMap() {
      var map = new google.maps.Map(document.getElementById('map'), {
        center: { lat: -34.397, lng: 150.644 },
        zoom: 8
      });
    }
  </script>
</head>
<body onload="initMap()">
  <div id="map" style="height: 500px; width: 100%;"></div>
</body>
</html>

References:

2. OpenWeatherMap API

Overview: OpenWeatherMap API provides weather data, including current weather, forecasts, and historical data. It’s a valuable tool for applications that require weather-related information.

Key Features:

  • Current weather conditions

  • Forecasts (hourly, daily)

  • Historical weather data

  • Weather alerts

Code Example:

Here’s how to fetch the current weather for a specific city:

const apiKey = 'YOUR_API_KEY';
const city = 'London';
const url = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}&units=metric`;

fetch(url)
  .then(response => response.json())
  .then(data => {
    console.log(`Temperature in ${city}: ${data.main.temp}°C`);
  });

References:

3. Twitter API

Overview: Twitter API allows developers to interact with Twitter data, including tweets, user profiles, and trends. It’s invaluable for applications that need to integrate with social media.

Key Features:

  • Access to tweets and user data

  • Tweet posting and retrieval

  • Trend data and analytics

  • User authentication and management

Code Example:

Here’s an example of retrieving the latest tweets

for a specific hashtag using the Twitter API:

const axios = require('axios');

const bearerToken = 'YOUR_BEARER_TOKEN';
const hashtag = 'JavaScript';
const url = `https://api.twitter.com/2/tweets/search/recent?query=%23${hashtag}`;

axios.get(url, {
  headers: {
    'Authorization': `Bearer ${bearerToken}`
  }
})
.then(response => {
  const tweets = response.data.data;
  tweets.forEach(tweet => {
    console.log(`Tweet: ${tweet.text}`);
  });
})
.catch(error => {
  console.error('Error fetching tweets:', error);
});

References:

4. GitHub API

Overview: GitHub API provides access to GitHub’s data, including repositories, commits, issues, and user information. It’s perfect for integrating GitHub functionalities into your applications.

Key Features:

  • Repository data and management

  • Issue tracking and management

  • User and organization profiles

  • Commit history

Code Example:

To fetch user repositories:

const axios = require('axios');

const username = 'octocat';
const url = `https://api.github.com/users/${username}/repos`;

axios.get(url)
  .then(response => {
    const repos = response.data;
    repos.forEach(repo => {
      console.log(`Repo: ${repo.name} - ${repo.html_url}`);
    });
  })
  .catch(error => {
    console.error('Error fetching repositories:', error);
  });

References:

5. NASA API

Overview: NASA API provides access to various NASA datasets, including imagery, planetary data, and space weather information. It’s ideal for applications with a space or science focus.

Key Features:

  • Astronomy Picture of the Day (APOD)

  • Mars Rover photos

  • Satellite imagery

  • Planetary data

Code Example:

To get the Astronomy Picture of the Day:

const axios = require('axios');

const apiKey = 'YOUR_API_KEY';
const url = `https://api.nasa.gov/planetary/apod?api_key=${apiKey}`;

axios.get(url)
  .then(response => {
    const apod = response.data;
    console.log(`Title: ${apod.title}`);
    console.log(`Explanation: ${apod.explanation}`);
    console.log(`URL: ${apod.url}`);
  })
  .catch(error => {
    console.error('Error fetching APOD:', error);
  });

References:

6. Stripe API

Overview: Stripe API provides tools for handling online payments and financial transactions. It’s a crucial API for e-commerce and subscription-based applications.

Key Features:

  • Payment processing

  • Subscription management

  • Financial reporting

  • Fraud prevention

Code Example:

To create a payment intent:

const stripe = require('stripe')('YOUR_SECRET_KEY');

const createPaymentIntent = async () => {
  const paymentIntent = await stripe.paymentIntents.create({
    amount: 1099,
    currency: 'usd',
    payment_method_types: ['card'],
  });

  console.log(`Payment Intent ID: ${paymentIntent.id}`);
};

createPaymentIntent();

References:

7. Unsplash API

Overview: Unsplash API offers access to a vast library of high-quality, free-to-use images. It’s great for integrating beautiful images into your web applications.

Key Features:

  • Search and retrieve images

  • Access to curated collections

  • Contributor information

  • Image statistics

Code Example:

To search for images of "nature":

const axios = require('axios');

const apiKey = 'YOUR_ACCESS_KEY';
const query = 'nature';
const url = `https://api.unsplash.com/search/photos?query=${query}&client_id=${apiKey}`;

axios.get(url)
  .then(response => {
    const images = response.data.results;
    images.forEach(image => {
      console.log(`Image URL: ${image.urls.regular}`);
    });
  })
  .catch(error => {
    console.error('Error fetching images:', error);
  });

References:

8. CoinGecko API

Overview: CoinGecko API provides data on cryptocurrencies, including current prices, market capitalization, and historical data. It’s essential for applications involving cryptocurrency tracking.

Key Features:

  • Cryptocurrency price data

  • Market capitalization

  • Historical data

  • Coin and market information

Code Example:

To get the current price of Bitcoin:

const axios = require('axios');

const url = 'https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd';

axios.get(url)
  .then(response => {
    const price = response.data.bitcoin.usd;
    console.log(`Current Bitcoin Price: $${price}`);
  })
  .catch(error => {
    console.error('Error fetching Bitcoin price:', error);
  });

References:

9. YouTube Data API

Overview: YouTube Data API allows you to interact with YouTube data, including videos, playlists, and channels. It’s useful for integrating video content into your applications.

Key Features:

  • Search for videos and playlists

  • Access video details and statistics

  • Manage playlists and subscriptions

  • Upload videos

Code Example:

To search for videos with a specific query:

const axios = require('axios');

const apiKey = 'YOUR_API_KEY';
const query = 'web development';
const url = `https://www.googleapis.com/youtube/v3/search?part=snippet&q=${query}&key=${apiKey}`;

axios.get(url)
  .then(response => {
    const videos = response.data.items;
    videos.forEach(video => {
      console.log(`Title: ${video.snippet.title}`);
      console.log(`Video URL: https://www.youtube.com/watch?v=${video.id.videoId}`);
    });
  })
  .catch(error => {
    console.error('Error fetching videos:', error);
  });

References:

10. Pexels API

Overview: Pexels API provides access to a large collection of free stock photos and videos. It’s ideal for enhancing web applications with high-quality visual content.

Key Features:

  • Search for photos and videos

  • Access curated collections

  • Photographer information

  • High-resolution media

Code Example:

To search for photos with the keyword "technology":

const axios = require('axios');

const apiKey = 'YOUR_API_KEY';
const query = 'technology';
const url = `https://api.pexels.com/v1/search?query=${query}`;

axios.get(url, {
  headers: {
    'Authorization': apiKey
  }
})
  .then(response => {
    const photos = response.data.photos;
    photos.forEach(photo => {
      console.log(`Photo URL: ${photo.src.large}`);
    });
  })
  .catch(error => {
    console.error('Error fetching photos:', error);
  });

References:

Conclusion

A wide range of features and services are available through public APIs, which may greatly improve your web development projects. Building feature-rich and dynamic apps is made easier with the help of these APIs, which can handle anything from payment processing and social network access to map integration and weather data integration. You may provide more reliable solutions for your consumers and expedite your development process by becoming acquainted with these ten public APIs.

Please feel free to peruse the documentation for each API to learn about its more sophisticated capabilities and customize them to your own requirements. You can continue to create cutting-edge and inventive web apps by keeping up with the latest APIs and their features as technology develops.

0
Subscribe to my newsletter

Read articles from Nile Bits directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Nile Bits
Nile Bits

Nile Bits is a software company, focusing on outsourcing software development and custom software solutions. Our outsourcing software services and solutions are designed with a focus on secure, scalable, expandable and reliable business systems. Via our low cost, high quality and reliable outsourcing software services, we provide to our clients value for money and therefore client satisfaction.