Reddit · Capability

Reddit Advertising

Unified capability for managing Reddit advertising campaigns. Combines the Reddit Ads API for campaign lifecycle management and the Data API for audience research and targeting intelligence. Used by digital marketers, performance agencies, and brands to create, optimize, and report on Reddit advertising campaigns programmatically.

Run with Naftiko AdvertisingMarketingRedditSocial Media

What You Can Do

GET
List campaigns — List advertising campaigns
/v1/campaigns
POST
Create campaign — Create an advertising campaign
/v1/campaigns
GET
List custom audiences — List custom targeting audiences
/v1/audiences
GET
Get subreddit info — Research a subreddit community for ad targeting
/v1/subreddits/{subreddit}

MCP Tools

get-ads-account

Get Reddit Ads account details and configuration

read-only
list-campaigns

List all advertising campaigns for an account

read-only
create-campaign

Create a new Reddit advertising campaign with budget and objective

list-custom-audiences

List custom targeting audiences for retargeting campaigns

read-only
research-subreddit

Research a subreddit community to assess ad targeting potential

read-only
get-subreddit-trending

Get trending posts from a subreddit to understand audience interests

read-only

APIs Used

reddit-ads reddit-data

Capability Spec

advertising.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Reddit Advertising"
  description: >-
    Unified capability for managing Reddit advertising campaigns. Combines the
    Reddit Ads API for campaign lifecycle management and the Data API for
    audience research and targeting intelligence. Used by digital marketers,
    performance agencies, and brands to create, optimize, and report on Reddit
    advertising campaigns programmatically.
  tags:
    - Advertising
    - Marketing
    - Reddit
    - Social Media
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      REDDIT_ADS_ACCESS_TOKEN: REDDIT_ADS_ACCESS_TOKEN
      REDDIT_ACCESS_TOKEN: REDDIT_ACCESS_TOKEN

capability:
  consumes:
    - import: reddit-ads
      location: ./shared/ads-api.yaml
    - import: reddit-data
      location: ./shared/data-api.yaml

  exposes:
    - type: rest
      port: 8081
      namespace: reddit-advertising-rest
      description: "Unified REST API for Reddit advertising management."
      resources:
        - path: /v1/campaigns
          name: campaigns
          description: "Campaign lifecycle management"
          operations:
            - method: GET
              name: list-campaigns
              description: "List advertising campaigns"
              call: "reddit-ads.list-campaigns"
              with:
                account_id: "rest.account_id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-campaign
              description: "Create an advertising campaign"
              call: "reddit-ads.create-campaign"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/audiences
          name: audiences
          description: "Custom audience management"
          operations:
            - method: GET
              name: list-custom-audiences
              description: "List custom targeting audiences"
              call: "reddit-ads.list-custom-audiences"
              with:
                account_id: "rest.account_id"
              outputParameters:
                - type: object
                  mapping: "$."
        - path: /v1/subreddits/{subreddit}
          name: subreddit-research
          description: "Subreddit research for targeting"
          operations:
            - method: GET
              name: get-subreddit-info
              description: "Research a subreddit community for ad targeting"
              call: "reddit-data.get-subreddit-info"
              with:
                subreddit: "rest.subreddit"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9081
      namespace: reddit-advertising-mcp
      transport: http
      description: "MCP server for AI-assisted Reddit advertising management."
      tools:
        - name: get-ads-account
          description: "Get Reddit Ads account details and configuration"
          hints:
            readOnly: true
            openWorld: false
          call: "reddit-ads.get-account"
          with:
            account_id: "tools.account_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-campaigns
          description: "List all advertising campaigns for an account"
          hints:
            readOnly: true
            openWorld: false
          call: "reddit-ads.list-campaigns"
          with:
            account_id: "tools.account_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: create-campaign
          description: "Create a new Reddit advertising campaign with budget and objective"
          hints:
            readOnly: false
            openWorld: false
          call: "reddit-ads.create-campaign"
          with:
            account_id: "tools.account_id"
            campaign_name: "tools.campaign_name"
            objective: "tools.objective"
            budget: "tools.budget"
          outputParameters:
            - type: object
              mapping: "$."
        - name: list-custom-audiences
          description: "List custom targeting audiences for retargeting campaigns"
          hints:
            readOnly: true
            openWorld: false
          call: "reddit-ads.list-custom-audiences"
          with:
            account_id: "tools.account_id"
          outputParameters:
            - type: object
              mapping: "$."
        - name: research-subreddit
          description: "Research a subreddit community to assess ad targeting potential"
          hints:
            readOnly: true
            openWorld: true
          call: "reddit-data.get-subreddit-info"
          with:
            subreddit: "tools.subreddit"
          outputParameters:
            - type: object
              mapping: "$."
        - name: get-subreddit-trending
          description: "Get trending posts from a subreddit to understand audience interests"
          hints:
            readOnly: true
            openWorld: true
          call: "reddit-data.get-hot-listings"
          with:
            subreddit: "tools.subreddit"
            limit: "tools.limit"
          outputParameters:
            - type: object
              mapping: "$."