Ever wondered why developers are going for Axios over fetch? As we are aware both are the means to deal with or XMLHttp requests, Both are capable of making all types of API calls (get, post,put.. etc.). Both are based on Promise API which is native to ES6. But what are the major points to be noted? HTTP First, .fetch() has a two-steps process while handling JSON data. The first makes the actual request and then the second is to call the .json() method on the response. url = fetch(url) .then( response.json()) .then( .log(data)); const 'https://api.spotify.com/v1/artists/0OdUWJ0sBjDrqHygGUXeCF' => response => data console As a good developer, our main aim is to minimize the . Axios deals it with a single line. code url = axios.get(url) .then( .log(response)); const 'https://api.spotify.com/v1/artists/0OdUWJ0sBjDrqHygGUXeCF' => response console with Axios, we get the result in format by default. JSON Second is, Error handling. Logically if .fetch() gets an error it would enter the .catch() block and should return but, it eventually executes the next then() in chain. see below: But Axios handles it, the way it is expected. it returns from catch, no more .then() chaining. So, .fetch() method is a great way of getting HTTP requests native in ES6, but there are just few gotchas, that could be dealt by these third party libraries.