GraphQL is a query language for APIs that uses a type system to define queries and mutations. It originated at Facebook in 2011 to address issues with REST APIs like multiple round trips and misaligned data shapes. GraphQL allows clients to specify exactly what data they need in a single request, making it more efficient than REST. It has gained popularity with over 300 billion requests per day on Facebook and adoption by companies like GitHub for their APIs.