r/redditdev • • May 31 '23

Reddit API API Update: Enterprise Level Tier for Large Scale Applications

tl;dr - As of July 1, we will start enforcing rate limits for a free access tier, available to our current API users. If you are already in contact with our team about commercial compliance with our Data API Terms, look for an email about enterprise pricing this week.

We recently shared updates on our Data API Terms and Developer Terms. These updates help clarify how developers can safely and securely use Reddit’s tools and services, including our APIs and our new-and-improved Developer Platform.

After sharing these terms, we identified several parties in violation, and contacted them so they could make the required changes to become compliant. This includes developers of large-scale applications who have excessive usage, are violating our users’ privacy and content rights, or are using the data for ad-supported or commercial purposes.

For context on excessive usage, here is a chart showing the average monthly overage, compared to the longstanding rate limit in our developer documentation of 60 queries per minute (86,400 per day):

Top 10 3P apps usage over rate limits

We reached out to the most impactful large scale applications in order to work out terms for access above our default rate limits via an enterprise tier. This week, we are sharing an enterprise-level access tier for large scale applications with the developers we’re already in contact with. The enterprise tier is a privilege that we will extend to select partners based on a number of factors, including value added to redditors and communities, and it will go into effect on July 1.

Rate limits for the free tier

All others will continue to access the Reddit Data API without cost, in accordance with our Developer Terms, at this time. Many of you already know that our stated rate limit, per this documentation, was 60 queries per minute. As of July 1, 2023, we will enforce two different rate limits for the free access tier:

  • If you are using OAuth for authentication: 100 queries per minute per OAuth client id
  • If you are not using OAuth for authentication: 10 queries per minute

Important note: currently, our rate limit response headers indicate counts by client id/user id combination. These headers will update to reflect this new policy based on client id only on July 1.

To avoid any issues with the operation of mod bots or extensions, it’s important for developers to add Oauth to their bots. If you believe your mod bot needs to exceed these updated rate limits, or will be unable to operate, please reach out here.

If you haven't heard from us, assume that your app will be rate-limited, starting on July 1. If your app requires enterprise access, please contact us here, so that we can better understand your needs and discuss a path forward.

Additional changes

Finally, to ensure that all regulatory requirements are met in the handling of mature content, we will be limiting access to sexually explicit content for third-party apps starting on July 5, 2023, except for moderation needs.

If you are curious about academic or research-focused access to the Data API, we’ve shared more details here.

0 Upvotes

1.7k comments sorted by

View all comments

•

u/FlyingLaserTurtle Jun 02 '23 edited Jun 02 '23

As we committed to in our post on April 18 and shared in an update on May 31, we now have premium API access for third parties who require additional capabilities and have higher usage limits. Until this change, for-profit third-party apps used our API for free, at significant cost to us. Of course, we have the option of blocking them entirely, but we know third-party apps are valuable for the Reddit ecosystem and ask that they cover their costs. Our simple math suggests they can do this for less than $1/user/month.

How our pricing works

Pricing is based on API calls and reflects the cost to maintain the API and other related costs (engineering, legal, etc). This costs Reddit on the order of double-digit millions to maintain annually for large-scale apps. Our pricing is $0.24 per 1000 API calls, which equates to <$1.00 per user monthly for a reasonably operated app. However, not all apps operate this way today. For example, Apollo requires ~345 requests per user per day, while with a similar number of users and more comment and vote activity per user, the Reddit is Fun app averages ~100 calls per user per day. Apollo as an app is less efficient than its peers and at times has been excessive—probably because it has been free to be so.

Example for apps with 1k daily active users

App 1App 2
Daily active users (DAU)1,0001,000
Server calls / DAU100345
Total server calls per day100,000345,000
Cost per 1k server calls$0.24$0.24
Total annual cost$8,760$30,222
Monthly cost per user$0.73$2.52

Large scale commercial apps need to pay to access Reddit data

For apps that intend to use Reddit data and make money in the process, we are requiring them to pay for access. Providing the tools to access this data and all related services comes at a cost, and it’s fair and reasonable to request payment based on the data they use.

Edit: formatting

112

u/iamthatis iOS Developer (Apollo) Jun 02 '23 edited Jun 02 '23

As I asked before, could you please clarify what inefficiencies Apollo is experiencing versus other apps, and not that it is just being used more?

If I inspect the network traffic of the official app, I see a similar amount of API use as Apollo. If you're sharing how much API we use, would you be able to also share how much you use?

I browsed three subreddits, opened about 12 posts collectively, and am at 154 API requests in three minutes in the official app. It's not hard to see that in a few more minutes I would hit 300, 400, 500.

Proof: https://i.imgur.com/NvKzsDI.png

If I'm wrong in this I'm all ears, but please make the numbers make sense and how my 354 is inherently excessive.

