Skip to main content
Tools Reference

Reddit Ads Tools

Written By Christopher Scaminaci

Last updated 7 days ago

Reddit Ads Tools

reddit_ · 102 tools · Free 70 · Pro 32 Reddit advertising accounts, campaigns, ad groups, ads and reporting. You register your own Reddit application and an administrator completes the sign-in once; the refresh token that results does not rotate. Paging is a cursor - follow the next and previous URLs the response carries - with a page size capped at 1000. A unique, descriptive user agent is mandatory on every call. Several query and validation endpoints are POSTs that only read, so they stay Free and read-only.

All connector tools · Reddit Ads setup guide

Reddit Ads tool groups

Businesses

ToolPlanAccessSummary
reddit_get_businessFreeRead-onlyGet a single Reddit Ads business by its business id.
reddit_list_industriesFreeRead-onlyList the industry taxonomy Reddit Ads uses to classify businesses.
reddit_list_my_businessesFreeRead-onlyList the Reddit Ads businesses the authorizing account can access.
reddit_update_businessProWriteUpdate a Reddit Ads business identified by businessId.

[Reddit Ads] Get a single Reddit Ads business by its business id. Returns the business's name, industry, and account metadata. Discover business ids with reddit_list_my_businesses.

ParamTypeRequiredDefaultDescription
businessIdstringyesThe Reddit Ads business id (e.g. from reddit_list_my_businesses).

[Reddit Ads] List the industry taxonomy Reddit Ads uses to classify businesses. Returns each industry's id and name — use an industry id when creating or updating a business. Paginated: pass pageToken from the prior response's pagination.next_url to continue.

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the Reddit Ads businesses the authorizing account can access. This is the entry point for discovering business ids used by reddit_get_business, reddit_list_ad_accounts_by_business, and reddit_list_product_catalogs. Paginated via pageToken (from pagination.next_url).

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Update a Reddit Ads business identified by businessId. Provide a JSON object body with the fields to change (e.g. name, industry_id). Requires the adsedit scope — a 403 means the authorizing Reddit account lacks edit access. Look up the business first with reddit_get_business.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body of business fields to change (e.g. {"data":{"name":"..."}}).
businessIdstringyesThe Reddit Ads business id to update.

Members

ToolPlanAccessSummary
reddit_get_feature_accessFreeRead-onlyGet the feature-access flags for the authorizing account — which Reddit Ads features (e.g. product catalogs, lead-gen, conversions) are enabled.
reddit_get_meFreeRead-onlyGet the Reddit account that authorized this connector (the /me endpoint).

[Reddit Ads] Get the feature-access flags for the authorizing account — which Reddit Ads features (e.g. product catalogs, lead-gen, conversions) are enabled. Use this to check whether an advanced surface is available before calling its tools.

[Reddit Ads] Get the Reddit account that authorized this connector (the /me endpoint). Returns the member id and profile of the authorizing user. This is also the cheapest authenticated call, useful to confirm the connection is live.

Ad Accounts

ToolPlanAccessSummary
reddit_get_ad_accountFreeRead-onlyGet a single ad account by its ad account id.
reddit_get_ad_account_historyFreeRead-onlyGet the change history (audit log) for an ad account (a read; POST is used only because the date range and paging ride the request body).
reddit_list_ad_accounts_by_businessFreeRead-onlyList the ad accounts under a business (by businessId).
reddit_query_ad_accountsFreeRead-onlyQuery the ad accounts under a business with a filter/paging body (a read; POST is used only because the criteria ride the request body).
reddit_update_ad_accountProWriteUpdate an ad account identified by adAccountId.

[Reddit Ads] Get a single ad account by its ad account id. Returns currency, time zone, status, and settings. Discover ad account ids with reddit_list_ad_accounts_by_business or reddit_query_ad_accounts.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id.

[Reddit Ads] Get the change history (audit log) for an ad account (a read; POST is used only because the date range and paging ride the request body). Provide a JSON object body with the time range and paging. This is read-only — it returns past changes, it does not make any.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id whose history to fetch.
bodyJsonstringyesJSON object body with the history time range and paging fields.

[Reddit Ads] List the ad accounts under a business (by businessId). Returns each ad account's id, name, currency, and status. For a filtered/queried view use reddit_query_ad_accounts. Paginated via pageToken (from pagination.next_url).

ParamTypeRequiredDefaultDescription
businessIdstringyesThe Reddit Ads business id (from reddit_list_my_businesses).
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Query the ad accounts under a business with a filter/paging body (a read; POST is used only because the criteria ride the request body). Provide a JSON object body describing the filter and paging. This is a read-only search — it does not modify anything.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body with the query filter and paging fields.
businessIdstringyesThe Reddit Ads business id whose ad accounts to query.

[Reddit Ads] Update an ad account identified by adAccountId. Provide a JSON object body with the fields to change. Requires the adsedit scope. Read the current state first with reddit_get_ad_account.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id to update.
bodyJsonstringyesJSON object body of ad-account fields to change.

Funding Instruments

ToolPlanAccessSummary
reddit_get_child_funding_instrumentsFreeRead-onlyGet the child funding instruments (allocations) under a parent funding instrument (by fundingInstrumentId).
reddit_list_funding_instrumentsFreeRead-onlyList the funding instruments (payment methods) on an ad account.
reddit_query_funding_instruments_by_businessFreeRead-onlyQuery the funding instruments across a business with a filter/paging body (a read; POST is used only because the criteria ride the request body).

[Reddit Ads] Get the child funding instruments (allocations) under a parent funding instrument (by fundingInstrumentId). Returns the sub-allocations that split a parent instrument's budget. Paginated via pageToken (from pagination.next_url).

