What is an API?
API stands for Application Programming Interface.
An API allows two applications to communicate with each other.
For example:
- A weather app requests weather information.
- A shopping website requests product details.
- A movie app requests movie information.
- A social media app requests user profiles.
Instead of storing all the data inside your application, you simply request it from an API.
How Does an API Work?
The communication process looks like this:
User
│
▼
JavaScript Application
│
▼
API Request
│
▼
Server
│
▼
JSON Response
│
▼
Display Data on Web Page
What is Fetch API?
The Fetch API is a built-in JavaScript feature used to send HTTP requests and receive responses from a server.
Basic syntax:
fetch(url)
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.log(error);
});
Understanding the Code
Step 1: Send a Request
fetch("https://fakestoreapi.com/products")
This sends a GET request to the API.
Step 2: Convert the Response into JSON
.then(response => response.json())
The server sends data in JSON format.
response.json() converts it into a JavaScript object.
Step 3: Use the Data
.then(data => {
console.log(data);
})
Now you can display the data on your webpage.
Step 4: Handle Errors
.catch(error => {
console.log(error);
})
If something goes wrong, the error is displayed in the console.
Complete Example
HTML
<button onclick="loadProducts()">
Load Products
</button>
<div id="products"></div>
JavaScript
function loadProducts() {
fetch("https://fakestoreapi.com/products")
.then(response => response.json())
.then(data => {
let output = "";
data.forEach(product => {
output += `
<div>
<h3>${product.title}</h3>
<img src="${product.image}" width="120">
<p>$${product.price}</p>
</div>
`;
});
document.getElementById("products").innerHTML = output;
})
.catch(error => {
console.log(error);
});
}
When you click the button, JavaScript fetches product data from the API and displays each product's title, image, and price.
Common HTTP Methods
| Method | Purpose |
|---|---|
| GET | Retrieve data |
| POST | Create new data |
| PUT | Update existing data |
| DELETE | Remove data |
The Fetch API supports all these methods.
Example of a POST request:
fetch("https://example.com/users", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
name: "John",
age: 22
})
});
Checking the Response Status
fetch("https://fakestoreapi.com/products")
.then(response => {
if (!response.ok) {
throw new Error("Request Failed");
}
return response.json();
})
.then(data => console.log(data))
.catch(error => console.log(error));
Checking response.ok helps ensure the request was successful before processing the data.
Advantages of Fetch API
- Built into modern browsers
- Easy to learn and use
- Supports Promises
- Works with JSON data
- Supports asynchronous programming
- Cleaner than older AJAX methods
Best Practices
- Always use
.catch()to handle errors. - Check
response.okbefore reading the response. - Keep API keys secure.
- Avoid making unnecessary API requests.
- Use meaningful variable names.
- Display user-friendly error messages.
Real-World Uses of APIs in JavaScript
- Weather applications
- E-commerce websites
- Movie search apps
- News websites
- Currency converters
- Chat applications
- Travel booking systems
Conclusion
The Fetch API makes it easy for JavaScript applications to communicate with servers and retrieve data. By understanding how to send requests, process JSON responses, and handle errors, you can build interactive and dynamic web applications.
If you're just starting with JavaScript, practice using free public APIs like Fake Store API or JSONPlaceholder. It's one of the best ways to improve your frontend development skills.
Top comments (0)