This article shows how easy it is to extend Web API and provides an example of GZIP compression. Ove Andersen has created a cool NuGet package which makes it very is to use GZIP compression with any Web API Http request/response. This package implements both client and server message handlers which can be used for the whole service or as required.
Demo Code: https://github.com/damienbod/WebApiGzip
Then add the message handler to the Web API config:
config.MessageHandlers.Insert(0, new ServerCompressionHandler(new GZipCompressor(), new DeflateCompressor()));
The NuGet package is very easy to use and the source code is also available:
The package can also be configured to only compress messages larger than a certain size, this is documented here.
Ben Foster also provides a nice implementation and also a good article showing how you could implement GZIP compression with Web API.
As you can see, Web API is easy to extend, you can use a finished NuGet package to implement GZIP for your service, or you can implement it yourself following the code examples.
You have the choice. Thanks to the 2 authors for the GZIP implementations.