ParamTypeRequiredDefaultDescription
fundingInstrumentIdstringyesThe parent Reddit Ads funding instrument id.
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the funding instruments (payment methods) on an ad account. Returns each instrument's id, type, and status — a campaign references one of these ids. Paginated via pageToken (from pagination.next_url).

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id.
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Query the funding instruments across a business with a filter/paging body (a read; POST is used only because the criteria ride the request body). Provide a JSON object body describing the filter and paging. Read-only — it does not modify anything.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body with the query filter and paging fields.
businessIdstringyesThe Reddit Ads business id whose funding instruments to query.

Profiles

ToolPlanAccessSummary
reddit_get_profileFreeRead-onlyGet a single profile by its profile id.
reddit_list_profiles_by_ad_accountFreeRead-onlyList the profiles (the Reddit accounts/pages ads run under) available to an ad account.
reddit_list_profiles_by_businessFreeRead-onlyList the profiles available to a business (by businessId).

[Reddit Ads] Get a single profile by its profile id. Returns the profile's name and metadata. Discover profile ids with reddit_list_profiles_by_ad_account or reddit_list_profiles_by_business.

ParamTypeRequiredDefaultDescription
profileIdstringyesThe Reddit Ads profile id.

[Reddit Ads] List the profiles (the Reddit accounts/pages ads run under) available to an ad account. Returns each profile's id and name — a profile id is required to create posts and creative assets. Paginated via pageToken (from pagination.next_url).

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id.
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the profiles available to a business (by businessId). Returns each profile's id and name across the business's ad accounts. Paginated via pageToken (from pagination.next_url).

ParamTypeRequiredDefaultDescription
businessIdstringyesThe Reddit Ads business id.
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

Campaigns

ToolPlanAccessSummary
reddit_create_campaignProDestructiveCreate a campaign in an ad account (by adAccountId).
reddit_get_campaignFreeRead-onlyGet a single campaign by its campaign id.
reddit_list_campaignsFreeRead-onlyList the campaigns in an ad account (by adAccountId).
reddit_update_campaignProDestructiveUpdate a campaign identified by campaignId (e.g. rename, pause/resume via configured_status, change objective settings).

[Reddit Ads] Create a campaign in an ad account (by adAccountId). Provide a JSON object body with the campaign fields (e.g. name, objective, configured_status). Requires the adsedit scope. The response returns the new campaign id — use it with reddit_create_ad_group.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id the campaign belongs to.
bodyJsonstringyesJSON object body of the campaign to create.

[Reddit Ads] Get a single campaign by its campaign id. Returns objective, status, and configuration. Discover campaign ids with reddit_list_campaigns.

ParamTypeRequiredDefaultDescription
campaignIdstringyesThe Reddit Ads campaign id.

[Reddit Ads] List the campaigns in an ad account (by adAccountId). Returns each campaign's id, name, objective, and status. Drill into a campaign's ad groups with reddit_list_ad_groups. Paginated via pageToken (from pagination.next_url).

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id.
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Update a campaign identified by campaignId (e.g. rename, pause/resume via configured_status, change objective settings). Provide a JSON object body with the fields to change. Requires the adsedit scope. Read the current state first with reddit_get_campaign.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body of campaign fields to change.
campaignIdstringyesThe Reddit Ads campaign id to update.

Ad Groups

ToolPlanAccessSummary
reddit_create_ad_groupProDestructiveCreate an ad group in an ad account (by adAccountId).
reddit_get_ad_groupFreeRead-onlyGet a single ad group by its ad group id.
reddit_list_ad_groupsFreeRead-onlyList the ad groups in an ad account (by adAccountId).
reddit_update_ad_groupProDestructiveUpdate an ad group identified by adGroupId (e.g. change bid, budget, schedule, targeting, or pause/resume via configured_status).

[Reddit Ads] Create an ad group in an ad account (by adAccountId). Provide a JSON object body with the ad-group fields (e.g. campaign_id, name, bid_value, targeting). Requires the adsedit scope. The response returns the new ad group id — use it with reddit_create_ad.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id the ad group belongs to.
bodyJsonstringyesJSON object body of the ad group to create.

[Reddit Ads] Get a single ad group by its ad group id. Returns bid, budget, schedule, targeting, and status. Discover ad group ids with reddit_list_ad_groups.

ParamTypeRequiredDefaultDescription
adGroupIdstringyesThe Reddit Ads ad group id.

[Reddit Ads] List the ad groups in an ad account (by adAccountId). Returns each ad group's id, parent campaign id, bid, targeting summary, and status. Paginated via pageToken (from pagination.next_url).

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id.
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Update an ad group identified by adGroupId (e.g. change bid, budget, schedule, targeting, or pause/resume via configured_status). Provide a JSON object body with the fields to change. Requires the adsedit scope. Read the current state first with reddit_get_ad_group.

ParamTypeRequiredDefaultDescription
adGroupIdstringyesThe Reddit Ads ad group id to update.
bodyJsonstringyesJSON object body of ad-group fields to change.

Ads

ToolPlanAccessSummary
reddit_create_adProDestructiveCreate an ad in an ad account (by adAccountId).
reddit_get_adFreeRead-onlyGet a single ad by its ad id.
reddit_list_adsFreeRead-onlyList the ads in an ad account (by adAccountId).
reddit_update_adProDestructiveUpdate an ad identified by adId (e.g. swap the creative/post, rename, or pause/resume via configured_status).

[Reddit Ads] Create an ad in an ad account (by adAccountId). Provide a JSON object body with the ad fields (e.g. ad_group_id, post/creative reference, name). Requires the adsedit scope. The response returns the new ad id.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id the ad belongs to.
bodyJsonstringyesJSON object body of the ad to create.

[Reddit Ads] Get a single ad by its ad id. Returns the ad's creative reference, parent ad group id, and status. Discover ad ids with reddit_list_ads.

