Custom app connections are available on the Team plan. See White-label Connections for the overview.
Quick Connect vs Custom App
What You Need
Three values from your own Reddit app:
Reddit access tokens last one hour; Markifact refreshes them with your app ID and secret on every run. Permanent refresh tokens stay valid until the user revokes the app.
Already have your own authorization flow? If your systems already hold a permanent refresh token issued by your app with the scopes below, skip to Connect to Markifact.
Scopes
Request all of these when the user authorizes:adsread, adsedit, adsconversions, adsdatadeletion, history, read, identity. Missing scopes surface later as Reddit permission errors on the node.
Setting Up Your Custom Reddit Ads App
1
Create the App
- Sign in to Reddit with the account that will own the app and open reddit.com/prefs/apps
- Click create another app, choose web app, and enter the name and description. This is the branding users see when they authorize
- Under redirect uri, enter a URL you control (for example
https://www.youragency.com/reddit-callback). Reddit appends the auth code to this URL after authorization; the page does not need to do anything - Click create app and copy the client ID (the string under the app name) and the secret
2
Request Reddit Ads API Access
The Ads API is not open to every app. Apply for Reddit Ads API access for your app and wait for Reddit’s approval. Agencies that already run their own integrations will have this in place; until it is approved, the ads scopes return authorization errors.
3
Authorize and Get the Auth Code
- Open the following URL in a browser, replacing the client ID and redirect URI:
- Sign in as the Reddit user who belongs to the business that owns the ad accounts and click Allow
- Reddit redirects to your URL with
code=...in the query string. Copy the value. Auth codes expire quickly and can be exchanged once, so do the next step right away
4
Exchange the Auth Code for a Refresh Token
Run this request, replacing the values (the redirect URI must match the one used above exactly):The response contains
refresh_token. Copy it. (Reddit rejects requests without a User-Agent, which is what -A sets.)Important: Keep this token secure. Anyone holding it, together with your app ID and secret, can act on every ad account the user can reach.
5
Connect to Markifact
- In Markifact, go to the Connections page
- Click Connect on Reddit Ads
- Select the Custom App (White-label) tab
- Enter a Connection Name (for example “Acme Agency Reddit Ads”)
- Paste your App ID, App Secret, and Refresh Token
- Click Verify & Connect
Selecting Your Connection
Custom app connections appear under the name you chose, with a Custom app badge on the Connections page. Select them in Reddit Ads nodes, agents, and MCP exactly like any other Reddit Ads connection.Rotating or Replacing the Token
Add the connection again with the same connection name and the new values. Markifact replaces the stored credentials in place, so workflows and agents bound to the connection keep working.Troubleshooting
Reddit rejected the refresh token (invalid_grant)
Reddit rejected the refresh token (invalid_grant)
The token was issued by a different app, was minted without
duration=permanent (so it expired after an hour), or the user revoked the app under Reddit User Settings > Privacy > Authorized applications. Authorize again and paste the new refresh token.Reddit Ads API refused access (FORBIDDEN)
Reddit Ads API refused access (FORBIDDEN)
Either the token is missing the ads scopes, or your app has not been granted Reddit Ads API access yet. Check both, then authorize again.
This Reddit user belongs to no business
This Reddit user belongs to no business
The user who authorized is not a member of any Reddit Ads business. Add them under Business settings > Members in Reddit Ads, then authorize again.
Summary
Related
White-label Connections
Overview of custom app connections across channels
Get Report
Pull Reddit Ads performance data

