diff --git a/pyzotero/zotero.py b/pyzotero/zotero.py
index <HASH>..<HASH> 100644
--- a/pyzotero/zotero.py
+++ b/pyzotero/zotero.py
@@ -83,6 +83,9 @@ class Zotero(object):
                 raise ze.RateLimitExceeded, \
 "Invalid request, probably due to unsupported parameters: %s" % \
                 data
+            if error.code == 404:
+                raise ze.ResourceNotFound, \
+"No results for the following query:\n%s" % full_url
             else:
                 raise ze.HTTPError, \
                 "HTTP Error %s (%s)\nURL: %s" % (
diff --git a/pyzotero/zotero_errors.py b/pyzotero/zotero_errors.py
index <HASH>..<HASH> 100644
--- a/pyzotero/zotero_errors.py
+++ b/pyzotero/zotero_errors.py
@@ -55,6 +55,13 @@ class MissingCredentials(PyZoteroError):
 
 
 
+class ResourceNotFound(PyZoteroError):
+    """ Raised when a resource (item, collection etc.) could not be found
+    """
+    pass
+
+
+
 class HTTPError(PyZoteroError):
     """ Raised for miscellaneous URLLib errors
     """
Raise a ResourceNotFound error and show URL if nothing's found