ParamTypeRequiredDefaultDescription
adIdstringyesThe Reddit Ads ad id.

[Reddit Ads] List the ads in an ad account (by adAccountId). Returns each ad's id, parent ad group id, creative reference, and status. Paginated via pageToken (from pagination.next_url).

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id.
pageSizeintegernonullMax records per page (page.size, 1-1000, default server-side).
pageTokenstringnonullOpaque page cursor lifted from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Update an ad identified by adId (e.g. swap the creative/post, rename, or pause/resume via configured_status). Provide a JSON object body with the fields to change. Requires the adsedit scope. Read the current state first with reddit_get_ad.

ParamTypeRequiredDefaultDescription
adIdstringyesThe Reddit Ads ad id to update.
bodyJsonstringyesJSON object body of ad fields to change.

Reports

ToolPlanAccessSummary
reddit_get_reportFreeRead-onlyRun a performance report for an ad account (by adAccountId) and return the metrics (a read; POST is used only because the date range, breakdowns, metrics, and paging ride the request body).

[Reddit Ads] Run a performance report for an ad account (by adAccountId) and return the metrics (a read; POST is used only because the date range, breakdowns, metrics, and paging ride the request body). Provide a JSON object body describing the report request. Read-only — it computes and returns metrics, it does not change anything.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe Reddit Ads ad account id to report on.
bodyJsonstringyesJSON object body describing the report (time range, breakdowns, metrics, paging).

Posts

ToolPlanAccessSummary
reddit_create_postProWriteCreate a promotable post under a profile (profile id from reddit_list_profiles_by_ad_account).
reddit_create_structured_post_jobProWriteStart an ASYNC job that builds a structured post under a profile (profile id from reddit_list_profiles_by_ad_account).
reddit_get_postFreeRead-onlyGet a single promotable post by its id (from reddit_list_posts).
reddit_get_structured_postFreeRead-onlyGet a single structured post by its id (from reddit_list_structured_posts or the completed job in reddit_get_structured_post_job).
reddit_get_structured_post_jobFreeRead-onlyPoll an async structured-post creation job by its id (returned from reddit_create_structured_post_job).
reddit_list_postsFreeRead-onlyList the promotable posts under a profile (profile id from reddit_list_profiles_by_ad_account or reddit_list_profiles_by_business).
reddit_list_structured_postsFreeRead-onlyList the structured posts under a profile (profile id from reddit_list_profiles_by_ad_account).
reddit_update_postProWriteUpdate an existing promotable post by its id (from reddit_list_posts).
reddit_update_structured_postProWriteUpdate an existing structured post by its id (from reddit_list_structured_posts).

[Reddit Ads] Create a promotable post under a profile (profile id from reddit_list_profiles_by_ad_account). Provide the post body as a JSON object in bodyJson (see the Reddit Ads API v3 post schema). The returned post id can then be promoted by an ad via reddit_create_ad. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object describing the post to create.
profileIdstringyesThe profile id (from reddit_list_profiles_by_ad_account) to create the post under.

[Reddit Ads] Start an ASYNC job that builds a structured post under a profile (profile id from reddit_list_profiles_by_ad_account). Provide the structured-post definition as a JSON object in bodyJson. This returns a job — poll it with reddit_get_structured_post_job until it completes, then read the finished post with reddit_get_structured_post. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object defining the structured post to build.
profileIdstringyesThe profile id (from reddit_list_profiles_by_ad_account) to create the structured post under.

[Reddit Ads] Get a single promotable post by its id (from reddit_list_posts). Returns the post's content, thumbnail, and promotion status. To edit it use reddit_update_post; to list a profile's posts use reddit_list_posts.

ParamTypeRequiredDefaultDescription
postIdstringyesThe post id (from reddit_list_posts) to fetch.

[Reddit Ads] Get a single structured post by its id (from reddit_list_structured_posts or the completed job in reddit_get_structured_post_job). To edit it use reddit_update_structured_post.

ParamTypeRequiredDefaultDescription
postIdstringyesThe structured post id (from reddit_list_structured_posts) to fetch.

[Reddit Ads] Poll an async structured-post creation job by its id (returned from reddit_create_structured_post_job). Returns the job's status and, on completion, the resulting post id — fetch the finished post with reddit_get_structured_post.

ParamTypeRequiredDefaultDescription
postCreationJobIdstringyesThe post-creation job id returned from reddit_create_structured_post_job.

[Reddit Ads] List the promotable posts under a profile (profile id from reddit_list_profiles_by_ad_account or reddit_list_profiles_by_business). Cursor-paginated: pass pageToken (the opaque page.token lifted verbatim from the prior response's pagination.next_url) to advance.

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-100). Capped at 100; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.
profileIdstringyesThe profile id (from reddit_list_profiles_by_ad_account / reddit_list_profiles_by_business) whose posts to list.

[Reddit Ads] List the structured posts under a profile (profile id from reddit_list_profiles_by_ad_account). Structured posts are the richer creative format built via the async job pipeline (reddit_create_structured_post_job). Cursor-paginated (page.size + page.token).

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-100). Capped at 100; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.
profileIdstringyesThe profile id (from reddit_list_profiles_by_ad_account / reddit_list_profiles_by_business) whose structured posts to list.

[Reddit Ads] Update an existing promotable post by its id (from reddit_list_posts). Provide the changed fields as a JSON object in bodyJson (see the Reddit Ads API v3 post schema). A 403 means the authorizing Reddit user lacks the adsedit scope — re-authorize the connector in the StackJack Portal.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object of fields to change on the post.
postIdstringyesThe post id (from reddit_list_posts) to update.

[Reddit Ads] Update an existing structured post by its id (from reddit_list_structured_posts). Provide the changed fields as a JSON object in bodyJson. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object of fields to change on the structured post.
postIdstringyesThe structured post id (from reddit_list_structured_posts) to update.

