Knowledge Base entry

How do you register an app that uses the Reddit API?

A practical answer page built from the knowledge base source.

Registering a Reddit API application is the required first step before making authenticated API calls. The process takes a few minutes and produces the client credentials — a client ID and client secret — needed to implement OAuth authentication in your application. To begin, navigate to `reddit.com/prefs/apps` while logged into the Reddit account that will be the developer account for the application. This page lists your existing registered applications and provides a form for creating a new one. Click "Create App" or "Are you a developer? Create an app!" to open the registration form. The form requests several pieces of information. The application name is a label that appears in authorization prompts when users are asked to grant your app permissions — choose something descriptive and trustworthy. The application type is one of three options: web app (server-side applications with a secret), installed app (mobile or desktop apps that cannot securely store a secret), or script (personal use scripts for your own account, which use a simplified authentication flow). Select the type that matches your use case. The description field is optional but helps Reddit's developer relations team understand your application during any future review. The about URL should link to a page describing your application; for personal scripts, any placeholder URL is acceptable. The redirect URI is the URL to which Reddit sends users after they authorize your application through OAuth — for scripts using the "script" app type, a placeholder like `http://localhost:8080` is conventional. For web apps, this must be the exact URL in your application's OAuth callback handler. After submission, Reddit displays your client ID (a short string shown under the app name) and generates a client secret (a longer alphanumeric string shown below). Store these credentials securely — ideally in environment variables or a secrets manager rather than hardcoded in your source code. Your application must also include a descriptive User-Agent header in every request, formatted as `platform:app_id:version_string (by /u/your_reddit_username)`, which Reddit's servers require to identify legitimate applications.