r/redditdev • u/redtaboo • May 11 '26
Reddit API Upcoming changes to the comment ID endpoint
Hola devs!
Just a quick note on an upcoming change to how comment IDs will increase going forward.
TL;DR: if you have anything in your code that expects comment IDs to be fewer than 8 characters you will need to make an adjustment.
Technical gibberish details:
- New comment IDs will continue to be 64-bit integers and base36-encoded, but will not be monotonically increasing anymore
- The key visible difference is that the new base36-encoded comment IDs will be up to 13 characters long (e.g. 19gsnavtu46ip), compared to the current 7-8 characters
- With the t1_ prefix, the new base36-encoded comment IDs will be up to 16 characters long (e.g. t1_19gsnavtu46ip)
- Older comment IDs are not changing, and referencing them will not break anything
This change will start rolling out the week of May 18th. Let me know if you have any questions about this change.
42
u/Watchful1 May 11 '26 edited May 11 '26
This will break RemindMeBot. It depends on the monotonically increasing comment id to find the trigger word in new comments.
It will also break pushshift completely, which many moderators still depend on. Unless you gave pushshift the firehose feed sometime since the new guys took over, which seems unlikely.
I totally understand why you're doing this and support it, stopping the scraping of reddit is important and obviously a high priority for the company. But this will break many tools that don't currently have replacements natively in reddit or devvit.
13
u/redtaboo May 11 '26
Hey thanks for flagging - just wanted to drop in to say I'm not ignoring you (or others in the thread!) I'm working with Eng to understand our path forward.
10
u/Watchful1 May 11 '26
Thanks redtaboo. I know you've been working on this for a while, so I appreciate the willingness to make changes to the timeline.
6
u/emily_in_boots May 13 '26 edited May 13 '26
Oh this would be a disaster, we rely so much on push shift. It would be impossible to mod without it. Our subs would just be full of adult content creators and spammers.
Please find a way for mods to have access to this kind of data. It's really essential for moderation.
1
u/VastZealousideal885 Jun 28 '26
Why do you support it? Aren't/weren't you involved with reddit archival efforts like pushshift? This is a terrible change, they're trying to kill archiving, just like the rest of the corporate internet.
1
u/baseballlover723 Sep 23 '26
In light of the update going forwards, did you get a solution for this? Or is it just gonna die? I'm quite curious to see if reddit would care enough to not break something that is clearly in user space, and yet, quite engrained in reddit culture like the RemindMeBot.
2
u/Watchful1 Sep 23 '26
Yes I worked with the admins and have a solution. I can't share it publicly for now.
9
u/PitchforkAssistant May 11 '26
Is this type of change planned for any other IDs? Posts IDs in particular come to mind, since you probably don't want those to be predictable either.
6
u/shiruken May 11 '26
Has the impact on Devvit apps been checked? I could see potential issues if anyone was manually slicing comment thing ids out of urls.
3
u/PitchforkAssistant May 11 '26
I would hope that any such regexes allow for increased ID lengths as long as they're still valid base 36, matching up until the next slash or end of string. Otherwise time would've also broken such apps when the IDs grew large enough to need extra digits.
→ More replies (1)
8
u/CR29-22-2805 May 12 '26
Given that this is a time-sensitive issue, the moderators at Bot Bouncer will need advice on workflow adjustments necessary to accommodate this change on May 18, which is less than a week away.
If PushShift will have access to the firehose feeds, then the Bot Bouncer moderators will need PushShift access to proceed without any hiccups.
If PushShift will not have access, then much of our workflow will be stymied on May 18.
4
May 11 '26
"but will not be monotonically increasing anymore"
Could you provide more details? Will the ID assignments for comments be completely random?
And what is the motivation for change?
→ More replies (3)9
u/umbrae May 12 '26 edited May 12 '26
Motivation is probably multi region related. If you have to call back to one server in the US just to get a safe ID for a new comment it slows things down. Using a larger, non-monotonic ID opens up the ability to derive those IDs formulaically from many locations instead of just one.
9
u/Watchful1 May 12 '26
The motivation is to stop people from scraping all of reddit by iterating over ids. Maybe the multi region thing is a side effect, but they have an enormous incentive to stop people from scraping since it's their primary revenue stream.
→ More replies (4)
4
u/Merari01 May 12 '26
Will this break toolbox?
10
u/adhesiveCheese May 12 '26
It shouldn't; I haven't looked too too deeply into this yet, but it looks like there's nothing in the codebase that hardcodes an expected comment ID length.
4
4
4
u/46009361 May 18 '26
Will this make the report form harder to fill out?
Sometimes, when I fill that form and need to provide another comment as valuable context, I have to deliberately shorten Reddit URLs to keep the entire report reason under the 200-character limit, especially if I want a report acted on faster without going through the support form using Zendesk.
Changing reddit.com/comments/19gsnav/_/navtu46 to reddit.com/comments/19gsnav/_/19gsnavtu46ip can easily go over the limit in the middle of a longer sentence.
3
2
u/Jakeable May 22 '26
I totally get why you're doing this. But at the same time it makes me sad inside since I always thought it was cool how base 36 thing IDs directly corresponded to base 10 numbers.
I'm glad you're maintaining backwards compatibility, and the thing-prefixes, though.
1
u/Jazzy_Josh Jun 11 '26
Hi,
The reddit dev team previously stated that existing API users will not be affected but my API app no longer exists in my account, could you publicly explain the change, thanks?
1
u/redtaboo May 12 '26
Heya folks, just an update here!
We've decided to push back the timeline here so we (and you all) have the time you need to make any changes needed and so we can better understand use cases where things may break completely so we can see how we might mitigate those issues. What this means to you:
This change is still upcoming, so if all you need to do is fix your code to ensure it's not expecting a certain character count you should go ahead and do so
We don't have an exact timeline to share, but we're committed to ensuring folks have the time to be aware about this and account for it in their workflows
We will post here, and otherwise communicate with developers, once we have more details to share
Thanks again for all the questions and comments folks, cheers!