- Go to https://www.reddit.com/prefs/apps
- Click "Create App" or "Create Another App"
- Fill out the form:
- Name: Reddit Multi-Poster (or any name you want)
- App type: Select "web app"
- Description: Optional
- About URL: Optional
- Redirect URI:
http://localhost:3000/api/auth/callback
- Click "Create app"
- Copy your credentials:
- Client ID: The string under the app name (looks like:
abc123def456) - Client Secret: The "secret" field
- Client ID: The string under the app name (looks like:
Create a file named .env.local in the project root with these variables:
REDDIT_CLIENT_ID=your_client_id_here
REDDIT_CLIENT_SECRET=your_client_secret_here
REDDIT_REDIRECT_URI=http://localhost:3000/api/auth/callback
REDDIT_USER_AGENT=MultiPoster/1.0
SESSION_SECRET=change_me_to_a_long_random_string_for_productionReplace your_client_id_here and your_client_secret_here with the actual values from step 1.
npm run devThen open http://localhost:3000
- Click "Login with Reddit"
- Authorize the app
- Upload an image or paste a URL
- Select subreddits (up to 30)
- Write your caption
- Configure flairs (optional)
- Click "Start Posting" to begin the queue
Posts will be submitted with 15-minute delays between each subreddit.
REDDIT_CLIENT_ID: Your Reddit app's client IDREDDIT_CLIENT_SECRET: Your Reddit app's secret keyREDDIT_REDIRECT_URI: Where Reddit sends users after OAuth (must match Reddit app settings)REDDIT_USER_AGENT: Identifies your app to Reddit's APISESSION_SECRET: Used for secure session handling (change for production)ADMIN_REDDIT_USERNAME: (Optional) Reddit username for analytics dashboard access
- "Invalid client_id": Check your Reddit app credentials
- "Redirect URI mismatch": Ensure the redirect URI matches exactly in both Reddit app settings and
.env.local - "Unauthorized": Make sure you're logged in and tokens haven't expired