All Blogs

AxiosZodWeb DevelopmentAPIError Handling

Zod for Validation, Axios for Communication: A Perfect API Strategy

Sheryar Amir
Sheryar AmirSenior Software Engineer
Zod for Validation, Axios for Communication: A Perfect API Strategy

In the world of web development, we often come across tools that make our lives easier. Two such popular tools are Axios and Zod. They serve different purposes but are often used together to build reliable, secure, and smooth web applications.

What Are Axios and Zod?

Axios: What It Is and Where We Use It

Axios is a JavaScript library used to send and receive data from servers. Think of it as a messenger between your application and the server. For example, when you click “Submit” on a form, Axios helps send that data to the backend.

Use cases:

  • Sending login or signup information

  • Getting product lists from a server

  • Updating user profiles

Zod: What It Is and Where We Use It

Zod is a TypeScript-first schema validation library. In simple terms, it checks if the data is correct before we use it. For example, if your form requires an email, Zod makes sure the user actually enters a valid email.

Use cases:

  • Form validation

  • API response validation

  • Checking user input before sending it to the backend

What Are the Benefits of Using Axios and Zod?

Axios:

  • Simple to use and beginner-friendly

  • Handles requests and responses cleanly

  • Built-in support for error handling and timeouts

Zod:

  • Prevents bad data from breaking your app

  • Helps catch bugs early

  • Easy to integrate with other tools like React, Next.js, and TypeScript

Why These Technologies Make Life Simple

Imagine you’re building a house:

  • Axios is like your delivery truck it brings in supplies (data) from different places.

  • Zod is your quality inspector. It checks every item to ensure it’s the right size and not broken.

Together, they ensure your project is built with the right materials and functions smoothly. They save time, reduce errors, and make your app more reliable.

// Import Axios and Zod

import axios from 'axios';
import { z } from 'zod';

// 1. Define Zod schema for the user input you want to send

const CreateUserSchema = z.object({
  name: z.string().min(3, 'Name must be at least 3 characters'),
  email: z.string().email('Invalid email format'),
});

// 2. Define your async function

async function createUser(data: unknown) {
  try {
    // 3. Validate input data with Zod

    const validatedData = CreateUserSchema.parse(data);

    // 4. Send valid data via Axios POST request

    const response = await axios.post('https://example.com/user', validatedData);

    console.log('User created:', response.data);
  } catch (error) {
    if (error instanceof z.ZodError) {
      console.error('Validation Error:', error.errors);
    } else {
      console.error('Axios or Network Error:', error);
    }
  }
}

// 5. Example usage with valid and invalid data

const userInput = {
  name: 'John Doe',
  email: 'john.doe@example.com',
};

createUser(userInput);

What Do We Suggest to Young Developers?

If you’re just getting started:

  • Use Axios to connect to APIs it’s easier than using raw fetch and comes with helpful features.

  • Learn Zod to validate your data it’s a lifesaver when things go wrong.

  • Don’t just rely on front-end validations clean data is key to building secure and professional apps.

  • Combine Axios and Zod to validate API responses after fetching them. This adds a powerful layer of protection to your app!

Final Thoughts

Even if you’re not a developer but work with websites or apps, understanding how tools like Axios and Zod work gives you more clarity. These tools aren’t just for tech experts they’re designed to make everyone’s life easier by ensuring data is correct and communication between systems is smooth.

About the Author

Sheryar Amir

Sheryar Amir

Senior Software Engineer

Connect on LinkedIn