Elektrine lite

← Feed

@evan@activitypub.space

Our X-RateLimit-Reset headers are bad and we should feel bad

2026-05-14 16:49 UTC

I've found at least four different formats used on the Fediverse for the X-RateLimit-Reset header: A datestamp (Mastodon) Unix epoch in seconds Time offset in seconds (N seconds from now) Unix epoch in milliseconds (Holos) It's possible to use some heuristics for these (looks like a date, looks like an integer, range of the integer), which are pretty reliable. The new RateLimit headers from IETF are very nice, but don't seem to be well-supported yet.

Replies (2)

  • @evan@activitypub.space 2026-05-14 16:49

    Of course, you can just bang on the API until you get 429 restricted, too.

    Open ##2530482

  • @ryan@m29.us 2026-05-14 17:05

    @evan I have a Python function I've built up over time for handling rate limiting headers (no canonical location for it; I just copy it around when needed). I've come across epoch (GitHub) and ISO 8601 (Mastodon, Jira), but haven't seen the other two. I'll take a look at the RateLimit spec, thanks. https://forge.colobox.com/rfinnie/rf-tools/src/branch/main/bin/mastodon-downloader#L50 (For the last few weeks I've been working on moving stuff to Forgejo, and I'm surprised their API doesn't have rate limit headers.)

    Open ##2737096