35 upvotes, 4 direct replies (showing 4)
View submission: An Update Regarding Reddit’s API
Are these terms updates mostly to make way for the other changes?
No but it's 2023 and we haven't updated our API terms since 2016.
What will these look like? It is not a trivial thing to announce API rate limits in so little detail. I assume this applies A) to any PRAW/other utilities and bots that use the older reddit API and B) to all 3rd party clients
We’ve had rate limits all along, and we’ve just been variable about enforcement. Our rate limit has been set at 60 QPM (queries per minute, per agent) and we find agents routinely hitting us pretty hard at more than 100x that, so we’re going to start to clamp down over the next 60 days. To put that in perspective, we’ve taken outages from this kind of behavior, hence the need to be more strict.
Any previews on pricing, what data is going to be made available in addition to the typical stuff, etc?
We expect most developers will only need free access to the Data API. Today, there are a handful of developers with heavy usage (typical 80-20 problem, though this is more of a 99-1 problem) who may need paid access, because there are real costs to providing this type of access.
When you say "The Data API will remain open.. via Dev Platform" it sounds like it will soon be closed in some way and this is just a euphemistic way of saying it. Please just give it to us straight if, in a practical sense, we're going to be running into issues or having to move codebases to dev platform to have relatively request-expensive things continue to exist.
Our intention is to make Dev Platform the best place to build bots and apps for Reddit. That said, we aren’t planning on forcing anyone to migrate to Dev Platform. The bots you’ve built for r/wallstreetbets have been an inspiration for how we’ve designed Dev Platform and we’re excited about what you’re doing on Dev Platform already. It saves devs like you from having to write hacky shit across a bunch of REST APIs at the expense of possibly having to learn some TypeScript.
Comment by minimaxir at 18/04/2023 at 18:06 UTC
56 upvotes, 1 direct replies
Our intention is to make Dev Platform the best place to build bots and apps for Reddit. That said, we aren’t planning on forcing anyone to migrate to Dev Platform. The bots you’ve built for r/wallstreetbets have been an inspiration for how we’ve designed Dev Platform and we’re excited about what you’re doing on Dev Platform already. It saves devs like you from having to write hacky shit across a bunch of REST APIs at the expense of possibly having to learn some TypeScript.
The issue here, as many devs posting here learned the hard way when Twitter limited their API in the same way, is that there's now a loss of developer trust and it may no longer be worth the developer time to continue developing such bots even though they add massive value to Reddit as a whole.
There's a reason Jack Dorsey strongly regretted[1] killing Twitter's API back then.
Comment by iamthatis at 18/04/2023 at 18:13 UTC
53 upvotes, 1 direct replies
So if applications are staying well within the 60 requests per minute we should be good?
Apollo has a server component for instance to alert users if they get a new notification (message, reply, mention, etc.). We built this very carefully to be well under 60 requests per minute (I believe it's at around 9 requests per minute right now).
We've even tried to optimize it more than that in collaboration with Reddit, as your API requires the service to ask Reddit repeatedly if there's anything new in order to determine if there is (polling in developer terms), rather than an event-based API that would notify the server.
As an example, if we want to be able to alert a user within 10 seconds of them getting a reply, we have to ask the API every 10 seconds if there's anything new. This means if they only get a new reply ever 15 minutes on average, 99% of those API requests would just say "nope, nothing new" and be quite wasteful. Instead, you could have a sockets API that when the user gets a reply it would send a ping to us and we'd only have to talk that one time (the App Store does this for sales, for instance).
This is something we'd be happy to implement were it to exist.
Comment by zjz at 18/04/2023 at 18:14 UTC*
12 upvotes, 1 direct replies
I'm really liking the dev platform so far, you guys did a great job. My only major criticism is how we're being limited package import and URL-wise via fetch. I don't have the ability to move over the things we're doing in wallstreetbets yet and it's almost entirely because of some lines in a config file, which is frustrating to me.
It feels a bit like the previous way of doing things has been issued a roundabout deprecation notice before the new way is ripe, y'know?
I hear you when you say it shouldn't effect most people but this is the first major change in a long time. We all kind of figured this was coming and it just makes you wonder what the future looks like.
It would really suck if the experience of making and self-hosting really cool stuff that makes Reddit better went away or was significantly diminished. It's how I learned to program, and I got to pick my own language and environment and tools, that was a lot of fun.
It still is, though now I'm in a weird state of limbo where I have 5 things I want to make, 0 of them can currently be made on the dev platform due to restrictions not capability, and now I'm scared to spend time using the old API to write multi-thousand line codebases just to have to move it later.
I think is fairly likely that Reddit will continue to make really cool stuff and most of it will be solely available through the dev platform. I can't entirely fault that likelihood, but I hope that in addition to pushing the dev platform and giving us new capabilities you also find a way to make the older API work toward your newer goals so it doesn't feel like a dead end to people like me. I'd guess right now there's a little bit of a chill on large projects due to this dynamic.
Comment by Qudit314159 at 19/04/2023 at 17:12 UTC
1 upvotes, 0 direct replies
It saves devs like you from having to write hacky shit across a bunch of REST APIs at the expense of possibly having to learn some TypeScript.
This part concerns me. Will popular third party interfaces to the API such as PRAW still continue to work?