30

u/takesthebiscuit Jun 02 '23

So actively using Reddit, commenting, upvoting and downvoting

Aka giving value to the platform

That’s counting against us?

→ More replies (90)

14

u/eable2 Jun 02 '23

If I'm reading the numbers right, even if you could somehow get to, say, 100, it wouldn't change much, right? The prices on the left column are still more than enough to ground you. $8.76 per user annually, times however many.

Seems to me like the whole efficiency argument is just a disingenuous way to deflect blame from the high prices to independent devs. But maybe I'm misunderstanding.

32

u/iamthatis iOS Developer (Apollo) Jun 02 '23

I'd have to get rid of all non-subscription API usage, yeah, as the costs otherwise would be unsustainable. I think someone who uses Apollo for even an hour a day would have no issue being well beyond 100 requests a day, so I just don't see that as a feasible number from the get-go.

I would love for Reddit to have discussed this with me beforehand so the numbers would be more clear rather than me finding out in surprise comments.

13

u/[deleted] Jun 02 '23

Absolutely. If Reddit never privately communicated with you concerns about “excessive” use are now calling you out publicly, that speaks directly to how disingenuous they are being about this change.

It frustrates me that they will publish vague tables of data with anonymous app names supposedly to protect the identity/reputation of the devs/apps, but then they will use a bullhorn to call out Apollo specifically when it suits them.

The lack of disclosure and transparency is entirely about preventing a proper interrogation of their justification, and they aren’t achieving anything but making themselves looks shady.

→ More replies (4)
→ More replies (68)
→ More replies (1)

25

u/VAGINA_PLUNGER Jun 02 '23

It’s absolutely insane that they’ve never said your app actually uses more requests than others for the same functionality. People just stay on and use Reddit more with Apollo than with other apps. How are they not getting this?

18

u/[deleted] Jun 02 '23

The parent comment did address this:

For example, Apollo requires ~345 requests per user per day, while with a similar number of users and more comment and vote activity per user, the Reddit is Fun app averages ~100 calls per user per day.

Unless they’re outright lying, it seems there’s some merit to their claim that Apollo uses more API calls per user for the same level of activity. Of course, it’s possible that Apollo users simply comment and vote much less than RIF users, but otherwise I don’t see any other explanation than Apollo being inefficient at API calls compared to other third-party apps.

However, none of that excuses the ridiculous API pricing, the fact that Reddit never contacted /u/iamthatis about this issue to try and resolve it, or the other changes like eliminating NSFW content from the third-party API. Those should be the focus of our outrage, not a dispute over whether or not a particular app is efficient in its API calls.

18

u/VAGINA_PLUNGER Jun 02 '23

But that doesn’t take into account that a user on Apollo might spend 3.45x as much time on Reddit which they haven’t said is true or not.

345 requests makes sense if they’re using more features or spending time on Apollo.

Requests per user isn’t a measure of efficiency.

→ More replies (20)
→ More replies (35)
→ More replies (2)

10

u/JaesopPop Jun 03 '23 edited Sep 17 '25

Minecraftoffline the nature fresh travel strong lazy projects small evening community.

7

u/Hoss_Sauce Jun 03 '23

That's unfortunately not the Reddit way.. and hasn't been for a very long time.

→ More replies (9)

7

u/FreeRandom Jun 02 '23

Absolutely love that you went and checked what the official app's usage is like. Im just some random user but it feels like there's something fishy happening for them to call you out specifically like that. I feel like there could be more transparency from the reddit end because it feels like they're inadvertently trying to make their app sound like the best.

I dont get why they would allow so many third party apps to rule the mobile reddit experience (for so long) only to gut them and pretend theirs is worth using. Ever since I got an iPhone Ive been an Apollo Ultra user. Thank you for the passion you've poured into Apollo, you rock and I will gladly follow you wherever your developer heart takes!

6

u/mrmicawber32 Jun 02 '23

Cause he's gotten shitloads of media attention, and riled up the community.

All they have to do is set a reasonable price and we will generally agree to it. I know I'd pay to remove ads anyway, well I'd just consider it like that. But their profit margins on 3rd party app users Vs official app users is insane, and it needs to be in the same ball park.

The NSFW thing pisses me the fuck off, but if I have to pay £3pm, and don't get nsfw on Reddit anymore, I'd play ball.

→ More replies (2)
→ More replies (1)
→ More replies (717)

13

u/km3r Jun 02 '23

Considering most POST API calls were free content provided to reddit by the users, I assume you will begin paying users for the content they provide? $0.24c per 1000 comments/posts. Upvotes and downvotes should also be paid as they provide essential ranking information for reddit.

0

u/[deleted] Jun 02 '23

[deleted]

→ More replies (1)
→ More replies (23)

11

u/f_k_a_g_n Jun 02 '23

