I’m not sure on the ins and outs of hosting/running a 3rd part reddit app, but since reddit is claiming these API charges are only for apps that pull in big numbers, couldn’t the app creators just make a bunch of versions of the app with a limit to how many users can access it?
I’m not sure what reddit’s threshold is for when they start charging for API usage, but do any of you see this happening? Would it be possible for the 3rd party creators to release personal instances of their apps that are technically separate entities that could stay in the free APL limit?
Again, I have no idea on how 3rd party apps are run or how they access the API. I was just curious if there was a way to keep an app under the limit.
As I understand it, API charges are for everyone,
Apollo for example showed the app is within the limits, I think other app devs did the same.While not wanting their data to be scraped for AI for free is indeed a valid reason, if it was the real reason they would have come up with different tiers of pricing like every other paid platform does.
Edit: Apollo was within the limits, but reddit changed the rules apparently …
Not quite. The new rules are 100 api calls per minute per user per app. It used to be 100 api calls per minute per user. That means Apollo is limited to 100 api calls per minute for all users.
If someone were to have a private API key for personal use, it would be difficult to exceed the limit.
Ooh they changed them :O What …
OK so the way the API is structured, a single user makes upwards of 100+ API calls a day - there’s a single call to do everything - even things that would make more sense being grouped together into a single call.
The API was poorly optimized from the start, and as a result apps had no choice to basically spam calls in order to get the job done. Certain calls are also made over and over - like checking your inbox for new messages, refreshing, loading more comments and so many more - the more often you do it, the faster you get your inbox in, and the more responsive the app feels. if you don’t do it often enough, the app will feel like its clunky, chugging and taking forever to load. Some calls are pre-made when there’s a high likelihood of clicking something for faster load time when it is clicked - now this could probably be stopped…
Now some apps also host their own data servers in order to provide more efficient running as well - this server does a number of different things, but one of the things it can do is create a second API for efficiencies’ sake- essentially the server makes numerous reddit API calls, so that the app only has to make one. Its also a good way to help stagger calls to get past rate-limiting, which is where the server essentially tells you off for making too many requests to the API too quickly, and stops responding to you for a small amount of time. Another thing it can do is cache data - if its a generic (doesn’t require authentication) call to a resource that went viral, it can cache that data so that people can get it without making additional calls - now this doesn’t work for things like comments and vote counts… but post titles and links? you bet that’s a great thing to do. The problem: these servers cost money - not any where near as much as what they’re asking for with the API changes, which is why most devs only asked for a small one off payment for server costs, which is way less than a large monthly payment.
Once you take all the requests that flow directly from the app and server, and multiply them by your user-base… you’ve got a problem on your hands when it comes to the new API pricing - while it is certainly possible to charge a monthly payment (perhaps about $15 a month)… they need more than thirty days to set this app - most app stores don’t allow pricing changes and subscription requirements to be set up instantly - they usually have some form of contract that will need to end so a renegotiation can take place. This means some apps might even need an entire year before they can even try to set this up.
The only other option is in the API keys. These monolithic apps use one single API key in order to make requests - the Key securely identifies who is making the request - similar to how stream keys work on streaming sites like Twitch and YouTube. You get the key, you can make a request. To get a key, you need to register with reddit as a developer, and they generate your key and give it to you. I can imagine there’s a few hoops to jump through for it. (like verification - twitter had a “why do you need this” questionnaire before they started charging for their API Keys) Its impractical for a Developer to make however many thousand of fake emails and identities in order to get enough keys on the volume needed to keep app like Apollo or RIF free. The only other option would be to ask all their users to register as a developer and get their own keys, and provide a mechanism for the installation of said keys. While this is possible. its impractical and/or impossible for the people who don’t understand how this works, and the hoops they may have to jump through to do this - many would likely get frustrated and give up, either going elsewhere, or worse: using the official
dumpster fireapp.Also i wouldn’t be surprised if reddit tried to close the API key loophole if too many third party apps went that direction, especially if the app’s user-base decided to jump on board with it - financially it would be just as bad as having a third party app with a single API key, and they’re hemorrhaging money like its going outta style right now, enough that they probably are trying to find ways to downscale, and removing the traffic from third party apps seems like a pretty understandable way to enable down-scaling - processing, data storage and bandwidth costs money after all, and on the huge user-base reddit has, its gotta be costing an arm, a leg and a kidney, probably more. - It doesn’t excuse them for being this shitty, but i do understand where they’re coming from, most of these large scale corporate social media sites aren’t profitable or sustainable anyway, and with the economy going the way it is, the venture capitalists keeping things afloat must be tightening their purse strings, the time is running out and they’re starting to want returns on their investments - free money is free no longer, and as a result the corporations get greedy, its almost like the only thing that is actually trickle down in a trickle down economy is greed.
Without looking into any information, I can guess that it is associated with API key which are registered to a specific email. Sure, you can open more email accounts and more APIs but this is becoming a hustle.
What they could do, is release their code, and for user to register their own API and compile the app on their own. But this solution would answer only tech savi people.
Couldn’t they just have the app ask for the user’s API key? I use a weather app that does that with OpenWeatherMap.
They could, use, but this requires extra work from the user, who might just say “nah… I’ll just use the official app instead”
I think the people that would seek out a third party app are mostly the kind of people that would do the extra work of copying and pasting an API key. It will definitely be a smaller userbase than before though.
I think I read somewhere this was against TOS or smth, take that with a huge grain of salt because I’m not sure if I’m remembering that right.
If that’s the case, then the point of all of that is definitely to get people onto the official app and not to save money on “inefficient” API calls.
Either way, I won’t be going back. I am tired of being the product.
What they could do, is release their code, and for user to register their own API and compile the app on their own. But this solution would answer only tech savi people. >
The developer of Infinity for Reddit (Android app) said they were going to do just that.
Ha! Cool for them!
I guess, though, that the guys who have the skills to enjoy this are the first to switch out of reddit to begin with.
I just did this from a guide on their reddit, it was super easy…hopefully it sticks!
Yeah. I can’t code but I can follow instructions to compile an app and add my own API key. But given everything that’s happened I sure as hell am not going to bother.
Yep! I found a guide on their reddit page for this, it was really easy and I only have a basic understanding of this stuff!
They basically wrote a mini how-to on their sub a day or two ago. It’s very doable. Can’t bring myself to do the work just to go to that site again on mobile.
They could technically make their app so you could insert your own API keys which you’d get from Reddit directly, but it’s not very seamless to the user. You wouldn’t just need to enter your username and password when you log in the first time, you’d need to go into the old.reddit preferences > apps > create a new app > agree to the API EULA > fill out redirect URI, about URI, app-name, etc. > THEN it would give you your API key that you’d have to copy and paste to the waiting app along with your username and password. The developer of “Infinity for Reddit” (an open-source Reddit client) already asked Reddit about this prior to the blackout and they said big fat NO unfortunately. They want every Infinity app to share a single API key for every phone that’s using it. There are ways around this, but out of the scope of what you’re asking.
I guess reddit will close the current free-tier API once the new dev platform for moderators settles down.
I’m expecting this too 100%
To answer one part of your question, the limit is on queries per minute, not the number of users. That would be harder to control. I don’t think I would use an app that stopped working because it ran out of queries.
Source: https://www.reddit.com/r/reddit/comments/145bram/addressing_the_community_about_changes_to_our_api/
Relay is planning to stay up and charge a small monthly fee. They are my go to app, but I’m hoping content here picks up so there will be little draw to go back to reddit.
IIIRC, Some Twitter apps did this. Fenix on Android was working but closed to new users for a long while
Short answer is “no”.
Long answer require some technical knowledge that you clearly don’t possess and would just give you an headache.
To put it simply, if your app get successful and lots of users adopt it, you are bound to exceed those arbitrary limits.
Thing is, offering free api is not sustainable but you could offer some half way option, like including some ads in the apis responses as well and have the devs agree in showing those ads (I’m talking banners and the like) so that you can assure your ads clients that they are going to be shown anyway even by third party apps.
If course you can then go nuts on the penalties for infringing that agreement.
What is Reddit doing is basically saying, you can use our APIs if you are doing a school project.
No need to be so rude, noone is forcing you to answer questions, you know?
I mean, the only “rude” part might have been telling OP that things would be too technical to explain but if you read the OP message he’s saying that himself, I just justified why I’m not going much into details.
In fact, OP didn’t feel the need to respond that he was offended, you simply felt the need to project into him.
You don’t need to reply, you know?
I didn’t think you were being rude btw