diff --git a/Web/Heroku.hs b/Web/Heroku.hs
--- a/Web/Heroku.hs
+++ b/Web/Heroku.hs
@@ -3,8 +3,4 @@
   , parseDatabaseUrl
   ) where
 
-import System.Environment
-import Network.URI
-import Data.Text
-import Prelude
 import Web.Heroku.Postgres (dbConnParams, parseDatabaseUrl)
diff --git a/Web/Heroku/RabbitMQ.hs b/Web/Heroku/RabbitMQ.hs
new file mode 100644
--- /dev/null
+++ b/Web/Heroku/RabbitMQ.hs
@@ -0,0 +1,42 @@
+module Web.Heroku.RabbitMQ 
+  ( AmqpSettings(..)
+  , amqpConnSettings
+  , parseAmqpUrl
+  ) where
+
+import Control.Monad
+import Data.Text ( Text, pack )
+import System.Environment
+
+data AmqpSettings = AmqpSettings
+    { amqpHostName    :: !String
+    , amqpVirtualHost :: !Text
+    , amqpUser        :: !Text
+    , amqpPass        :: !Text
+    , amqpPort        :: !Int 
+    } deriving (Show, Eq)
+
+amqpConnSettings :: IO AmqpSettings
+amqpConnSettings = liftM parseAmqpUrl (getEnv "RABBITMQ_BIGWIG_URL")
+
+parseAmqpUrl :: String -> AmqpSettings
+parseAmqpUrl = parse . pieces "" [] . trimProtocol
+  where
+    parse :: [String] -> AmqpSettings
+    parse [ user
+          , pass
+          , host
+          , port
+          , vhst 
+          ] = AmqpSettings host (pack vhst) (pack user) (pack pass) (read port)
+    parse _ = error "Unexpected environment variable format."
+
+    trimProtocol :: String -> String
+    trimProtocol ('a':'m':'q':'p':':':'/':'/':rest) = rest
+    trimProtocol str = str
+
+    pieces acc ys [] = reverse (reverse acc:ys)
+    pieces acc ys (x:xs) 
+        | x `elem` "@:/" = pieces "" (reverse acc:ys) xs 
+        | otherwise = pieces (x:acc) ys xs 
+
diff --git a/heroku.cabal b/heroku.cabal
--- a/heroku.cabal
+++ b/heroku.cabal
@@ -1,5 +1,5 @@
 Name:                heroku
-Version:             0.1.2.2
+Version:             0.1.2.3
 Synopsis:            helpers for deploying to Heroku
 Description:         currently just a parser for DATABASE_URL
 Homepage:            https://github.com/gregwebs/haskell-heroku
@@ -17,6 +17,7 @@
   Exposed-modules: Web.Heroku
                  , Web.Heroku.Postgres
                  , Web.Heroku.MongoDB
+                 , Web.Heroku.RabbitMQ
 
   Other-modules: Web.Heroku.Internal
   
diff --git a/test.hs b/test.hs
--- a/test.hs
+++ b/test.hs
@@ -1,11 +1,12 @@
 {-# LANGUAGE OverloadedStrings #-}
 module Main where
 
-import Web.Heroku
 import Test.Hspec
+import Web.Heroku
+import Web.Heroku.RabbitMQ
 
 main :: IO ()
-main = hspec $
+main = hspec $ do
   describe "parseDatabaseUrl" $
     it "extracts individual items" $
       parseDatabaseUrl "postgres://db:pass@ec2-1-1-1-1.compute-1.amazonaws.com:1234/db" `shouldBe`
@@ -15,3 +16,14 @@
         , ("port","1234")
         , ("dbname","db")
         ]
+  describe "parseAmqpUrl" $
+    it "extracts amqp connection settings" $
+      parseAmqpUrl "amqp://ebA3ec8f:54EnktG1MgGvwPftC4y7BfZIQTYqrtvD@massive-scale-12.bigwig.lshift.net:10210/Uao4j39t8qD_" `shouldBe`
+        AmqpSettings
+            { amqpHostName    = "massive-scale-12.bigwig.lshift.net"
+            , amqpVirtualHost = "Uao4j39t8qD_"
+            , amqpUser        = "ebA3ec8f"
+            , amqpPass        = "54EnktG1MgGvwPftC4y7BfZIQTYqrtvD"
+            , amqpPort        = 10210
+            }
+
