Reddit’s official Ads API for managing the full lifecycle of Reddit advertising campaigns — businesses, ad accounts, campaigns, ad groups, ads, audiences, pixels, conversions, and reporting. Best for agents that need to launch, optimize, or report on native Reddit ads (subreddit and conversation placements) on behalf of an authorized advertiser. Unlike aggregator marketing platforms, this is a first-party surface that exposes Reddit-specific targeting (communities, interests, geographies) and granular reporting breakdowns. 15 example endpoints available through Lava’s AI Gateway. See the Reddit Ads API docs for full documentation.Documentation Index
Fetch the complete documentation index at: https://lava.so/docs/llms.txt
Use this file to discover all available pages before exploring further.
This is a catch-all provider — any valid URL under
https://ads-api.reddit.com is supported. Reddit Ads API. Base URL: https://ads-api.reddit.com/api/v3. Most resources live under an ad account, e.g. /ad_accounts//. Discover ad_account_ids via GET /me/businesses then GET /businesses//ad_accounts. Ad account IDs are prefixed a2_, business IDs are UUIDs. Pagination is URL-based: follow pagination.next_url directly until null. Reddit aggressively rate-limits requests with default User-Agent strings (curl/, python-requests/, etc.) — always send a descriptive User-Agent in the format {platform}:{app_id}:{version} (by /u/{reddit_username}). See https://ads-api.reddit.com/docs/v3/ for full reference. The endpoints below are curated examples.Endpoints
List businesses the authorized user has access to. Returns business ID (UUID), name, industry, country, and creator. Start here to discover business_ids before fetching ad accounts.
GEThttps://ads-api.reddit.com/api/v3/me/businesses — Free
- SDK
- cURL
List ad accounts under a business. The bare /ad_accounts endpoint is gated; this is the canonical listing path. Returns ad_account_id (a2_ prefix), currency, time zone, and admin_approval status.
GEThttps://ads-api.reddit.com/api/v3/businesses/{business_id}/ad_accounts — Free
- SDK
- cURL
List campaigns under an ad account. Paginated; follow pagination.next_url for additional pages. Returns campaign id, name, status (ACTIVE/PAUSED/ARCHIVED), objective, and budget settings.
GEThttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/campaigns — Free
- SDK
- cURL
Create a new campaign under an ad account. New campaigns default to PAUSED state; activate by updating configuration_status to ACTIVE.
POSThttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/campaigns — Free
- SDK
- cURL
Update campaign settings. Common updates: configuration_status (PAUSED ↔ ACTIVE), name, budget. Only fields included in data are modified.
PATCH https://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/campaigns/{campaign_id} — Free
- SDK
- cURL
List ad groups under an ad account. Ad groups define targeting, bidding, schedule, and conversion_pixel_id within a campaign.
GEThttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/ad_groups — Free
- SDK
- cURL
Create an ad group under a campaign. Required fields include campaign_id, name, bid, targeting (communities, geos, interests), and conversion_pixel_id (required for CBO campaigns from July 13, 2026).
POSThttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/ad_groups — Free
- SDK
- cURL
List ads under an ad account. Each ad references a post (creative) and an ad group, and inherits targeting from the ad group.
GEThttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/ads — Free
- SDK
- cURL
Create an ad under an ad group. Requires ad_group_id, name, and post_id (the creative — created via the Posts/Structured Posts endpoints).
POSThttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/ads — Free
- SDK
- cURL
List custom audiences (CUSTOMER_LIST, WEBSITE, MOBILE_APP, etc.) under an ad account. Use these as targeting building blocks for ad groups.
GEThttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/custom_audiences — Free
- SDK
- cURL
Delete a custom audience by ID. Removes the audience and any seed identifiers; ad groups still referencing it lose access on their next refresh.
DELETEhttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/custom_audiences/{custom_audience_id} — Free
- SDK
- cURL
Create a custom audience. CUSTOMER_LIST audiences accept hashed identifiers (EMAIL_SHA256, MAID_SHA256) — pre-hash before upload. Subsequent identifier batches use the Update Custom Audience Users endpoint.
POSThttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/custom_audiences — Free
- SDK
- cURL
List Reddit Pixels for an ad account. Required to find the conversion_pixel_id for ad-group creation and to send conversion events.
GEThttps://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/pixels — Free
- SDK
- cURL
Conversions API (CAPI) — post server-side conversion events to a pixel. Path uses the pixel_id from List Pixels. Each event needs event_at (Unix seconds), event_type, and a user identifier (email, hashed; click_id; or device_id).
POSThttps://ads-api.reddit.com/api/v3/conversions/events/{pixel_id} — Free
- SDK
- cURL
Fetch reporting metrics for an ad account. Supply breakdowns (DATE, CAMPAIGN_ID, AD_GROUP_ID, COMMUNITY, COUNTRY, etc.) and fields (impressions, clicks, spend, conversions). Date range via starts_at/ends_at (ISO 8601). Returns paginated rows under data.
POST https://ads-api.reddit.com/api/v3/ad_accounts/{ad_account_id}/reports — Free
- SDK
- cURL
Next Steps
All Providers
Browse all supported AI providers
Forward Proxy
Learn how to construct proxy URLs and authenticate requests