Creative Assets

ToolPlanAccessSummary
reddit_create_creative_asset_uploadProWriteStart a creative-asset upload under a profile (profile id from reddit_list_profiles_by_ad_account).
reddit_get_creative_assetFreeRead-onlyGet a single processed creative asset by its id (from reddit_list_creative_assets).
reddit_get_creative_asset_uploadFreeRead-onlyGet the status of a single creative-asset upload by its id (returned from reddit_create_creative_asset_upload).
reddit_list_creative_asset_uploadsFreeRead-onlyBatch-fetch creative-asset uploads under a profile by their ids.
reddit_list_creative_assetsFreeRead-onlyList the processed creative assets under a profile (profile id from reddit_list_profiles_by_ad_account).

[Reddit Ads] Start a creative-asset upload under a profile (profile id from reddit_list_profiles_by_ad_account). bodyJson MUST be {"data":[{"type":"IMAGE","name":"<filename>"}]} — `data` is an ARRAY (an object is rejected) and `type` is REQUIRED on every element. Returns a PRESIGNED upload URL + an upload id: PUT the raw image/video bytes to that URL OUT-OF-BAND (not through this MCP tool), then poll reddit_get_creative_asset_upload and read the finished asset with reddit_get_creative_asset. A 403 here is a Reddit-side permission on the PROFILE, not a StackJack gate and not a missing scope — StackJack requests adsedit at consent, so if other write tools (e.g. reddit_create_campaign) succeed on this connection the scope is present; the authorizing Reddit user needs upload rights on that specific profile.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesThe upload request as a JSON object: {"data":[{"type":"IMAGE","name":"<filename>"}]}. `data` must be an ARRAY of objects; each element REQUIRES `type` (e.g. IMAGE, VIDEO) — there is no `media_type` field. `name` is the asset filename.
profileIdstringyesThe profile id (from reddit_list_profiles_by_ad_account) to create the upload under.

[Reddit Ads] Get a single processed creative asset by its id (from reddit_list_creative_assets). Returns the asset's metadata (type, dimensions, media url) for use in ad creatives.

ParamTypeRequiredDefaultDescription
creativeAssetIdstringyesThe creative asset id (from reddit_list_creative_assets) to fetch.

[Reddit Ads] Get the status of a single creative-asset upload by its id (returned from reddit_create_creative_asset_upload). Poll this after PUTting the bytes to the presigned URL; once processing completes, the finished asset is available via reddit_get_creative_asset.

ParamTypeRequiredDefaultDescription
idstringyesThe upload id returned from reddit_create_creative_asset_upload.

[Reddit Ads] Batch-fetch creative-asset uploads under a profile by their ids. uploadIds is REQUIRED — a comma-separated list of upload ids (from reddit_create_creative_asset_upload), max 100 per call. This endpoint filters by id and does not paginate; to fetch one upload use reddit_get_creative_asset_upload.

ParamTypeRequiredDefaultDescription
profileIdstringyesThe profile id (from reddit_list_profiles_by_ad_account) the uploads belong to.
uploadIdsstringyesREQUIRED comma-separated list of upload ids (from reddit_create_creative_asset_upload) to fetch, e.g. "t2_abc,t2_def". Max 100.

[Reddit Ads] List the processed creative assets under a profile (profile id from reddit_list_profiles_by_ad_account). Cursor-paginated (page.size + page.token). To fetch uploads still in flight, use reddit_list_creative_asset_uploads.

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-1000). Capped at 1000; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.
profileIdstringyesThe profile id (from reddit_list_profiles_by_ad_account / reddit_list_profiles_by_business) whose creative assets to list.

Product Catalogs

ToolPlanAccessSummary
reddit_create_product_catalogProWriteCreate a product catalog under a business (business id from reddit_list_my_businesses).
reddit_delete_product_catalogProDestructivePermanently delete a product catalog by its id (from reddit_list_product_catalogs).
reddit_get_catalog_import_reportFreeRead-onlyGet the summary report for a catalog import run (import id from reddit_list_catalog_imports) — counts of products processed, added, updated, and failed.
reddit_get_product_catalogFreeRead-onlyGet a single product catalog by its id (from reddit_list_product_catalogs).
reddit_list_catalog_import_issuesFreeRead-onlyList the validation issues for a catalog import run (import id from reddit_list_catalog_imports).
reddit_list_catalog_importsFreeRead-onlyList the import runs for a product catalog (catalog id from reddit_list_product_catalogs).
reddit_list_product_catalogsFreeRead-onlyList the product catalogs owned by a business (business id from reddit_list_my_businesses).
reddit_update_product_catalogProWriteUpdate a product catalog by its id (from reddit_list_product_catalogs).

[Reddit Ads] Create a product catalog under a business (business id from reddit_list_my_businesses). Provide the catalog definition as a JSON object in bodyJson (see the Reddit Ads API v3 catalog schema). Populate it afterward with a feed (reddit_create_product_feed) or direct products (reddit_batch_upsert_products). A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object describing the catalog to create.
businessIdstringyesThe business id (from reddit_list_my_businesses) to create the catalog under.

[Reddit Ads] Permanently delete a product catalog by its id (from reddit_list_product_catalogs). This also removes its feeds, sets, and products and cannot be undone. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) to delete.

[Reddit Ads] Get the summary report for a catalog import run (import id from reddit_list_catalog_imports) — counts of products processed, added, updated, and failed. For the individual failures use reddit_list_catalog_import_issues.

ParamTypeRequiredDefaultDescription
importIdstringyesThe catalog import id (from reddit_list_catalog_imports) whose report to fetch.

[Reddit Ads] Get a single product catalog by its id (from reddit_list_product_catalogs). Returns the catalog's metadata and counts. To edit it use reddit_update_product_catalog; to delete it use reddit_delete_product_catalog.

