Hello my friendly developers and happy robots!
I'm back again after our chat a few months ago about limiting OAuth tokens to just one per account. The TL;DR: We're taking another step to make sure Reddit's Data API isn't abused, this time by requiring approval for any new Oauth tokens. This means developers, mods, and researchers will need to ask for approval to access our public API moving forward. Don't worry though, we're making sure those of you building cool things are taken care of!
Introducing a new Responsible Builder Policy
We’re publishing a new policy that clearly outlines how Reddit data can be accessed and used responsibly. This gives us the framework we need to review requests and give approvals, ensuring we continue to support folks who want to build, access and contribute to Reddit without abusing (or spamming!) the platform. Read that policy here.
Ending Self-Service API access
Starting today, self-service access to Reddit’s public data API will be closed. Anyone looking to build with Reddit data, whether you’re a developer, researcher, or moderator, will need to request approval before gaining access. That said, current access won’t be affected, so anyone acting within our policies will keep their access and integrations will keep working as expected.
Next Steps for Responsible Builders
Developers: Continue building through Devvit! If your use case isn’t supported, submit a request here.
Researchers: Request access to Reddit data by filing a ticket here. If you are eligible for the r/reddit4researchers program, we’ll let you know.
Moderators: Reach out here if your use case isn't supported by Devvit.
Let us know if you have any questions, otherwise - go forth and happy botting!
Videos
⚠️ This guide may only work for Infinity for Reddit+. For Boost, use u/wchill*'s guide:* https://www.reddit.com/r/BoostForReddit/comments/1pjl5en/comment/nte9t5e/
Part 1:
Install the original, non-modified version of Infinity. Using Infinity for this part is required. You can pick your desired client on Part 2.
Click the hamburger (three line) icon, click "Press here to login", then click "Add an account".
Login to your account and allow the client to access your account. (If it prompts you to buy a subscription after clicking "Accept", just close the app)
You should now receive an email after allowing the client. Copy the "App ID" string from the email.
Uninstall Infinity.
Part 2: Patch configurations
Open the ReVanced app.
Tap "Patcher", then "Select an application".
Tap the "Storage" button and select your desired client's (doesn't have to be Infinity) APK file.
Tap "Selected patches" and make sure the two patches are checked.
Click the settings button beside the "Spoof client" patch.
Replace "null" with your "App ID" key. The App ID in the email is *universal*, meaning you can use it for any client, not just Infinity. (yes, "App ID" = "Client ID)
Click "Save", then click "Done".
Part 3: Patch, Install, and Login
Click "Patch".
Wait for it to patch. (around 15-20 seconds)
When it finishes, click "Install".
Open the patched app and login. (If login throws an error, try using Proton VPN and use a European country)
Done!
Last week I requested access to the API to make some cool features for a Telegram bot. I included a lot of details but I haven’t heard back yet, any advice how long this takes usually?
Thanks in advance
i had some scripts (tts post reader, saved message loader) made with praw, but i lost the keys, so i went to make a new one but reddit is complaining about there being to many, so i deleted all the ones i had. it kept saying that i needed to request api access. found the ticket form, it doesnt let me submit a ticket and says to use devvit. devvit is for games, and im making a small script for myself
what the hell do i do? i dont need devvit, please dont suggest that, its not fitting with what im making. i dont want a moderation tool either!
just give me the ability to make an app/script again, why does this suck so much...
EDIT:
tickets rejected, r/modsupport modmail ignored, admin dm ignored.
i dont believe anyone is getting api access for small personal use at this point
Hey folks, this is baffling me - how do I create a new app/get API credentials?
When I go to /pref/apps I just get a "You are already logged in and will be redirected"
But when I get redirected I end up on the same screen.
Any insights? :-)
Thanks!
Hi everyone,
I’m working on a startup project where I want to use Reddit data (mainly posts + comments from one subreddit).
I understand that this falls under commercial use, so I’ll need to register for commercial API access. However, I’m finding it confusing where exactly to apply.
Can someone point me to the current process or correct form to request commercial API access? Do I just submit a ticket through Reddit Help, or is there a dedicated application form?
Any guidance from folks who have gone through this recently would be super helpful 🙏
Thanks in advance!
As of right now, you cannot retrieve a permanent access token. You have 2 options that come close.
The first is to request a "refresh" token when using the standard OAuth flow. That's what you're doing by sending "duration" as "permanent" in your code. The refresh token can be used to automatically retrieve new 1 hour access tokens without user intervention; the only manual steps are on the initial retrieval of the refresh token.
The second alternative, which applies only when writing a script for personal use, is to use the password grant type. The steps are described in more detail on reddit's "OAuth Quick Start" wiki page, but I'll summarize here:
- Create an OAuth client (under https://www.reddit.com/prefs/apps) with type = "script"
- Make a request to
https://www.reddit.com/api/v1/access_tokenwith POST parametersgrant_type=password&username=<USERNAME>&password=<PASSWORD>. Send your client ID and secret as HTTP basic authentication.<USERNAME>must be registered as a developer of the OAuth 2 client ID you send.
A client_id and client_secret can be generated for a reddit account by going to https://www.reddit.com/prefs/apps and creating an app:
The part I have hidden is my client_id.
Then you can use a client like praw to access reddit e.g. with Python:
import praw
r = praw.Reddit(client_id='insert id here',
client_secret='insert secret here',
user_agent='insert user agent')
page = r.subreddit('aww')
top_posts = page.hot(limit=None)
for post in top_posts:
print(post.title, post.ups)
You could use your current browser's user agent, which can be easily found by google searching "what is my user agent" (among other ways).
I need help.
Can someone help me to get a commercial usage for my web app.
TL/DR: I'm a newbie requesting API access as an academic researcher. Wondering if everyone accessing the API needs a token, or just those going over the data limits? And wondering if anyone has any idea how long it is taking Reddit to respond to API access requests.
Hi - bear with me bc I'm not a developer - looking for some insight:
I'm a PhD candidate doing qualitative research and had planned to use the Reddit API. I signed up for a dev account (script), and put in a request to access the API as a researcher (answered all the questions in the request form). Got an email back a couple days later asking me to answer some questions (the same questions I had already answered), so re-answered those, but now 6 days later haven't heard anything back. I checked out the request form again and see that they added some questions, so I can tell they're still trying to work through the API access changes.
I realized I might only need a token if I'm trying to exceed the data limits and might not even need to go down this request rabbit hole. Hoping someone can clarify for me.
Sorry if this sounds like I don't know what I'm talking about haha, I'm a qualitative health reasearcher whose only "coding" experience is using Stata for data analysis.
Hi There,
For some reason, I find reddit's api docs quite confusing, I want to fetch posts from a particular subreddit using python.
I know that I can use praw, reddit API used to be free till last year, but now how does it work?
Did they also go Twitter way to completely remove the read access from free api?
Where can I find pricing and other relevant details?
Thanks
Hey,
I'd like to use Reddit from the command line and someone pointed me to the Reddit API. The documentation struck me as a bit complex, though. Could anyone direct me to some kind of simple list of steps for how to use it?
You have to make an account - then, do you download the API to your system, or do you just send HTTP requests or something? What are some specific examples of usage?
Thanks very much for any assistance.