> Your application is commercial if you're making any money with it (which includes in-app advertising), if you plan on making any money with it, or if it belongs to a commercial organization.
Otherwise your app (for all users) would fall under:
> Your use of the Imgur API is also limited by the number of POST requests your IP can make across all endpoints. This limit is 1,250 POST requests per hour. Commercial Usage is not impacted by this limit. Each POST request will contain the following headers.
> Selig says Reddit wants $12,000 for 50 million API requests, while Imgur, a similar social media photo site, charges $166 for 50 million API calls. Selig says even if users were willing to pay out of pocket for the API costs, Reddit announced the new billing plan one month before it would take effect, and Selig says that's just not feasible for developers.
That puts it at about 3x more than Imgur's published rates.
For someone hacking together a moderation tool, I have done this (wiki updates) It means that my run to get data on a few hundred subs would cost me about a quarter. When I was in testing, I was only doing about 5-10 calls though on a sub that I managed so that it wouldn't go haywire somewhere else.
---
Consider the outrage where an API key is yanked (for whatever reason) with Twitter. Yanking an API key gets even more problematic if there is an existing business relationship.
You're also proposing that someone periodically audits the different reddit clients to see if they are displaying enough / all the ads and that there aren't any uber style shenanigans where if it is found to be coming from the IP block that Reddit owns it shows ads while certain users (who subscribed with a private non-apple subscription) aren't getting ads.
> You're also proposing that someone periodically audits the different reddit clients to see if they are displaying enough / all the ads
No, just the big ones. Which they will know, because they'll know the API usage. Below some level, it doesn't matter if somebody's doing it wrong.
> It is just easier to charge for an API.
Easier in the sense of less labor for a few people at Reddit? Sure. But who cares? The goal isn't making it easier for a few low-level employees. The first goal is to create maximum value. The second goal is to extract enough cash to cover the costs of the value generation, plus a bit extra. If something is not easy but is profitable, that's a-ok in business-land.
The simple and fair approach to monetizing the API is to have it be a simple "this much for these many calls."
That makes sure that applications are incentivized to write code well that doesn't take advantage of a free resource.
The Apollo push notification part of the server is hitting 600 requests per hour per user - 10 requests per minute per user. That has a cost to it for Reddit even if not a single page is rendered for a mobile app.
It doesn't matter if it's a headless moderation tool or the push notification server or an exceptionally poorly behaving front end. API requests have a cost that up until now have been free.
If Apollo turned off the notification server, he'd be down to pennies per user per day for the app. If it was scaled back to a request every minute it would be $1/day/user. Scale it back to a check every 10 minutes and you're back to pennies per day per user.
As it is, it was designed with a free and nearly unlimited rate limit available.
Trying to do an audit of advertisements being displayed (again, easy to defeat so that the auditor sees the ads while others don't) this doesn't fix the problem that apps are taking advantage of free resources that aren't free to the host.
If the cost of the API is too high for the load that it (and any backend) puts on the host, then it should be up to the app designer to find a way to monetize it - it is their responsibility to write the code within the limits that it can afford.
This seems very backwards to me. The job of business isn't to do the "simple and fair" thing. It's a) to generate maximum value, b) to extract enough cash to pay the bills and then some, and c) work to keep costs at an effective minimum.
The marginal cost of a single API call is approximately zero. Reddit, like most SaaS businesses, is much more about fixed costs than variable costs. I think they are much better off following the standard freemium approach, where they give away what's basically free, and then use value-based pricing to get a fair share of the possible revenues. The sort of cost-based pricing you suggest a) doesn't match their cost model, b) overcharges for valuable things that may not produce direct revenue, and c) undercharges for things that are especially valuable to users.
https://api.imgur.com/#commercial
> Your application is commercial if you're making any money with it (which includes in-app advertising), if you plan on making any money with it, or if it belongs to a commercial organization.
Otherwise your app (for all users) would fall under:
> Your use of the Imgur API is also limited by the number of POST requests your IP can make across all endpoints. This limit is 1,250 POST requests per hour. Commercial Usage is not impacted by this limit. Each POST request will contain the following headers.
The pricing is https://rapidapi.com/imgur/api/imgur-9/pricing (note that this is quite different than the pricing that Apollo claims to have)
$500/month for 7.5M calls/month and $10k for 150M calls/month
https://arstechnica.com/gadgets/2023/06/reddits-new-api-pric...
> Selig says Reddit wants $12,000 for 50 million API requests, while Imgur, a similar social media photo site, charges $166 for 50 million API calls. Selig says even if users were willing to pay out of pocket for the API costs, Reddit announced the new billing plan one month before it would take effect, and Selig says that's just not feasible for developers.
https://www.reddit.com/r/redditdev/comments/13wsiks/comment/...
> Our pricing is $0.24 per 1000 API calls
That puts it at about 3x more than Imgur's published rates.
For someone hacking together a moderation tool, I have done this (wiki updates) It means that my run to get data on a few hundred subs would cost me about a quarter. When I was in testing, I was only doing about 5-10 calls though on a sub that I managed so that it wouldn't go haywire somewhere else.
---
Consider the outrage where an API key is yanked (for whatever reason) with Twitter. Yanking an API key gets even more problematic if there is an existing business relationship.
You're also proposing that someone periodically audits the different reddit clients to see if they are displaying enough / all the ads and that there aren't any uber style shenanigans where if it is found to be coming from the IP block that Reddit owns it shows ads while certain users (who subscribed with a private non-apple subscription) aren't getting ads.
It is just easier to charge for an API.
And for an app that already has a monthly subscription ( https://apps.apple.com/us/app/apollo-for-reddit/id979274575 shows $5.99) available to it, to increase that rate to match the number of calls. If the average user is making 350 requests per day that's $10/month for the user, so update the subscription to $15/month ( https://support.apple.com/en-us/HT213252 ). If the push notification server ( https://www.reddit.com/r/apolloapp/comments/9l3ema/apollo_13... ) is making an additional 600 requests per hour per user... that might need some scaling back or adding another tier (that's $15/day/user of API calls by itself).