ParamTypeRequiredDefaultDescription
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) to fetch.

[Reddit Ads] List the validation issues for a catalog import run (import id from reddit_list_catalog_imports). Returns per-product errors/warnings from feed ingestion. Cursor-paginated (page.size + page.token).

ParamTypeRequiredDefaultDescription
importIdstringyesThe catalog import id (from reddit_list_catalog_imports) whose issues to list.
pageSizeintegernonullMax results per page (1-1000). Capped at 1000; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the import runs for a product catalog (catalog id from reddit_list_product_catalogs). Each import is one feed-ingestion run; its id feeds reddit_list_catalog_import_issues and reddit_get_catalog_import_report. Cursor-paginated (page.size + page.token).

ParamTypeRequiredDefaultDescription
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) whose imports to list.
pageSizeintegernonullMax results per page (1-1000). Capped at 1000; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the product catalogs owned by a business (business id from reddit_list_my_businesses). Catalog ids feed reddit_get_product_catalog, reddit_list_product_feeds, reddit_list_product_sets, and reddit_list_products_in_catalog.

ParamTypeRequiredDefaultDescription
businessIdstringyesThe business id (from reddit_list_my_businesses) that owns the catalogs.
pageSizeintegernonullMax results per page (1-1000). Capped at 1000; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Update a product catalog by its id (from reddit_list_product_catalogs). Provide the changed fields as a JSON object in bodyJson. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object of fields to change on the catalog.
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) to update.

Product Feeds

ToolPlanAccessSummary
reddit_create_product_feedProWriteCreate a product feed on a catalog (catalog id from reddit_list_product_catalogs).
reddit_delete_product_feedProDestructivePermanently delete a product feed by its id (from reddit_list_product_feeds).
reddit_get_product_feedFreeRead-onlyGet a single product feed by its id (from reddit_list_product_feeds).
reddit_list_product_feedsFreeRead-onlyList the product feeds attached to a catalog (catalog id from reddit_list_product_catalogs).
reddit_update_product_feedProWriteUpdate a product feed by its id (from reddit_list_product_feeds).

[Reddit Ads] Create a product feed on a catalog (catalog id from reddit_list_product_catalogs). Provide the feed definition (source URL, schedule, format) as a JSON object in bodyJson. Ingestion runs surface as catalog imports (reddit_list_catalog_imports). A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object describing the feed to create.
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) to attach the feed to.

[Reddit Ads] Permanently delete a product feed by its id (from reddit_list_product_feeds). Products already imported by the feed remain in the catalog; only the feed source is removed. This cannot be undone. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
feedIdstringyesThe product feed id (from reddit_list_product_feeds) to delete.

[Reddit Ads] Get a single product feed by its id (from reddit_list_product_feeds). Returns the feed's source URL, schedule, and last-run status.

ParamTypeRequiredDefaultDescription
feedIdstringyesThe product feed id (from reddit_list_product_feeds) to fetch.

[Reddit Ads] List the product feeds attached to a catalog (catalog id from reddit_list_product_catalogs). Feed ids feed reddit_get_product_feed, reddit_update_product_feed, and reddit_delete_product_feed.

ParamTypeRequiredDefaultDescription
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) whose feeds to list.
pageSizeintegernonullMax results per page (1-1000). Capped at 1000; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Update a product feed by its id (from reddit_list_product_feeds). Provide the changed fields (source URL, schedule) as a JSON object in bodyJson. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object of fields to change on the feed.
feedIdstringyesThe product feed id (from reddit_list_product_feeds) to update.

Product Sets

ToolPlanAccessSummary
reddit_create_product_setProWriteCreate a product set on a catalog (catalog id from reddit_list_product_catalogs).
reddit_delete_product_setProDestructivePermanently delete a product set by its id (from reddit_list_product_sets).
reddit_get_product_setFreeRead-onlyGet a single product set by its id (from reddit_list_product_sets).
reddit_list_product_setsFreeRead-onlyList the product sets defined on a catalog (catalog id from reddit_list_product_catalogs).
reddit_list_products_in_setFreeRead-onlyList the products that match a product set's filter rules (set id from reddit_list_product_sets).
reddit_update_product_setProWriteUpdate a product set by its id (from reddit_list_product_sets).

[Reddit Ads] Create a product set on a catalog (catalog id from reddit_list_product_catalogs). Provide the set definition (name + product filter rules) as a JSON object in bodyJson. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object describing the product set (name + filter rules).
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) to create the set under.

[Reddit Ads] Permanently delete a product set by its id (from reddit_list_product_sets). The underlying products remain in the catalog; only the saved set definition is removed. This cannot be undone. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
productSetIdstringyesThe product set id (from reddit_list_product_sets) to delete.

[Reddit Ads] Get a single product set by its id (from reddit_list_product_sets). Returns the set's name and filter rules. For its member products use reddit_list_products_in_set.

ParamTypeRequiredDefaultDescription
productSetIdstringyesThe product set id (from reddit_list_product_sets) to fetch.

[Reddit Ads] List the product sets defined on a catalog (catalog id from reddit_list_product_catalogs). Set ids feed reddit_get_product_set, reddit_update_product_set, reddit_delete_product_set, and reddit_list_products_in_set. Cursor-paginated (page.size + page.token).

ParamTypeRequiredDefaultDescription
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) whose sets to list.
pageSizeintegernonullMax results per page (1-1000). Capped at 1000; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the products that match a product set's filter rules (set id from reddit_list_product_sets). Cursor-paginated (page.size + page.token).

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-1000). Capped at 1000; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.
productSetIdstringyesThe product set id (from reddit_list_product_sets) whose member products to list.

