diff --git a/amazonka-core.cabal b/amazonka-core.cabal
--- a/amazonka-core.cabal
+++ b/amazonka-core.cabal
@@ -1,5 +1,5 @@
 name:                  amazonka-core
-version:               0.1.2
+version:               0.1.3
 synopsis:              Core functionality and data types for Amazonka libraries.
 homepage:              https://github.com/brendanhay/amazonka
 license:               OtherLicense
diff --git a/src/Network/AWS/Data/Internal/Numeric.hs b/src/Network/AWS/Data/Internal/Numeric.hs
--- a/src/Network/AWS/Data/Internal/Numeric.hs
+++ b/src/Network/AWS/Data/Internal/Numeric.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE ScopedTypeVariables        #-}
 {-# LANGUAGE TemplateHaskell            #-}
 
 -- Module      : Network.AWS.Data.Internal.Numeric
@@ -13,10 +14,10 @@
 
 module Network.AWS.Data.Internal.Numeric where
 
-import Control.Applicative
 import Control.Lens.TH
 import Control.Monad
 import Data.Aeson.Types
+import Data.Monoid
 import Data.Scientific
 import Network.AWS.Data.Internal.ByteString
 import Network.AWS.Data.Internal.Query
@@ -43,12 +44,16 @@
         )
 
 instance FromJSON Nat where
-    parseJSON = parseJSON >=> \n ->
-        case floatingOrInteger n of
-            Left  _         -> fail $ "Cannot convert float to Natural: " ++ show n
+    parseJSON = parseJSON >=> go
+      where
+        go n = case floatingOrInteger n of
+            Left  (_ :: Double) -> fail (floatErr n)
             Right i
-                | n < 0     -> fail $ "Cannot convert negative number to Natural: " ++ show n
-                | otherwise -> pure $ Nat (fromInteger i)
+                | n < 0         -> fail (negateErr n)
+                | otherwise     -> return . Nat $ fromInteger i
+
+        floatErr  = mappend "Cannot convert float to Natural: " . show
+        negateErr = mappend "Cannot convert negative number to Natural: " . show
 
 instance ToJSON Nat where
     toJSON = Number . flip scientific 0 . toInteger . unNat
diff --git a/src/Network/AWS/Data/Internal/Text.hs b/src/Network/AWS/Data/Internal/Text.hs
--- a/src/Network/AWS/Data/Internal/Text.hs
+++ b/src/Network/AWS/Data/Internal/Text.hs
@@ -24,21 +24,23 @@
 
 import           Control.Applicative
 import           Crypto.Hash
-import           Data.Attoparsec.Text             (Parser)
-import qualified Data.Attoparsec.Text             as AText
-import           Data.ByteString                  (ByteString)
-import           Data.CaseInsensitive             (CI)
-import qualified Data.CaseInsensitive             as CI
+import           Data.Attoparsec.Text              (Parser)
+import qualified Data.Attoparsec.Text              as AText
+import           Data.ByteString                   (ByteString)
+import           Data.CaseInsensitive              (CI)
+import qualified Data.CaseInsensitive              as CI
 import           Data.Int
 import           Data.Monoid
-import           Data.Text                        (Text)
-import qualified Data.Text                        as Text
-import qualified Data.Text.Encoding               as Text
-import qualified Data.Text.Lazy                   as LText
-import           Data.Text.Lazy.Builder           (Builder)
-import qualified Data.Text.Lazy.Builder           as Build
-import qualified Data.Text.Lazy.Builder.Int       as Build
-import qualified Data.Text.Lazy.Builder.RealFloat as Build
+import           Data.Scientific
+import           Data.Text                         (Text)
+import qualified Data.Text                         as Text
+import qualified Data.Text.Encoding                as Text
+import qualified Data.Text.Lazy                    as LText
+import           Data.Text.Lazy.Builder            (Builder)
+import qualified Data.Text.Lazy.Builder            as Build
+import qualified Data.Text.Lazy.Builder.Int        as Build
+import qualified Data.Text.Lazy.Builder.RealFloat  as Build
+import qualified Data.Text.Lazy.Builder.Scientific as Build
 import           Network.HTTP.Client
 import           Network.HTTP.Types
 import           Numeric.Natural
@@ -58,6 +60,7 @@
 instance FromText ByteString where parser = Text.encodeUtf8 <$> AText.takeText
 instance FromText Int        where parser = AText.decimal
 instance FromText Integer    where parser = AText.decimal
+instance FromText Scientific where parser = AText.scientific
 instance FromText Natural    where parser = AText.decimal
 instance FromText Double     where parser = AText.rational
 
@@ -94,6 +97,7 @@
 instance ToText Int64      where toText = shortText . Build.decimal
 instance ToText Integer    where toText = shortText . Build.decimal
 instance ToText Natural    where toText = shortText . Build.decimal
+instance ToText Scientific where toText = shortText . Build.scientificBuilder
 instance ToText Double     where toText = shortText . Build.realFloat
 instance ToText StdMethod  where toText = toText . renderStdMethod
 instance ToText (Digest a) where toText = toText . digestToHexByteString
diff --git a/src/Network/AWS/Data/Internal/Time.hs b/src/Network/AWS/Data/Internal/Time.hs
--- a/src/Network/AWS/Data/Internal/Time.hs
+++ b/src/Network/AWS/Data/Internal/Time.hs
@@ -37,6 +37,7 @@
 import           Data.Attoparsec.Text                 (Parser)
 import qualified Data.Attoparsec.Text                 as AText
 import qualified Data.ByteString.Char8                as BS
+import           Data.Scientific
 import           Data.Tagged
 import qualified Data.Text                            as Text
 import           Data.Time
@@ -95,7 +96,7 @@
 
 instance FromText POSIX where
     parser = Time . posixSecondsToUTCTime . realToFrac
-        <$> (parser :: Parser Integer)
+        <$> (parser :: Parser Scientific)
 
 parseFormattedTime :: forall a. TimeFormat (Time a) => Parser (Time a)
 parseFormattedTime = do
@@ -133,8 +134,14 @@
 instance FromJSON ISO8601   where parseJSON = parseJSONText "ISO8601"
 instance FromJSON AWSTime   where parseJSON = parseJSONText "AWSTime"
 instance FromJSON BasicTime where parseJSON = parseJSONText "BasicTime"
-instance FromJSON POSIX     where parseJSON = parseJSONText "POSIX"
 
+instance FromJSON POSIX where
+    parseJSON = withScientific "POSIX"
+        $ pure
+        . Time
+        . posixSecondsToUTCTime
+        . realToFrac
+
 instance ToByteString RFC822    where toBS = BS.pack . renderFormattedTime
 instance ToByteString ISO8601   where toBS = BS.pack . renderFormattedTime
 instance ToByteString BasicTime where toBS = BS.pack . renderFormattedTime
@@ -155,4 +162,7 @@
 instance ToJSON ISO8601   where toJSON = toJSONText
 instance ToJSON AWSTime   where toJSON = toJSONText
 instance ToJSON BasicTime where toJSON = toJSONText
-instance ToJSON POSIX     where toJSON = toJSONText
+
+instance ToJSON POSIX where
+    toJSON (Time t) = Number $
+        scientific (truncate (utcTimeToPOSIXSeconds t) :: Integer) 0
