Skip to content


Google HTTP Client Library for Java

Maven Stability CI Status


Written by Google, the Google HTTP Client Library for Java is a flexible, efficient, and powerful Java library for accessing any resource on the web via HTTP. The library has the following features:

  • Pluggable HTTP transport abstraction that allows you to use any low-level library such as, Apache HTTP Client, or URL Fetch on Google App Engine.
  • Efficient JSON and XML data models for parsing and serialization of HTTP response and request content. The JSON and XML libraries are also fully pluggable, and they include support for Jackson and Android's GSON libraries for JSON.

The library supports the following Java environments:

  • Java 7 or higher
    • The google-http-client-jackson2 and google-http-client-appengine modules require Java 8 or higher due to their dependencies.
  • Android 4.4 (Kit Kat)
  • GoogleAppEngine Google App Engine

The following related projects are built on the Google HTTP Client Library for Java:

This is an open-source library, and contributions are welcome.

Beta Features

Features marked with the @Beta annotation at the class or method level are subject to change. They might be modified in any way, or even removed, in any major release. You should not use beta features if your code is a library itself (that is, if your code is used on the CLASSPATH of users outside your own control).

Deprecated Features

Deprecated non-beta features will be removed eighteen months after the release in which they are first deprecated. You must fix your usages before this time. If you don't, any type of breakage might result, and you are not guaranteed a compilation error.