How to Make API Calls in Flutter

Flutter is a powerful app development framework that allows you to create cross-platform apps for iOS and Android with a single codebase. One of the most important aspects of app development is the ability to make API calls and display the data in your app. This tutorial will walk you through the process of making API calls in Flutter, parsing JSON data, and displaying it in your app.

api calls flutter

Making API Calls in Flutter

In Flutter, making an API call is relatively simple. The HTTP package provides a convenient way to make HTTP requests in Flutter. To make an API call, you need to create a HttpClient and make a get request to the API endpoint.

The following code snippet shows how to make an API call in Flutter:

import 'package:http/http.dart' as http;

// make a GET request
var response = await http.get('');

// check the status code for the result
int statusCode = response.statusCode;

if (statusCode == 200) {
  // if the call to the server was successful, parse the JSON
} else {
  // if that call was not successful, throw an error
  throw Exception('Failed to load data');

Parsing JSON Data in Flutter

Once you have made the API call, the next step is to parse the JSON data that is returned. To do this, you can use the dart:convert library. This library provides a jsonDecode method which takes a JSON string and returns a dynamic object.

The following code snippet shows how to parse JSON data in Flutter:

import 'dart:convert';

// parse the JSON
var data = jsonDecode(response.body);

// access the data
var item = data['item'];

Displaying API Data in Flutter

Once you have parsed the JSON data, you can display it in your Flutter app. Flutter provides a variety of widgets that can be used to display data. For example, you can use a ListView widget to display a list of data, or a GridView widget to display data in a grid layout.

The following code snippet shows how to display data in a ListView in Flutter:

import 'package:flutter/material.dart';

  itemCount: data.length,
  itemBuilder: (BuildContext context, int index) {
    return ListTile(
      title: Text(data[index]['title']),
      subtitle: Text(data[index]['subtitle']),


In this tutorial, you have learned how to make API calls in Flutter, parse JSON data, and display it in your app. Making API calls is an important aspect of app development, and Flutter provides a simple and powerful way to do it. With the knowledge you have gained from this tutorial, you should be able to make API calls and display data in your Flutter apps.