[Reddit Ads] Update a product set by its id (from reddit_list_product_sets). Provide the changed fields (name, filter rules) as a JSON object in bodyJson. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object of fields to change on the product set.
productSetIdstringyesThe product set id (from reddit_list_product_sets) to update.

Products

ToolPlanAccessSummary
reddit_batch_delete_productsProDestructivePermanently remove products from a catalog in bulk (catalog id from reddit_list_product_catalogs).
reddit_batch_upsert_productsProWriteCreate or update products in a catalog in bulk (catalog id from reddit_list_product_catalogs).
reddit_list_products_in_catalogFreeRead-onlyList the products in a catalog (catalog id from reddit_list_product_catalogs).

[Reddit Ads] Permanently remove products from a catalog in bulk (catalog id from reddit_list_product_catalogs). Provide the product ids to delete as a JSON body in bodyJson (see the Reddit Ads API v3 batch-delete schema). This is a POST but is DESTRUCTIVE and cannot be undone. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON body listing the product ids to delete.
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) to delete products from.

[Reddit Ads] Create or update products in a catalog in bulk (catalog id from reddit_list_product_catalogs). Provide the products as a JSON body in bodyJson (see the Reddit Ads API v3 batch-upsert schema) — existing products (matched by id) are updated, new ones are added. A 403 means the authorizing Reddit user lacks the adsedit scope.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON body listing the products to create or update.
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) to upsert products into.

[Reddit Ads] List the products in a catalog (catalog id from reddit_list_product_catalogs). Returns each product's id, availability, and approval decision. Cursor-paginated (page.size + page.token). Manage products in bulk with reddit_batch_upsert_products / reddit_batch_delete_products.

ParamTypeRequiredDefaultDescription
catalogIdstringyesThe product catalog id (from reddit_list_product_catalogs) whose products to list.
pageSizeintegernonullMax results per page (1-1000). Capped at 1000; omit for the server default.
pageTokenstringnonullOpaque pagination cursor: the page.token from the prior response's pagination.next_url. Omit for the first page.

Audiences & Measurement

ToolPlanAccessSummary
reddit_create_custom_audienceProWriteCreate a custom audience under an ad account.
reddit_create_data_deletion_jobProDestructiveSubmit an asynchronous privacy job to delete Reddit ads data associated with user identifiers (a right-to-erasure / GDPR-style request).
reddit_create_lead_gen_formProWriteCreate a lead-generation form under an ad account.
reddit_create_saved_audienceProWriteCreate a saved (reusable) targeting audience under an ad account.
reddit_delete_custom_audienceProDestructivePermanently delete a custom audience by ID.
reddit_get_custom_audienceFreeRead-onlyGet a single custom audience by ID, including its status and size.
reddit_get_data_deletion_job_statusFreeRead-onlyRetrieve the current status of a data-deletion job (deletions are processed daily, so poll for completion).
reddit_get_lead_gen_formFreeRead-onlyGet a single lead-generation form by ID.
reddit_get_pixel_last_fired_atFreeRead-onlyRetrieve the last time a pixel fired a conversion event (ISO 8601).
reddit_get_saved_audienceFreeRead-onlyGet a single saved audience by ID.
reddit_list_custom_audiencesFreeRead-onlyList the custom audiences owned by an ad account (customer lists, engagement/visitor audiences, etc.).
reddit_list_lead_gen_formsFreeRead-onlyList the lead-generation forms for an ad account.
reddit_list_pixels_by_ad_accountFreeRead-onlyList the conversion pixels attached to an ad account.
reddit_list_pixels_by_businessFreeRead-onlyList the conversion pixels owned by a business.
reddit_list_saved_audiencesFreeRead-onlyList the saved (reusable) targeting audiences for an ad account.
reddit_post_conversion_eventsProWriteSend server-side conversion events to a pixel via the Conversions API (CAPI).
reddit_update_custom_audience_usersProDestructiveAdd or remove users in a CUSTOMER_LIST custom audience (max 2,500 user_data rows per request).
reddit_update_saved_audienceProWriteUpdate a saved audience by ID (partial update).

[Reddit Ads] Create a custom audience under an ad account. Provide a JSON object body with a top-level 'data' object (name, type, and type-specific configuration such as CUSTOMER_LIST / VISITOR / ENGAGEMENT). After creating a CUSTOMER_LIST audience, upload hashed users with reddit_update_custom_audience_users.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe ad account ID that will own the audience.
bodyJsonstringyesJSON object body. Required: data (object) — the custom-audience definition (name, type, config).

[Reddit Ads] Submit an asynchronous privacy job to delete Reddit ads data associated with user identifiers (a right-to-erasure / GDPR-style request). Provide a JSON object body with a top-level 'data' object: identifiers (array, 1-200; each with type EMAIL|PHONE_NUMBER|IDFA|AAID|EXTERNAL_ID and value (raw or pre-hashed)). This is irreversible once processed. Requires the adsdatadeletion scope. Poll status with reddit_get_data_deletion_job_status.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe ad account ID the deletion applies to.
bodyJsonstringyesJSON object body. Required: data.identifiers (array of {type, value}, 1-200 entries).

[Reddit Ads] Create a lead-generation form under an ad account. Provide a JSON object body with a top-level 'data' object (form name, questions/fields, privacy policy URL, etc.).

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe ad account ID that will own the form.
bodyJsonstringyesJSON object body. Required: data (object) — the lead-gen form definition.

[Reddit Ads] Create a saved (reusable) targeting audience under an ad account. Provide a JSON object body with a top-level 'data' object describing the targeting (communities, interests, geolocations, devices, etc.).

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe ad account ID that will own the saved audience.
bodyJsonstringyesJSON object body. Required: data (object) — the saved-audience targeting definition.

[Reddit Ads] Permanently delete a custom audience by ID. This cannot be undone and any ad groups targeting it lose that audience. Use reddit_list_custom_audiences to find IDs.

