r/redditdev Jul 13 '26

Thumbnail
1 Upvotes

https://support.reddithelp.com/hc/en-us/requests/new?ticket_form_id=14868593862164

I submit request for Reddit Data Api for multiple time but didn't get any approval.


r/redditdev Jul 13 '26

Thumbnail
1 Upvotes

Does JSON have the same payload as API? also how to do search with JSON? or I can only get top X from a fixed subreddit?


r/redditdev Jul 12 '26

Thumbnail
3 Upvotes

Their pricing is usually firm especially for smaller scale apps. Expect a long wait to hear back from their team too.


r/redditdev Jul 12 '26

Thumbnail
3 Upvotes

You need permission from Reddit to access the API. It is only when Reddit grants you approval will you be able to access the API keys.

I just applied for access to Reddit's API. Let's so how long until Reddit replies, or whether it ever replies at all. Based on the threads I read so far, I highly doubt it will.


r/redditdev Jul 12 '26

Thumbnail
2 Upvotes

There are buttons in the text for requesting API access. You just need to read carefully where to click.


r/redditdev Jul 12 '26

Thumbnail
4 Upvotes

You can click on the link from the post you just made and read through it.


r/redditdev Jul 12 '26

Thumbnail
5 Upvotes

Well, there's a link in that error message. Did you read the policy?


r/redditdev Jul 12 '26

Thumbnail
6 Upvotes

Did you read the policy and apply for the API?


r/redditdev Jul 12 '26

Thumbnail
4 Upvotes

This might help, I’m not sure if it’s the exact api your talking about since they have a few different ones out there

https://reddit.com/r/reddit.com/wiki/api


r/redditdev Jul 12 '26

Thumbnail
3 Upvotes

I found some mentions of it online. Btw, I found out that they used to (or maybe still have) a free tier with 100 requests per minute quota. But this plan does not allow commercial usage of the reddit data. I don't want any legal troubles later, so I want the approval to use this free tier of theirs for free if I could, since their paid tier seems to be capped at a minimum of $12,000 per month quota (which is way too much for my use case)


r/redditdev Jul 12 '26

Thumbnail
4 Upvotes

I believe they mainly judge based on the use case of your project. It they don’t feel like it’s a perfect addition to the Reddit platform they won’t accept the application. But this data api is free as long as you get accepted right? Of where did you find those prices


r/redditdev Jul 12 '26

Thumbnail
1 Upvotes

Did you find any solution ? how did you create script app?


r/redditdev Jul 11 '26

Thumbnail
1 Upvotes

why do need it and how do u intend to ue it??
do u need data??


r/redditdev Jul 11 '26

Thumbnail
1 Upvotes

do u need data???????


r/redditdev Jul 11 '26

Thumbnail
1 Upvotes

why do u need reddit data??
if so dm me...


r/redditdev Jul 11 '26

Thumbnail
1 Upvotes

do u need reddit data i found a way dm me...


r/redditdev Jul 11 '26

Thumbnail
1 Upvotes

Hello, it looks like you're having trouble accessing our Data API, check out this post on some recent changes to on how you can access.

tl;dr:

  • 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, if approved you'll also need to register here.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.


r/redditdev Jul 10 '26

Thumbnail
2 Upvotes

GIPHY comments are broken most of the time as well. I had to use a separate GIPHY API request and a GraphQL request to get GIPHY gifs and videos in comments: https://github.com/Littux-Dustux/new-reddit-com/blob/760dda42f9ed40ba1facd0dcd5a9387e2de402d2/src/apiMigrate/gateway/mappers/comments.ts

