diff --git a/src/_zkapauthorizer/resource.py b/src/_zkapauthorizer/resource.py
index faad4234e47d16d02463f8786e4519b7f10756f2..9d13a02193ee85703e4e1dcb5b53f00c706c2dae 100644
--- a/src/_zkapauthorizer/resource.py
+++ b/src/_zkapauthorizer/resource.py
@@ -20,6 +20,9 @@ vouchers for fresh tokens.
 In the future it should also allow users to read statistics about token usage.
 """
 
+from sys import (
+    maxint,
+)
 from itertools import (
     islice,
 )
@@ -139,7 +142,7 @@ class _UnblindedTokenCollection(Resource):
 
         limit = request.args.get(b"limit", [None])[0]
         if limit is not None:
-            limit = int(limit)
+            limit = min(maxint, int(limit))
 
         position = request.args.get(b"position", [b""])[0].decode("utf-8")