ParamTypeRequiredDefaultDescription
audienceIdstringyesThe custom audience ID to delete (from reddit_list_custom_audiences).

[Reddit Ads] Get a single custom audience by ID, including its status and size. Use reddit_list_custom_audiences to find IDs.

ParamTypeRequiredDefaultDescription
audienceIdstringyesThe custom audience ID (from reddit_list_custom_audiences).

[Reddit Ads] Retrieve the current status of a data-deletion job (deletions are processed daily, so poll for completion). Requires the adsdatadeletion scope. Use the job id returned by reddit_create_data_deletion_job.

ParamTypeRequiredDefaultDescription
jobIdstringyesThe data-deletion job ID (from reddit_create_data_deletion_job).

[Reddit Ads] Get a single lead-generation form by ID. Use reddit_list_lead_gen_forms to find IDs.

ParamTypeRequiredDefaultDescription
leadGenFormIdstringyesThe lead-gen form ID (from reddit_list_lead_gen_forms).

[Reddit Ads] Retrieve the last time a pixel fired a conversion event (ISO 8601). Useful for verifying CAPI/pixel connectivity. Use reddit_list_pixels_by_ad_account to find the pixel ID.

ParamTypeRequiredDefaultDescription
pixelIdstringyesThe pixel ID (from reddit_list_pixels_by_ad_account).

[Reddit Ads] Get a single saved audience by ID. Use reddit_list_saved_audiences to find IDs.

ParamTypeRequiredDefaultDescription
savedAudienceIdstringyesThe saved audience ID (from reddit_list_saved_audiences).

[Reddit Ads] List the custom audiences owned by an ad account (customer lists, engagement/visitor audiences, etc.). Optionally filter by exact name. Cursor-paginated. Use reddit_list_ad_accounts_by_business to find ad account IDs; use the returned audience id with reddit_get_custom_audience / reddit_update_custom_audience_users / reddit_delete_custom_audience.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe ad account ID (e.g. t2_... or a2_...). Use reddit_list_ad_accounts_by_business to discover.
namestringnonullOptional exact-name filter.
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the lead-generation forms for an ad account. Cursor-paginated. Use reddit_list_ad_accounts_by_business to find ad account IDs; use the returned form id with reddit_get_lead_gen_form.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe ad account ID.
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the conversion pixels attached to an ad account. Cursor-paginated. Use the returned pixel id with reddit_post_conversion_events and reddit_get_pixel_last_fired_at.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe ad account ID.
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the conversion pixels owned by a business. Cursor-paginated. Use reddit_list_my_businesses to find business IDs.

ParamTypeRequiredDefaultDescription
businessIdstringyesThe business ID. Use reddit_list_my_businesses to discover.
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the saved (reusable) targeting audiences for an ad account. Cursor-paginated. Use reddit_list_ad_accounts_by_business to find ad account IDs.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe ad account ID.
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Send server-side conversion events to a pixel via the Conversions API (CAPI). Provide a JSON object body with a top-level 'data' object: events (array, 1-1000; each with event_at (Unix ms), action_source (WEBSITE|APP|OTHER|PHYSICAL_STORE), and type.tracking_type), plus optional test_id, click_id, user match-keys, and metadata (value/currency/products). Requires the adsconversions scope and acceptance of Reddit's Advertiser Measurement Program terms. Use reddit_list_pixels_by_ad_account to find the pixel ID.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body. Required: data.events (array of conversion events). Optional: data.test_id.
pixelIdstringyesThe pixel ID (from reddit_list_pixels_by_ad_account).

[Reddit Ads] Add or remove users in a CUSTOMER_LIST custom audience (max 2,500 user_data rows per request). Provide a JSON object body with a top-level 'data' object: action_type (ADD|REMOVE), column_order (array of EMAIL_SHA256|MAID_SHA256), and user_data (array of rows matching column_order). Identifiers must already be SHA-256 hashed. Use reddit_list_custom_audiences to find the audience ID.

ParamTypeRequiredDefaultDescription
audienceIdstringyesThe custom audience ID to update (from reddit_list_custom_audiences).
bodyJsonstringyesJSON object body. Required: data (object) — action_type, column_order, user_data (pre-hashed identifiers).

[Reddit Ads] Update a saved audience by ID (partial update). Provide a JSON object body with a top-level 'data' object carrying the fields to change. Use reddit_list_saved_audiences to find IDs.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body. Required: data (object) — the fields to change.
savedAudienceIdstringyesThe saved audience ID to update (from reddit_list_saved_audiences).

Targeting & Planning

ToolPlanAccessSummary
reddit_generate_bid_suggestionFreeRead-onlyGenerate a bid suggestion for a prospective ad group.
reddit_get_app_last_fired_atFreeRead-onlyRetrieve an app's last app-event fire times (a connectivity/health report for app-event integration).
reddit_get_channel_planning_reachFreeRead-onlyGet a reach prediction for a channel plan.
reddit_get_skadnetwork_availabilityFreeRead-onlyGet SKAdNetwork (iOS attribution) conversion-value availability for an app.
reddit_list_apps_by_ad_accountFreeRead-onlyList the mobile apps registered to an ad account (for app-install/app-event campaigns).
reddit_list_carriersFreeRead-onlyList the mobile-carrier targeting options.
reddit_list_communitiesFreeRead-onlyList targetable communities (subreddits).
reddit_list_community_suggestionsFreeRead-onlyGet suggested communities to target, seeded by topic names (comma-separated) and/or a website URL.
reddit_list_devicesFreeRead-onlyList the device targeting options.
reddit_list_geolocationsFreeRead-onlyList geolocation targeting options.
reddit_list_interestsFreeRead-onlyList the interest targeting options.
reddit_list_keyword_suggestionsFreeRead-onlyGet keyword targeting suggestions (a POST-as-read query — it changes nothing).
reddit_list_languagesFreeRead-onlyList the language targeting options.
reddit_list_third_party_audiencesFreeRead-onlyList the third-party audience targeting options available to your account.
reddit_list_time_zonesFreeRead-onlyList the supported ad-account time zones.
reddit_search_communitiesFreeRead-onlySearch targetable communities (subreddits) by name and topic.
reddit_validate_geolocationsFreeRead-onlyValidate a set of geolocation targets (a POST-as-read validation — it changes nothing).
reddit_validate_keywordsFreeRead-onlyValidate a set of targeting keywords (a POST-as-read validation — it changes nothing).

