Reddit Ads

Reddit Ads API for community-driven advertising campaigns

13 tools available

Installation

Claude Desktop

{
  "mcpServers": {
    "hopkin-reddit-ads": {
      "url": "https://mcp.hopkin.ai/reddit-ads/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

CLI

npm install -g @hopkin/cli
hopkin auth set-key hpk_live_...
hopkin reddit ping

Platform Overview

The Reddit Ads MCP server enables AI assistants to manage and analyze Reddit advertising campaigns through the Reddit Ads API v3. It provides read-only access to campaigns, ad groups, ads, and custom audiences with deep subreddit-level targeting insights. By combining community-driven targeting with performance analytics, users can optimize ad spend and reach niche communities at scale.

Your prompt → Claude + Hopkin → Reddit Ads API
                                    ↓
                              Campaigns & Ad Groups
                              Subreddit Targeting
                              Community Performance
                              Budget & Bid Management

Common Workflows

Performance Reporting

"Show me performance by subreddit for my tech campaign over the last month"

Calls reddit_ads_get_performance_report with breakdown: ['community'] to slice metrics by subreddit. Returns impressions, clicks, spend, and engagement segmented by subreddit, making it easy to identify which communities drive the best ROI.

"What was my account's total spend and conversion rate from March 1-31?"

Calls reddit_ads_get_account_summary with the date range. Returns aggregate metrics including spend, impressions, clicks, and key performance indicators across all campaigns and ad groups in the account.

"Break down the performance of campaign X by both date and device type"

Calls reddit_ads_get_performance_report with breakdown: ['date', 'device_os'] to see how performance varies by day and device. Reddit's API supports up to 3 breakdown dimensions for fine-grained analysis.

Campaign & Ad Group Management

"List all my active Reddit campaigns and show their daily budgets"

Calls reddit_ads_list_campaigns with status: ['ACTIVE'] and returns name, status, objective, daily budget (in micro units), and lifetime budget. Results are cached and include pagination cursors for large account portfolios.

"Show me the ad groups in my product launch campaign with their subreddit targeting"

Calls reddit_ads_list_ad_groups with campaign_id parameter. Returns ad group details including bid strategy, bid amounts, and targeting configuration which prominently displays subreddit targeting lists.

"Find all paused ads in the tech ad group and get their headlines"

Calls reddit_ads_list_ads with ad_group_id and status: ['PAUSED']. Returns creative type, headline, and click/post URLs. Useful for auditing inactive creative or understanding why ads were paused.

Community Targeting

"Which subreddits are getting the most impressions across my account?"

Calls reddit_ads_get_performance_report with breakdown: ['community'] to see a ranked list of subreddits by impression volume. Identify high-performing communities and expand budget to top performers.

"Show me the custom audiences I've built for targeting"

Calls reddit_ads_list_custom_audiences to list all available audience segments. Returns audience type, size, and creation date. Useful for reviewing which interest-based or lookalike audiences exist for reuse across campaigns.

Recipes

"Analyze my spending by campaign and subreddit, then tell me which combination has the lowest cost per click"

Calls reddit_ads_get_performance_report with breakdown: ['campaign', 'community']. Returns performance metrics segmented by both campaign and subreddit, allowing comparison of cost-per-click metrics across different community segments within each campaign.

"Get a summary of my Q1 performance, then list all active campaigns and show which had the highest spend"

First calls reddit_ads_get_account_summary for date range 2024-01-01 to 2024-03-31. Then calls reddit_ads_list_campaigns with status: ['ACTIVE']. Compare the budget figures from both calls to identify which active campaign dominated spend during the quarter.

"Show me all ad groups with their targeting, then pull a detailed performance report filtered to just those ad group IDs"

First calls reddit_ads_list_ad_groups to fetch all ad groups and inspect their targeting configuration. Then calls reddit_ads_get_performance_report with those ad_group_ids and breakdown: ['community', 'ad_group'] to see detailed metrics per subreddit per ad group.

"List all my ads, filter to only inactive ones, then check their parent ad group details including targeting"

Calls reddit_ads_list_ads with status: ['PAUSED', 'ARCHIVED'] to get inactive ads. Extract ad_group_id from results, then call reddit_ads_list_ad_groups with those IDs to see the targeting configuration and bid strategy that shaped those ads.

"Generate a weekly performance report breaking down by both date and device, then compare mobile vs desktop spend efficiency"

Calls reddit_ads_get_performance_report with breakdown: ['date', 'device_os'] and a 7-day date range. Returns spend, impressions, and clicks segmented by calendar date and device type (iOS, Android, Windows, etc.), allowing manual comparison of mobile vs desktop ROI.

"Check if my account has any custom audiences, then list ad groups to see which ones use interest-based targeting"

First calls reddit_ads_list_custom_audiences to see available audience segments. Then calls reddit_ads_list_ad_groups and inspect the targeting field to identify which ad groups have interest or audience_id targeting applied versus pure subreddit targeting.

"Export budget and performance data: list all campaigns with their daily budgets, get account-level spend, then performance by campaign"

Calls reddit_ads_list_campaigns to capture all campaign budgets. Calls reddit_ads_get_account_summary for total account spend. Calls reddit_ads_get_performance_report with breakdown: ['campaign'] to get per-campaign metrics. Combine results into a unified export showing budget allocation vs actual spend per campaign.

Tips

1. Subreddit targeting is the Reddit differentiator — Use breakdown: ['community'] in performance reports to see subreddit-level metrics. Reddit's API is one of the few platforms that exposes performance by specific community, making it ideal for niche audience analysis.

2. Budget values are in micro units — Divide daily_budget_micro and lifetime_budget_micro by 1,000,000 to get the actual currency amount. For example, 5000000 micro equals $5.00 USD.

3. Cache is always fresh — List tools (list_campaigns, list_ad_groups, list_ads, list_custom_audiences) cache results and refresh in the background. Pass refresh: true to force a synchronous fetch if you need the absolute latest data immediately.

4. Targeting is nested in ad groups — The targeting object within ad group details contains subreddit IDs, interest keywords, audience IDs, and placement preferences. This is where you'll find the deepest insight into campaign strategy since ad groups are where Reddit-specific constraints (like subreddit lists) are configured.

Tools

account-summary

reddit_ads_get_account_summary Get Reddit Ads Account Summary

Read-onlyIdempotentOpen-world

Get a high-level performance summary for a Reddit ad account over a date range.

ParameterTypeDescription
account_id requiredstringReddit ad account ID.
date_start requiredstringStart date in YYYY-MM-DD format.
date_end requiredstringEnd date in YYYY-MM-DD format.
reason requiredstringWhy this tool call is needed
View full documentation →

ad-accounts

reddit_ads_list_ad_accounts List Reddit Ad Accounts

Read-onlyIdempotentOpen-world

List Reddit ad accounts accessible to the authenticated user.

ParameterTypeDescription
reason requiredstringWhy this tool call is needed
5 optional parameters
ParameterTypeDescription
account_idstringFetch a single ad account by ID.
account_idsarrayFetch specific accounts by IDs.
limitinteger
cursorstringOpaque pagination cursor.
refreshboolean
View full documentation →

ad-groups

reddit_ads_list_ad_groups List Reddit Ad Groups

Read-onlyIdempotentOpen-world

List Reddit ad groups for an ad account. Shows targeting, bid strategy, and campaign association.

ParameterTypeDescription
account_id requiredstringReddit ad account ID.
reason requiredstringWhy this tool call is needed
7 optional parameters
ParameterTypeDescription
ad_group_idstringFetch a single ad group by ID.
ad_group_idsarrayFetch specific ad groups by IDs.
campaign_idstringFilter by parent campaign ID.
statusarrayFilter by status.
limitinteger
cursorstringOpaque pagination cursor.
refreshboolean
View full documentation →

ads

reddit_ads_list_ads List Reddit Ads

Read-onlyIdempotentOpen-world

List Reddit ads for an ad account. Shows creative type, headline, click URL, and status.

ParameterTypeDescription
account_id requiredstringReddit ad account ID.
reason requiredstringWhy this tool call is needed
7 optional parameters
ParameterTypeDescription
ad_idstringFetch a single ad by ID.
ad_idsarrayFetch specific ads by IDs.
ad_group_idstringFilter by parent ad group ID.
statusarrayFilter by status.
limitinteger
cursorstringOpaque pagination cursor.
refreshboolean
View full documentation →

auth

reddit_ads_check_auth_status Check Reddit Ads Authentication Status

Read-onlyIdempotentOpen-world

Troubleshoot authentication issues and get user profile info. Only use when another tool fails with a permission or authentication error — do NOT call proactively.

ParameterTypeDescription
reason requiredstringWhy this tool call is needed
View full documentation →

reddit_ads_ping Ping Reddit Ads MCP Server

Read-onlyIdempotent

Health check for the Reddit Ads MCP server.

ParameterTypeDescription
reason requiredstringWhy this tool call is needed
1 optional parameter
ParameterTypeDescription
messagestringOptional message to echo back
View full documentation →

campaigns

reddit_ads_list_campaigns List Reddit Campaigns

Read-onlyIdempotentOpen-world

List Reddit ad campaigns for an ad account. Shows name, status, objective, and budget information.

ParameterTypeDescription
account_id requiredstringReddit ad account ID.
reason requiredstringWhy this tool call is needed
7 optional parameters
ParameterTypeDescription
campaign_idstringFetch a single campaign by ID.
campaign_idsarrayFetch specific campaigns by IDs.
statusarrayFilter by status.
searchstringSearch by campaign name (case-insensitive).
limitinteger
cursorstringOpaque pagination cursor.
refreshboolean
View full documentation →

custom-audiences

reddit_ads_list_custom_audiences List Reddit Custom Audiences

Read-onlyIdempotentOpen-world

List Reddit custom audiences for an ad account. Shows name, type, size, and status.

ParameterTypeDescription
account_id requiredstringReddit ad account ID.
reason requiredstringWhy this tool call is needed
5 optional parameters
ParameterTypeDescription
audience_idstringFetch a single custom audience by ID.
audience_idsarrayFetch specific audiences by IDs.
limitinteger
cursorstringOpaque pagination cursor.
refreshboolean
View full documentation →

feedback

reddit_ads_developer_feedback Submit Developer Feedback

IdempotentOpen-world

Submit feedback about missing tools, improvements, bugs, or workflow gaps in the Reddit Ads MCP toolset. Not for user-facing issues like auth or API errors.

ParameterTypeDescription
feedback_type requiredstringFeedback category: new_tool (request new capability), improvement (enhance existing tool), bug (report issue), workflow_gap (missing workflow)
title requiredstringConcise title summarizing the feedback
description requiredstringWhat is needed and why
reason requiredstringWhy this tool call is needed
3 optional parameters
ParameterTypeDescription
current_workaroundstringCurrent workaround, if any
prioritystringImpact level: low (nice-to-have), medium (improves workflow), high (blocking issue)
interfacestringInterface the feedback originated from: MCP (default) or CLI
View full documentation →

preferences

reddit_ads_store_preference Store Reddit Ads Preference

Idempotent

Store a persistent preference for a Reddit ad entity. Use when you infer a recurring preference about analysis, reporting, or management. Updates existing keys.

ParameterTypeDescription
entity_type requiredstringType of ad entity: ad_account, campaign, ad_set (Meta ad sets / Google ad groups), or ad
entity_id requiredstringThe platform entity ID (e.g. act_123456, 23842453456789)
key requiredstringPreference key (e.g. preferred_conversion_metric, budget_alert_threshold)
reason requiredstringWhy this tool call is needed
3 optional parameters
ParameterTypeDescription
valueunknownPreference value — string, number, boolean, or JSON object
sourcestringWho set this preference: agent (default), user, or system
notestringOptional context about why this preference was set
View full documentation →

reddit_ads_get_preferences Get Reddit Ads Preferences

Read-onlyIdempotent

Get all stored preferences for a Reddit ad entity. Preferences are also auto-attached to list tool responses as _stored_preferences.

ParameterTypeDescription
entity_type requiredstringType of ad entity: ad_account, campaign, ad_set, or ad
entity_id requiredstringThe platform entity ID
reason requiredstringWhy this tool call is needed
View full documentation →

reddit_ads_delete_preference Delete Reddit Ads Preference

DestructiveIdempotent

Delete a stored preference by key. No-op if it doesn't exist.

ParameterTypeDescription
entity_type requiredstringType of ad entity: ad_account, campaign, ad_set, or ad
entity_id requiredstringThe platform entity ID
key requiredstringThe preference key to delete
reason requiredstringWhy this tool call is needed
View full documentation →

reporting

reddit_ads_get_performance_report Get Reddit Ads Performance Report

Read-onlyIdempotentOpen-world

Get a performance report for a Reddit ad account over a date range, with optional breakdowns and entity filters.

ParameterTypeDescription
account_id requiredstringReddit ad account ID.
date_start requiredstringStart date in YYYY-MM-DD format.
date_end requiredstringEnd date in YYYY-MM-DD format.
reason requiredstringWhy this tool call is needed
4 optional parameters
ParameterTypeDescription
campaign_idsarrayFilter to specific campaign IDs.
ad_group_idsarrayFilter to specific ad group IDs.
ad_idsarrayFilter to specific ad IDs.
breakdownarrayUp to 3 breakdown dimensions. "community" shows subreddit-level data.
View full documentation →