GraphQL is an API paradigm that fixes the issue of the REST which is over/under fetching, as you can get the data you need. It is strongly type and uses schema based queries. The disadvantage of using GraphQL is that it requires a bit more resources, it always uses POST when responding to requests, and when it errors, it always return status code 200, and the error message is returned in a response.