12 Essential Web APIs Every Developer Should Know
Vishal Yadav

Vishal Yadav @vyan

About: I Post Daily Blogs About Full-Stack Development

Location:
India
Joined:
May 3, 2024

12 Essential Web APIs Every Developer Should Know

Publish Date: Sep 26 '24
754 22

Mastering various Web APIs can significantly enhance your web application's functionality and user experience. These APIs provide developers with tools to interact with browsers in ways that were previously impossible. Here, we’ll explore 12 essential Web APIs, explain their functionality, and provide code examples to help you implement them in your projects.


1. Storage API

The Web Storage API (including localStorage and sessionStorage) allows you to store key-value pairs in a web browser. It's useful for saving user preferences or persisting data between sessions.

Code Example:

// Save data to localStorage
localStorage.setItem('userName', 'Vishal');

// Retrieve data from localStorage
const user = localStorage.getItem('userName');

// Clear localStorage
localStorage.removeItem('userName');
Enter fullscreen mode Exit fullscreen mode

Learn More about Storage API


2. Payment Request API

The Payment Request API simplifies the process of accepting payments on the web by providing a consistent user experience across various payment methods.

Code Example:

if (window.PaymentRequest) {
  const payment = new PaymentRequest([{
    supportedMethods: 'basic-card'
  }], {
    total: { label: 'Total', amount: { currency: 'USD', value: '10.00' } }
  });

  payment.show().then(result => {
    // Process payment result
    console.log(result);
  }).catch(error => {
    console.error('Payment failed:', error);
  });
}
Enter fullscreen mode Exit fullscreen mode

Learn More about Payment Request API


3. DOM API

The DOM (Document Object Model) API allows you to manipulate the structure, style, and content of the document. This is one of the most widely used APIs in web development.

Code Example:

// Select and update an element
const element = document.querySelector('#myElement');
element.textContent = 'Hello, World!';
Enter fullscreen mode Exit fullscreen mode

Learn More about DOM API


4. HTML Sanitizer API

The HTML Sanitizer API helps clean up untrusted HTML content to avoid security risks like XSS (Cross-Site Scripting) attacks.

Code Example:

const dirtyHTML = '<img src="javascript:alert(1)">';
const cleanHTML = sanitizer.sanitize(dirtyHTML);
console.log(cleanHTML); // Safe HTML output
Enter fullscreen mode Exit fullscreen mode

Learn More about HTML Sanitizer API


5. Canvas API

The Canvas API allows you to draw graphics and animations on a web page using the <canvas> element, perfect for creating games, visualizations, or custom graphics.

Code Example:

const canvas = document.getElementById('myCanvas');
const context = canvas.getContext('2d');
context.fillStyle = 'blue';
context.fillRect(10, 10, 150, 100);
Enter fullscreen mode Exit fullscreen mode

Learn More about Canvas API


6. History API

The History API lets you interact with the browser’s session history, allowing you to manipulate the browser's history stack (e.g., pushState, replaceState).

Code Example:

history.pushState({ page: 1 }, 'title', '/page1');
history.replaceState({ page: 2 }, 'title', '/page2');
Enter fullscreen mode Exit fullscreen mode

Learn More about History API


7. Clipboard API

The Clipboard API allows you to read from and write to the clipboard, enabling features like copy-paste functionality.

Code Example:

navigator.clipboard.writeText('Hello, Clipboard!').then(() => {
  console.log('Text copied to clipboard');
}).catch(err => {
  console.error('Failed to copy text:', err);
});
Enter fullscreen mode Exit fullscreen mode

Learn More about Clipboard API


8. Fullscreen API

The Fullscreen API allows you to present a specific element or the entire webpage in fullscreen mode, useful for videos or immersive experiences like games.

Code Example:

document.getElementById('myElement').requestFullscreen().catch(err => {
  console.error(`Error attempting to enable full-screen mode: ${err.message}`);
});
Enter fullscreen mode Exit fullscreen mode

Learn More about Fullscreen API


9. FormData API

The FormData API simplifies the process of constructing key/value pairs representing form fields and their values for easier form data submission via XHR or Fetch.

