Limits & Errors
Reddit Ads rate limits, what Reddit's Ads API does not support through Zernio and the errors it returns most often.
Rate limits
Reddit limits requests per connected Reddit user and per group of endpoints, and says when the window resets.
When Reddit answers 429, Zernio waits for the reset and retries automatically, up to twice, as long as the wait is under a minute.
If Reddit still refuses, or asks for a longer wait, the call returns 429 with code rate_limited and a Retry-After header with the seconds to wait. See rate limits.
What you cannot do
Reddit Ads through Zernio does not support:
- App install campaigns and catalog (dynamic product) ads.
- Reddit's native lead forms. Reddit retired them on September 30, 2026, so
lead_generationsends people tolinkUrland optimizes toward the pixel'sLEADevent, andleadGenFormIdreturns400. - Pixel management. Create pixels in Reddit Ads Manager; the tracking tags API answers
400for aredditadsaccount. Server-side events go through the Conversions API. - Creating or uploading custom audiences (
POST /v1/ads/audiencesreturns422). Target audiences built in Reddit Ads Manager by id. - Adding an ad to an existing campaign or ad group (
existingCampaignIdandadSetIdreturn400), andPOST /v1/ads/ad-sets. - Creative edits after creation, and
validateOnly(501). - Age, income, behavior and radius targeting.
Common errors
| Error | Cause | Fix |
|---|---|---|
422 with code feature_not_available, "has no pixel" | The ad account has no pixel | Create one in Reddit Ads Manager, then retry. |
422 with code feature_not_available, "has no profile" | The ad account has no profile to post the ad from | Add a profile in Reddit Ads Manager. |
422 with code invalid_resource_state | The pixel never received the event a conversions or lead_generation campaign optimizes toward | Fire the event or send it through the Conversions API, then retry. |
400 with param: "promotedObject.customEventType" | goal: "conversions" without a supported event | Send one of the events in Pixel. |
400 with param: "promotedObject.pixelId" | The pixel is not in adAccountId | Use a pixel of that ad account. |
400 with param: "linkUrl" | A text ad with a link | Remove linkUrl, or add an image, video or carousel. |
400 with param: "headline" | Missing, or over 300 characters | Send a headline of 300 characters or fewer. |
400 with param: "leadGenFormId" | Reddit retired native lead forms | Remove leadGenFormId. |
422 with param: "goal" | A goal outside the 5 Reddit values | Use a supported goal. |
422 with param: "platformPostId" | A boost of a post not made by a profile of the ad account, or video_views on a non-video post | Boost a post from the ad account's profiles. |
422 with param: "budget" | A budget type change, or an ad group budget under a campaign budget | Keep the type, or update the campaign budget. |
429 with code rate_limited | Reddit's rate limit for the connected user | Wait Retry-After seconds and retry. |
502 with code platform_api_error | Reddit rejected the request | Read the message for Reddit's reason. |
Error handling covers the envelope and the stable codes.
Related
- Rate limits: how Zernio and platform limits combine.
- Error handling: the error envelope and stable codes.
Manage Ads
Pause, rename, rebudget, rebid, retarget and archive Reddit campaigns, ad groups and ads.
Shopify
Connect a Shopify store to manage its blog articles through the Blogs API, manage its catalog, stock and discounts through the Commerce API and install ad platform pixels; a store publishes no social posts.