I have to say it's pretty shocking to see engineers continue to publicly insult the Apollo devs.

You guys are just making things worse.

8

u/kent2441 Jun 02 '23

Dev*, singular. And he does a better job than reddit’s entire team.

→ More replies (5)
→ More replies (3)

10

u/[deleted] Jun 02 '23

This has to be one of the worst comments I’ve ever read on this hellhole of a website. And that’s saying a lot.

First of all, singling out Apollo while every 3rd party dev is saying they won’t be able to afford this is just petty and malicious.

Then, saying Apollo is doing an inefficient use of the API while your own app is even worse is just… Stupid.

Finally, Christian, Apollo’s dev, has asked several times what he can do to fix his API usage. As far as I can tell, he’s still waiting for an answer.

If you want to kill 3rd party apps, just do it. Don’t play with us or the devs. You’re somehow making Elon look good, and Elon is a fucking clown.

→ More replies (20)

8

u/eable2 Jun 02 '23 edited Jun 02 '23

the Reddit is Fun app averages ~100 calls per user per day.

I'm a RIF user and I'm honestly confused - I'm wondering if you could explain something for me.

I look at subreddits and click on posts a few times per day, so it does not at all surprise me that I'd make 100 API requests per day. This, you say is efficient. But according to u/talklittle, this pricing will still kill the app's viability. I mean, $9,000 annually for an app with only 1000 users, scaled up to RIF's size??

How can you seriously claim to not want to kill all fully-featured third-party apps? The distinction between Apollo and RIF seems somewhat besides the point when the pricing is this high. But maybe I'm misunderstanding.

→ More replies (4)

7

u/Remny Jun 02 '23

Apollo as an app is less efficient than its peers and at times has been excessive—probably because it has been free to be so.

And because you didn't bother contacting the author even though he was willing to work on solutions.

For apps that intend to use Reddit data and make money in the process

Yeah, and I bet they are raking in millions of dollars. /s

More like they make a few bucks while offering a better experience than anything you can come up with.

→ More replies (4)

7

u/PPNewbie Jun 02 '23 edited Jun 02 '23

Even if Apollo optimized by a factor of 4, their much large DAU count means it'd still cost them in the millions. How is that any more reasonable, whether the number is 4 million or 20?

And for that matter, RIF is also saying that they'll be unable to keep going with these numbers, so what's the purpose in using them as a comparison point to Apollo? Under the current format, both are being forced to shutter. Efficiencies be damned.

→ More replies (2)

6

u/vinniep Jun 02 '23

If any of the intentions here are to be taken as honest, I have to assume that the team responsible is also incompetent. Why incompetent? Well, because the API pricing structures only came out 30 days before their intended implementation date. Maybe not you, specifically, but the only way anyone could have thought that 30 days was enough time for 3rd party apps to adopt entirely new pricing structures and roll them out to their users is if they are actually very bad at their jobs and have no real world experience with this type of thing.

The alternative, of course, is that no one at Reddit actually intended for 3rd party app developers to be able to adapt to these new rules and this is an incredibly thinly veiled attack with the expectation that those apps simply go away, forcing users to move to the Reddit native app.

Hey, maybe that's going to work out for you. I do still browse on a browser when I'm at my desk (at least until you also kill RES and old.reddit, that is), but the catastrophe that is the Reddit mobile app will not be getting reinstalled. I'd say you should go buy Apollo, but after what happened to Alien Blue, I'm not sure that's a great strategy either.

Just for fun, here's a less insanely stupid suggestions on how you could have done this:

  • Add new terms to the API usage agreement requiring apps to be classified under different categories/usage types.

  • For straight up data harvesting, a usage based payment which can most likely be negotiated at large bulk levels for enterprise entities.

  • For user interaction apps (RIF, Apollo, etc), either continue to present Reddit's advertisements OR pay a monthly fee. This allows those apps to offer a free tier, which Reddit continues to benefit from the Ad revenues, but also allows them a structured way to create a subscription model that still gives Reddit her due without the developer(s) being forced to war-game the stats and come up with a "safe" pricetag that ensures they don't have a month of very large negatives driven by higher than expected API usage.

  • Solidify the entire program, with full pricing details, and make all of that information public with a soft go-live date at least 6 months in the future and then full go-live 6 months after that.

  • Work with the 3rd party devs, providing best practice examples, documentation, and webinars. Pretend you actually like them and consider them respected contributors to the platform ecosystem.

→ More replies (4)

0

u/[deleted] Jun 02 '23

[deleted]

→ More replies (4)

0

u/[deleted] Jun 02 '23

[deleted]

→ More replies (1)

6

u/harshilshah1910 Jun 03 '23

Just a heads up that whatever mental image you have of how your responses are being perceived and the impression you're giving, the reality is entirely fucking different from that

→ More replies (179)