diff --git a/Network/HTTP/Client.hs b/Network/HTTP/Client.hs
--- a/Network/HTTP/Client.hs
+++ b/Network/HTTP/Client.hs
@@ -78,6 +78,7 @@
     , applyBasicAuth
     , urlEncodedBody
     , getUri
+    , setQueryString
       -- ** Request type and fields
     , Request
     , method
diff --git a/Network/HTTP/Client/Request.hs b/Network/HTTP/Client/Request.hs
--- a/Network/HTTP/Client/Request.hs
+++ b/Network/HTTP/Client/Request.hs
@@ -19,6 +19,7 @@
     , needsGunzip
     , requestBuilder
     , useDefaultTimeout
+    , setQueryString
     ) where
 
 import Data.Maybe (fromMaybe, isJust)
@@ -366,3 +367,9 @@
         <> fromByteString ": "
         <> fromByteString v
         <> fromByteString "\r\n"
+
+-- | Set the query string to the given key/value pairs.
+--
+-- Since 0.3.6
+setQueryString :: [(S.ByteString, Maybe S.ByteString)] -> Request -> Request
+setQueryString qs req = req { queryString = W.renderQuery False qs }
diff --git a/http-client.cabal b/http-client.cabal
--- a/http-client.cabal
+++ b/http-client.cabal
@@ -1,5 +1,5 @@
 name:                http-client
-version:             0.3.5
+version:             0.3.6
 synopsis:            An HTTP client engine, intended as a base layer for more user-friendly packages.
 description:         This codebase has been refactored from http-conduit.
 homepage:            https://github.com/snoyberg/http-client