Code Example:

const form = document.querySelector('form');
const formData = new FormData(form);
fetch('/submit', {
  method: 'POST',
  body: formData
}).then(response => {
  if (response.ok) {
    console.log('Form submitted successfully!');
  }
});
Enter fullscreen mode Exit fullscreen mode

Learn More about FormData API


10. Fetch API

The Fetch API provides a modern and flexible way to make asynchronous network requests, offering a simpler, promise-based alternative to XMLHttpRequest.

Code Example:

fetch('https://api.example.com/data')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error fetching data:', error));
Enter fullscreen mode Exit fullscreen mode

Learn More about Fetch API


11. Drag and Drop API

The Drag and Drop API allows you to implement drag-and-drop functionality in your web applications, enhancing user interactions with intuitive UI elements.

Code Example:

const item = document.getElementById('item');
item.addEventListener('dragstart', (e) => {
  e.dataTransfer.setData('text/plain', item.id);
});
Enter fullscreen mode Exit fullscreen mode

Learn More about Drag and Drop API


12. Geolocation API

The Geolocation API provides access to geographical location information from the user’s device, enabling location-based services and features.

Code Example:

navigator.geolocation.getCurrentPosition((position) => {
  console.log(`Latitude: ${position.coords.latitude}, Longitude: ${position.coords.longitude}`);
}, (error) => {
   console.error(`Error getting location: ${error.message}`);
});
Enter fullscreen mode Exit fullscreen mode

Learn More about Geolocation API


Conclusion

These Web APIs open up a world of possibilities for creating highly interactive, user-friendly web applications. From storage and payments to geolocation and graphics, mastering these APIs can take your web development skills to the next level.

By understanding how to effectively implement these APIs in your projects, you can significantly enhance both functionality and user experience.

References:

If you found this content helpful and would like to support, you can buy me a coffee 😊


This blog provides an updated overview of essential Web APIs every developer should know while incorporating clear explanations and practical code examples for each one.

Comments 22 total

  • Mitch Chimwemwe Chanza
    Mitch Chimwemwe ChanzaSep 26, 2024

    Awesome post

  • Martin Baun
    Martin BaunSep 26, 2024

    Fantastic work compiling this. APIs are about knowing the concepts behind them, so you know which objects/methods/concepts to look up the details of when you need them. Love that you put a lot of detail into this piece.

  • USMAN AWAN
    USMAN AWANSep 26, 2024

    Excellent brother ... ♥️🖤

  • Vishtar
    VishtarSep 26, 2024
    1. HTML Sanitizer API

    The link is broken.

  • АнонимSep 26, 2024

    [hidden by post author]

    • kvothethm
      kvothethmSep 26, 2024

      Likely, a quick Google search shows that HTML Sanitizer API is a proposed API with the goals of achieving what is described here.

    • Marvin Gregorio
      Marvin GregorioSep 27, 2024

      It seems deprecated as of Chrome version 119

  • The Eagle 🦅
    The Eagle 🦅Sep 26, 2024

    Wow, the drag and drop API looks to easy now, thanks!

  • Fajar Rahmadi
    Fajar RahmadiSep 26, 2024

    Nice...

  • alptekin I.
    alptekin I.Sep 27, 2024

    Nice summary.
    Thanks.

  • Mahesh Haveri
    Mahesh HaveriSep 27, 2024

    Thanks

  • syedGi
    syedGiSep 27, 2024

    👍🏻

  • Chandra Panta Chhetri
    Chandra Panta ChhetriSep 27, 2024

    Never heard of the payment request API, will have to look into it, thanks

  • Brandon Noronha
    Brandon NoronhaSep 27, 2024

    Great article sir👍 this will probably help me in learning various kinds of APIs and the use of them for different purposes 😃 This article will be of great help to me! Thank you sir! 😁

  • Rytchie
    RytchieSep 27, 2024

    Nice one

  • TD!
    TD!Sep 27, 2024

    Awesome

  • Serhiy
    SerhiySep 28, 2024

    Helpful list! Thanks!

Add comment