DEV Community

Cover image for Top 10 Public APIs Every Web Developer Should Know About
Amr Saafan for Nile Bits

Posted on • Originally published at nilebits.com

Top 10 Public APIs Every Web Developer Should Know About

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>
Enter fullscreen mode Exit fullscreen mode

References:

Google Maps API Documentation

  1. 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`);
  });
Enter fullscreen mode Exit fullscreen mode

References:

OpenWeatherMap API Documentation

  1. 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);
});
Enter fullscreen mode Exit fullscreen mode

References:

Twitter API Documentation

  1. 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);
  });
Enter fullscreen mode Exit fullscreen mode

References:

GitHub API Documentation

  1. 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);
  });
Enter fullscreen mode Exit fullscreen mode

References:

NASA API Documentation

  1. 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();
Enter fullscreen mode Exit fullscreen mode

References:

Stripe API Documentation

  1. 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);
  });
Enter fullscreen mode Exit fullscreen mode

References:

Unsplash API Documentation

  1. 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);
  });
Enter fullscreen mode Exit fullscreen mode

References:

CoinGecko API Documentation

  1. 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);
  });
Enter fullscreen mode Exit fullscreen mode

References:

YouTube Data API Documentation

  1. 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);
  });
Enter fullscreen mode Exit fullscreen mode

References:

Pexels API Documentation

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.

Top comments (0)