Skip to main content

Reddit Ads — Authentication

B
Written by Ben Keeling

A plain-language overview of the access we'll request, what each permission lets us do, who on your team should connect, and what to expect during setup.



What to expect

Connecting takes a couple of minutes. When you add the Reddit Ads integration in Medialake, you'll be redirected to the official Reddit sign-in page, then Reddit's consent screen describing the access being requested — a single read-only permission, explained in the table below. You approve it yourself and can revoke access at any time. We never see or store your password — the login happens entirely on reddit.com, and once you approve you're returned to Medialake.

We follow the principle of least privilege: we only request the access the work actually needs. Medialake is a reporting and media platform — we never create, edit, pause, or spend anything in your ad account. All data is read through Reddit's official Ads API (v3).

 You                    Medialake                  Reddit
  │  connect source         │                         │
  │────────────────────────▶│                         │
  │  redirect to Reddit     │                         │
  │◀────────────────────────│                         │
  │  log in & grant access  │                         │
  │──────────────────────────────────────────────────▶│
  │  redirect with code     │                         │
  │◀──────────────────────────────────────────────────│
  │                         │  exchange code          │
  │                         │────────────────────────▶│
  │                         │  access + refresh token │
  │                         │◀────────────────────────│
  │  source authorized      │                         │
  │◀────────────────────────│                         │
  │                         │  renews automatically   │
  │                         │────────────────────────▶│


Two ways to connect

Reddit Ads can be connected through Medialake's app or through your own OAuth app:

  1. Medialake's app (default). All accounts connect using Medialake's central Reddit Ads app — no setup required, just sign in and approve.

  2. Your own OAuth app (optional). If your organisation would rather own the app that appears on the consent screen, you can create a developer application inside your own Reddit Ads business and enter its credentials into Medialake. Your organisation owns the app and can disable it at any time. Setup steps are below.

The permission requested, and everything else on this page, is identical for both options.


Setting up your own OAuth app (optional)

Most accounts connect with Medialake's central app and can skip this section. If you do want to use your own app, you'll need to be an admin of your Reddit Ads business.

  1. In Reddit Ads, open your business settings and create a developer application.

  2. Grant the app the adsread scope only — that's all Medialake needs.

  3. Set the redirect URI to:

https://oauth2.medialakeapp.com/redditads-redirect
  1. Copy the app's Client ID and Client Secret and enter them in the Reddit Ads integration settings in Medialake. Our guide to entering a Client ID and Client Secret walks through it step by step.

>Keep the Client Secret private. Store it in an approved password manager or secret-management system. Do not email it, paste it into a support ticket, or commit it to source control.


Verifying it's really us

On Reddit's consent screen, check that the app requesting access is the one you expect: Medialake's Reddit Ads app, or — if you set one up — the app your organisation created and named. If the name doesn't match, stop and contact us. Never approve a Reddit access request you weren't expecting.


Who should do the connecting

The connection is tied to the Reddit account that signs in. Please have it done by someone who:

  1. Is a member of your Reddit Ads business, with access to the profiles (ad accounts) you want to sync. View-level access is all we need — the adsread permission can't change anything regardless of the member's role.

  2. Is a permanent member of your team. If the person who authorized us leaves your company or is removed from the business, the connection stops working and someone else will need to reconnect.

Their Reddit login is used only to authorize the connection — we get access to your business's ads data, never their personal Reddit activity: no posts, comments, votes, messages, or subscriptions. The only account details we read are the name and email on their Reddit Ads member profile, to confirm who authorized.


Limiting what we can access

We inherit exactly the connecting person's access — nothing more, enforced by Reddit on every request. To keep the connection as narrow as possible, have someone whose business membership covers only the profiles in scope do the connecting. Profiles outside their access are invisible to us.


You choose what we sync

After you approve and are redirected back to Medialake, you select what to sync: a whole business (which covers every profile in it) or individual profiles. For asset syncing, only Asset Library creatives with an ACTIVE status — images and videos — are brought in; assets that are still processing, invalid, or text-based (headlines and CTAs) are skipped.


The permissions we request

Permission (scope)

What it lets us do

How we use it

adsread

Read your Reddit Ads data: businesses and their profiles, Asset Library creatives, campaigns, ad groups, ads, and performance metrics (impressions, clicks, spend, conversions). Powers the asset sync, dashboards, and reports.

READ ONLY

That's the entire list — one read-only scope. Reddit's Ads API also offers broader scopes, such as adsedit for making changes and adsconversions for uploading conversions — we never request them.


What we can't see or do

Regardless of who connects, we cannot:

  • See or store your password, or log in as you

  • See personal Reddit activity — posts, comments, votes, messages, or subscriptions

  • Create, edit, pause, or delete campaigns, ad groups, ads, or assets

  • Add or change payment methods, or spend money on your account

  • Add, remove, or manage members of your business


Staying connected

Reddit access tokens are short-lived (they expire after about an hour), but when you connect we ask Reddit for a permanent connection, so Reddit issues a refresh token and the connection renews itself automatically in the background — there's no fixed expiry to plan around and nothing to re-approve. The connection only stops working if access is revoked or the connecting person loses their access to the business. If that happens, just reconnect from the Reddit Ads integration in Medialake — it takes a minute.


Revoking access

You're in control at any time. To remove the connection:

  • On Reddit, signed in as the connecting account, go to reddit.com/prefs/apps, find the app under authorized applications, and click revoke access, or

  • Disconnect the Reddit Ads source from its settings page in Medialake.

Revoking on Reddit's side invalidates the tokens and data collection stops; no action is needed on our side.


Troubleshooting

Issues while connecting typically relate to the connecting Reddit account not being a member of the Reddit Ads business (or not having access to the relevant profiles), or — when using your own OAuth app — the Client ID or Client Secret being mistyped, the secret having been regenerated, or the app missing the adsread scope. If you get stuck, contact [email protected] and we'll walk you through it.


Further reading (Reddit documentation)


You can review or withdraw access at any time from your Reddit account's authorized applications page.

Did this answer your question?