[Reddit Ads] Generate a bid suggestion for a prospective ad group. This is a read-only forecast (a POST-as-read query — it changes nothing). Provide a JSON object body with a top-level 'data' object describing the objective, optimization goal, targeting and budget to price.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body. Required: data (object) — the bid-suggestion request (objective, targeting, budget).

[Reddit Ads] Retrieve an app's last app-event fire times (a connectivity/health report for app-event integration). Use reddit_list_apps_by_ad_account to find the app ID.

ParamTypeRequiredDefaultDescription
appIdstringyesThe app ID (from reddit_list_apps_by_ad_account).

[Reddit Ads] Get a reach prediction for a channel plan. Requires durationDays (the reach window) and geolocation (the targeted country). Optional demographic filters: minAge (default 18), maxAge (default 99), gender (default ALL). Cursor-paginated.

ParamTypeRequiredDefaultDescription
durationDaysintegeryesThe number of days in the reach-prediction window.
genderstringnonullThe targeted gender. Defaults to ALL.
geolocationstringyesThe targeted country (geolocation).
maxAgeintegernonullThe maximum targeted age (must be greater than minAge). Defaults to 99.
minAgeintegernonullThe minimum targeted age (must be less than maxAge). Defaults to 18.
pageSizeintegernonullMax results per page (1-10). Capped at 10; omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Get SKAdNetwork (iOS attribution) conversion-value availability for an app. Pass adGroupId to retrieve ad_quota and/or campaignId to retrieve ad_group_quota. Use reddit_list_apps_by_ad_account to find the app ID.

ParamTypeRequiredDefaultDescription
adGroupIdstringnonullOptional ad group ID; required to retrieve ad_quota.
appIdstringyesThe app ID (from reddit_list_apps_by_ad_account).
campaignIdstringnonullOptional campaign ID; required to retrieve ad_group_quota.

[Reddit Ads] List the mobile apps registered to an ad account (for app-install/app-event campaigns). Cursor-paginated. Use the returned app id with reddit_get_skadnetwork_availability and reddit_get_app_last_fired_at.

ParamTypeRequiredDefaultDescription
adAccountIdstringyesThe ad account ID.
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the mobile-carrier targeting options. Cursor-paginated. Carrier IDs feed the targeting of reddit_create_ad_group / reddit_create_saved_audience.

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List targetable communities (subreddits). Optionally filter by exact names (comma-separated). Cursor-paginated. For open-ended lookup use reddit_search_communities instead.

ParamTypeRequiredDefaultDescription
namesstringnonullOptional exact-name filter; separate multiple communities with a comma.
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Get suggested communities to target, seeded by topic names (comma-separated) and/or a website URL. Cursor-paginated.

ParamTypeRequiredDefaultDescription
namesstringnonullTopic terms to seed suggestions; separate multiple with a comma.
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.
websiteUrlstringnonullA website URL the suggestions should relate to.

[Reddit Ads] List the device targeting options. Cursor-paginated.

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List geolocation targeting options. Filter by postalCode (substring), citiesSearch (city-name substring), and/or country (ISO 3166-1 alpha-2). Not paginated — narrow with the filters. Geolocation IDs feed targeting bodies and reddit_get_channel_planning_reach.

ParamTypeRequiredDefaultDescription
citiesSearchstringnonullFilter by city name (substring match).
countrystringnonullFilter by country (ISO 3166-1 alpha-2 code, e.g. US).
postalCodestringnonullFilter by postal code (substring match).

[Reddit Ads] List the interest targeting options. Takes no parameters (not paginated). Interest IDs feed targeting bodies and reddit_create_saved_audience.

[Reddit Ads] Get keyword targeting suggestions (a POST-as-read query — it changes nothing). Provide a JSON object body with a top-level 'data' object carrying the seed keywords/URL to expand.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body. Required: data (object) — the keyword-suggestion request (seed terms/URL).

[Reddit Ads] List the language targeting options. Cursor-paginated.

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the third-party audience targeting options available to your account. Cursor-paginated.

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] List the supported ad-account time zones. Cursor-paginated.

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.

[Reddit Ads] Search targetable communities (subreddits) by name and topic. Pass query to filter; omitting it returns all communities. Cursor-paginated.

ParamTypeRequiredDefaultDescription
pageSizeintegernonullMax results per page (1-1000). Omit to use the Reddit default.
pageTokenstringnonullOpaque page cursor copied verbatim from a prior response's pagination.next_url. Omit for the first page.
querystringnonullSearch term matched against community name and topic. Omit or leave empty to return all.

[Reddit Ads] Validate a set of geolocation targets (a POST-as-read validation — it changes nothing). Provide a JSON object body with a top-level 'data' object listing the geolocation identifiers to validate.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body. Required: data (object) — the geolocations to validate.

[Reddit Ads] Validate a set of targeting keywords (a POST-as-read validation — it changes nothing). Provide a JSON object body with a top-level 'data' object listing the keywords to validate.

ParamTypeRequiredDefaultDescription
bodyJsonstringyesJSON object body. Required: data (object) — the keywords to validate.