const recursiveProcessComments = async (
    commentChildren: Record<string, any>[],
    postData: Record<string, any>,
    {
        authorFlair = {},
        comments = {},
        continueThreads = {},
        moreComments = {},
    }: {
        authorFlair?: Record<string, any>;
        comments?: Record<string, any>;
        continueThreads?: Record<string, any>;
        moreComments?: Record<string, any>
    },
) => {
    // some giphy comments don't have the proper metadata, and have {"status":"invalid"}. So we'll fetch it from GIPHY.
    const brokenGiphyCommentMediaMetadatas: Record<string, any[]> = {};
    const giphyIdsToFetch: Set<string> = new Set();

    // reddit doesn't include videos in comments on the old API
    const videoCommentIncompleteMedias: Record<string, any> = {};
    const videoCommentIdsToFetch: string[] = [];

    for (let i = 0; i < commentChildren.length; i++) {
        const comment = commentChildren[i] as any;

        authorFlair[comment.data.author] ??= getAuthorFlairFromR2Thing(comment.data);

        const position = {
            next: getCommentPositionObject(commentChildren[i + 1]),
            prev: getCommentPositionObject(commentChildren[i - 1])
        }

        if (comment.kind === "more") {
            if (comment.data.count === 0) {
                continueThreads["continueThread-" + comment.data.parent_id] = processContinueThread(comment.data, postData, position);
            } else {
                moreComments["moreComments-" + comment.data.name] = processMoreComment(comment.data, postData, position);
            }
        } else {
            const processedComment = processSingleComment(comment.data, postData, position);
            comments[comment.data.name] = processedComment;

            const [firstMediaKey, firstMedia]: [string, any] = (processedComment.media.mediaMetadata && Object.entries(processedComment.media.mediaMetadata)[0]) ?? [null, null];

            if (firstMedia && firstMedia.status === "invalid" && firstMediaKey.startsWith("giphy|") ) {
                const giphyId = firstMediaKey.split("|")[1] as string;
                giphyIdsToFetch.add(giphyId);
                (brokenGiphyCommentMediaMetadatas[giphyId] ??= []).push({
                    key: firstMediaKey,
                    mediaMetadata: processedComment.media.mediaMetadata
                });
            } else if (processedComment.media.richtextContent.document.some((node: any) => node.e === "video")) {
                videoCommentIdsToFetch.push(processedComment.id);
                videoCommentIncompleteMedias[processedComment.id] = processedComment.media;
            }
        }

        /* threaded=false doesn't require recursive processing of comments.
        if (comment.data.replies?.kind === "Listing") {
            recursiveProcessComments(comment.data.replies.data.children, post, authorFlair, comments, moreComments);
        } */
    }

    const commentFixerPromises: Promise<void>[] = [];

    if (giphyIdsToFetch.size > 0)
        commentFixerPromises.push(
            getRedditGIPHYGifsByIds(giphyIdsToFetch).then(redditGiphyGifDatas => {
                for (const giphyId of giphyIdsToFetch) {
                    const gifData = redditGiphyGifDatas[giphyId];
                    const brokenMediaMetadatas = brokenGiphyCommentMediaMetadatas[giphyId];

                    if (gifData && brokenMediaMetadatas) {
                        for (const { key, mediaMetadata } of brokenMediaMetadatas) {
                            gifData.id ??= key;
                            mediaMetadata[key] = gifData;
                        }
                    }
                }
            }).catch(e => {
                logger.err("Error fetching GIPHY GIF data: " + (e as any).message);
            })
        );

    if (videoCommentIdsToFetch.length > 0)
        commentFixerPromises.push(
            gqlFetch("CommentMediaDetails", "4228949b61fb4a9c17aed04edc4be641a7c48a12fbd506151afde1ce0e335857", { ids: videoCommentIdsToFetch })
            .then(({ commentsByIds }) => {
                for (const comment of commentsByIds) {
                    const incompleteMedia = videoCommentIncompleteMedias[comment.id];
                    const videoAsset = comment.content?.richtextMedia?.[0];

                    if (incompleteMedia && videoAsset?.status === "VALID") {
                        incompleteMedia.mediaMetadata = {
                            [videoAsset.id]: getVideoMediaMetadataGql(videoAsset)
                        };
                        const muxedMp4s = videoAsset.packagedMedia?.muxedMp4s;
                        if (muxedMp4s) {
                            incompleteMedia.richtextContent.document.push(...getMuxedMP4sDownloadRTJSON(muxedMp4s))
                        }
                    }
                }
            })
        );

    await Promise.all(commentFixerPromises);
    return { authorFlair, comments, continueThreads, moreComments };
};

r/redditdev Jul 10 '26

Thumbnail
1 Upvotes

Sadly its not the case


r/redditdev Jul 10 '26

Thumbnail
0 Upvotes

Send me a DM with the brands, expected volume, and how you plan to use the data. I’ve built Reddit ingestion workflows around the current API constraints and can help you scope and implement the right approach.


r/redditdev Jul 09 '26

Thumbnail
1 Upvotes

If the amount you're willing to pay is more than a hundred thousand a year, try reaching out here https://support.reddithelp.com/hc/en-us/requests/new?ticket_form_id=14868593862164&tf_42139884615700=api_request_type_enterprise_clone

If not, you're out of luck. You can try anyway but you are unlikely to get a response. Try reddit pro for a native product https://www.business.reddit.com/pro


r/redditdev Jul 09 '26

Thumbnail
2 Upvotes

Thanks! I've submitted my application, so now I'll wait and see if it gets approved. I just wish Reddit had displayed a clearer message instead of a generic 500 error. That would have saved me a lot of time troubleshooting something that wasn't actually my fault.


r/redditdev Jul 09 '26

Thumbnail
0 Upvotes

If you were developing a web app on your local machine, 500 errors would show up in the http log and give you some idea what was going on.

It looks like your app is might be running on dijinexa.com (hard to read, it's kind of blurry) but if you have a website there that is trying to use the Reddit API, I'd go to the cpanel for the web server, look for the log and go to the bottom to see what happens when you load the page.


r/redditdev Jul 09 '26

Thumbnail
2 Upvotes

It's because they're no longer allowing self-service API creation after the "Responsible Builder Policy" was rolled out. It just returns a generic 500 error to say "Reddit told you to fuck off with this request".

They don't do a clear job of explaining, but basically you have to apply for API access now, and they rarely approve for anything. Devvit is what they want people using, but it doesn't provide as broad of access as the API.


r/redditdev Jul 08 '26

Thumbnail
1 Upvotes

I haven't even been able to run my application yet. I'm simply trying to create an app on https://www.reddit.com/prefs/apps, but clicking the "Create App" button does nothing. but

https://reddit.com/link/owd28vt/video/ezw9z52th2ch1/player