diff --git a/index.js b/index.js
index <HASH>..<HASH> 100644
--- a/index.js
+++ b/index.js
@@ -108,7 +108,8 @@ quest.fetch = function(url, headers) {
 }
 
 quest.json = function(url, headers) {
-  const res = quest.stream(url, headers)
+  const res = typeof url == 'string' ?
+    quest.stream(url, headers) : url
   return new Promise((resolve, reject) => {
     res.on('error', reject)
     concat(res, (body) => {
feat: let `quest.json` take a readable stream