diff --git a/src/Yesod/Transloadit.hs b/src/Yesod/Transloadit.hs
--- a/src/Yesod/Transloadit.hs
+++ b/src/Yesod/Transloadit.hs
@@ -51,6 +51,7 @@
 import           Data.Text
 import           Data.Text.Encoding
 import           Data.Time
+import           Network.URI
 import           Text.Julius
 import           Yesod                         hiding (Key)
 import           Yesod.Form.Jquery             (YesodJquery (..))
@@ -89,8 +90,8 @@
   _extension :: Text,
   _mime      :: Maybe Type,
   _field     :: Text,
-  _url       :: Text,
-  _sslUrl    :: Text
+  _url       :: Maybe URI,
+  _sslUrl    :: Maybe URI
 } deriving (Show)
 
 $(makeLenses ''StepResult)
@@ -176,11 +177,12 @@
                  <*> v "ext"
                  <*> (parseMIMEType <$> v "mime")
                  <*> v "field"
-                 <*> v "url"
-                 <*> v "ssl_url"
+                 <*> (toURI <$> v "url")
+                 <*> (toURI <$> v "ssl_url")
   where v s = case HM.lookup s hm of
           (Just (String t)) -> Just t
           _ -> Nothing
+        toURI = parseURI . unpack
 
 -- | Helper method to pull the nth @StepResult@ for a given key from the Transloadit response
 nthStepResult :: AsValue s => Int -> Text -> Maybe s -> Maybe StepResult
diff --git a/test/Tests.hs b/test/Tests.hs
--- a/test/Tests.hs
+++ b/test/Tests.hs
@@ -11,6 +11,7 @@
 import           Data.Map
 import           Data.Maybe
 import           Data.Text
+import           Network.URI
 import           System.Locale
 import           Test.Hspec
 import           Yesod             hiding (Key, get)
@@ -61,7 +62,7 @@
 sampleDict :: Map Text (Map Text [Map Text Text])
 sampleDict = fromList [("results", results)]
              where results = fromList [("foo", stepResults)]
-                   stepResults = [fromList [("id","<id>"), ("name", "n"), ("basename", "b"), ("ext", "e"), ("mime", "text/plain"), ("field", "f"), ("url", "u"), ("ssl_url", "<ssl_url>")]]
+                   stepResults = [fromList [("id","<id>"), ("name", "n"), ("basename", "b"), ("ext", "e"), ("mime", "text/plain"), ("field", "f"), ("url", "http://foo.com"), ("ssl_url", "https://foo.com")]]
 
 sampleResult = fromJust $ nthStepResult 0 "foo" (return $ encode sampleDict)
 
@@ -81,13 +82,13 @@
       get HomeR
       bodyContains "<script src=\"https://assets.transloadit.com/js/jquery.transloadit2-v2-latest.js\"></script>"
   ydescribe "Response parsing" $ do
-    yit "grabs ssl_url" $ assertEqual "ssl_url" (sampleResult ^. sslUrl) ("<ssl_url>" :: Text)
+    yit "grabs ssl_url" $ assertEqual "ssl_url" (sampleResult ^. sslUrl) (parseURI "https://foo.com")
     yit "grabs id" $ assertEqual "id" (sampleResult ^. resultId) ("<id>" :: Text)
     yit "grabs name" $ assertEqual "name" (sampleResult ^. name) ("n" :: Text)
     yit "grabs basename" $ assertEqual "basename" (sampleResult ^. baseName) ("b" :: Text)
     yit "grabs extension" $ assertEqual "ext" (sampleResult ^. extension) ("e" :: Text)
     yit "grabs mime" $ assertEqual "mime" (sampleResult ^. mime) (parseMIMEType "text/plain")
     yit "grabs field" $ assertEqual "field" (sampleResult ^. field) ("f" :: Text)
-    yit "grabs url" $ assertEqual "url" (sampleResult ^. url) ("u" :: Text)
+    yit "grabs url" $ assertEqual "url" (sampleResult ^. url) (parseURI "http://foo.com")
 
 main = hspec formGenSpecs
diff --git a/yesod-transloadit.cabal b/yesod-transloadit.cabal
--- a/yesod-transloadit.cabal
+++ b/yesod-transloadit.cabal
@@ -1,5 +1,5 @@
 name:                yesod-transloadit
-version:             0.5.0.0
+version:             0.6.0.0
 synopsis:            Transloadit support for Yesod
 description:         Drop in Transloadit capabilites for Yesod web apps
 license:             MIT
@@ -36,6 +36,7 @@
                        , lens-aeson
                        , unordered-containers
                        , mime
+                       , network-uri
 
   hs-source-dirs:      src
   default-language:    Haskell2010
@@ -45,17 +46,17 @@
   type:                exitcode-stdio-1.0
   main-is:             Tests.hs
   hs-source-dirs:      test
-
-  build-depends:       base,
-                       yesod-transloadit,
-                       yesod-test,
-                       hspec,
-                       yesod,
-                       yesod-form,
-                       old-locale,
-                       text,
-                       aeson,
-                       containers,
-                       mime
+  build-depends:       base
+                       , yesod-transloadit
+                       , yesod-test
+                       , hspec
+                       , yesod
+                       , yesod-form
+                       , old-locale
+                       , text
+                       , aeson
+                       , containers
+                       , mime
+                       , network-uri
 
   default-language:    Haskell2010
