[00:41:23] hare: I'm afraid the main cost there (incl rate limit) is for the diffing operation itself. If it had batching it would need to consume the same multiple from the rate limit most likely, but would in return occupy a web server for a longer amount of time and risk hitting the timeout. If you have a reasonably low number of them (<10) or do basic batch chunking in JS, then you can try sending a few in parallel. E.g. [100, 200, [00:41:23] 300].map(revId => getMyDiff()); that'll start then in parallel, then you loop through and each already-going promise you can use as promise.then() to get the result. [01:12:41] [[Tech]]; Jan Ke Tami (10); [none]; https://meta.wikimedia.org/w/index.php?diff=27221186&oldid=27214528&rcid=32040817 [01:13:30] [[Tech]]; Elton; Reverted change by [[Special:Contributions/Jan Ke Tami (10)|Jan Ke Tami (10)]] ([[User talk:Jan Ke Tami (10)|talk]]) to last version by Matma Rex; https://meta.wikimedia.org/w/index.php?diff=27221188&oldid=27221186&rcid=32040820 [12:58:34] TIL that even Sir Tim Berners-Lee didn't quote HTML attribute values! https://github.com/simonw/1991-WWW-NeXT-Implementation/blob/main/WorldWideWeb.app/default.html