Reddit Ads Scraper With Advertiser Data
Pricing
from $5.99 / 1,000 results
Reddit Ads Scraper With Advertiser Data
Reddit Ads Scraper — Scrape Reddit ads with advertiser names, ad text, titles, creatives, landing pages, promoted posts, and campaign details. Analyze competitor advertising, discover campaigns, monitor ad trends, and build structured marketing intelligence.
Pricing
from $5.99 / 1,000 results
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Reddit Ads Scraper — Extract Ad Creatives and Advertiser Karma Data
Reddit Ads Scraper With Advertiser Data pulls ad creatives from Reddit's public Ads Inspiration Library — headlines, body copy, media, budget tier, objective, and placement — and enriches every ad with the real Reddit account behind it: karma, account age, and the subreddits that account is organically active in. Every response is structured JSON, ready to pass directly to an LLM, index into a vector store, or feed a monitoring pipeline. Query by advertiser name or keyword, layer on creative filters, and watch enriched rows land in your dataset in real time.
What is Reddit Ads Scraper With Advertiser Data?
Reddit Ads Scraper With Advertiser Data queries Reddit's public Ads Inspiration Library (the same gallery at ads.reddit.com/inspiration) and returns every matching ad as a structured record, then looks up the Reddit account behind each ad in a free, no-login public archive to attach real karma, account-age, and subreddit-activity data. That advertiser-intelligence layer — knowing whether the account behind an ad is a long-standing, community-native Redditor or a fresh single-purpose ad account — is this Actor's own feature; the ad creative fields alone are what a plain ads-library scrape stops at. No Reddit account or login is required for the default run; the Actor bootstraps its own anonymous session automatically.
- 🎨 Ad creatives — headline, body copy, media/carousel content, call-to-action, thumbnail
- 💵 Campaign metadata — budget tier, industry, objective, placement, creation date
- 👤 Advertiser identity — Reddit username, profile ID, avatar, as shown in the ads library
- 🕵️ Advertiser account intelligence — post/comment/total karma, indexed post & comment counts, earliest and most recent activity dates
- 🌐 Subreddit affinity — which subreddits the advertiser account is organically active in, ranked by real activity share
- 🎛️ Query controls — bulk keyword/advertiser search, industry, budget, format, placement and objective filters
What data can you get with Reddit Ads Scraper With Advertiser Data?
Every run returns ad-creative records enriched with advertiser account data, structured across four field groups:
| Result Type | Extracted Fields | Primary Use Case |
|---|---|---|
| Ad creative & campaign | id, headline, body, type, thumbnail_url, content[], allow_comments, redditPostId, created_at, industry, budget_category, objective, placements, post_url | Creative swipe files, competitor ad tracking |
| Advertiser identity (ads library) | profile_id, profile_name, profile_image_url | Attributing an ad to a Reddit account |
| Advertiser account intelligence | advertiserUsername, advertiserPostKarma, advertiserCommentKarma, advertiserTotalKarma, advertiserNumPosts, advertiserNumComments, advertiserEarliestPostAt, advertiserLastPostAt, advertiserProfileCoverageNote | Advertiser due diligence, account-age/trust signal |
| Subreddit affinity | advertiserSubredditAffinity[] (username, subreddit, activityCount, activityShare, affinityRank) | Spotting a community-native account vs. a throwaway ad account |
Advertiser account intelligence & subreddit affinity
This is the field group that separates this Actor from a plain ad-library scrape. For every ad, the Actor resolves the advertiser's real Reddit username (stripping the u_ prefix the ads library uses) and looks it up once per run in Arctic Shift, a free public Reddit archive — no login, no API key. It returns real karma broken into post/comment/total, indexed post and comment counts, and the earliest and most recent activity timestamps the archive has indexed — a genuine account-age and recency signal. Subreddit affinity ranks the subreddits that account has actually posted or commented in, by activity share, so you can tell a long-standing community member apart from an account spun up to run a single campaign:
{"advertiserUsername": "RIPDebt","advertiserPostKarma": 4210,"advertiserCommentKarma": 1875,"advertiserTotalKarma": 6085,"advertiserEarliestPostAt": "2016-05-02T09:14:11.000Z","advertiserLastPostAt": "2026-07-30T18:02:44.000Z","advertiserSubredditAffinity": [{ "subreddit": "personalfinance", "activityCount": 41, "activityShare": 22.4, "affinityRank": 1 }]}
Each advertiser is resolved only once per run and the result is cached and reused across every ad from that same account, no matter how many ads they have in your results.
Ad creative & content
Every ad's content array carries every creative slide exactly as the ads library serves it — media_url, destination_url, display_url, call_to_action, and caption per slide, so a single-image ad returns one entry and a carousel returns one entry per slide. Combined with headline, body, type (IMAGE, VIDEO, CAROUSEL, or TEXT) and allow_comments, this is enough to rebuild the ad's copy and creative angle without opening Reddit at all — useful for building a competitor swipe file or auditing what a brand is actually running.
Why not build this yourself?
Reddit does not publish an official API for searching its Ads Inspiration Library by keyword or advertiser — the endpoint this Actor calls (ads-api.reddit.com) is the same undocumented one the public ads.reddit.com/inspiration page itself uses, not a supported developer product. Reddit's official Ads API is for managing your own ad account and campaigns via OAuth, not for searching or reading other advertisers' public creatives. Building this yourself means reverse-engineering that endpoint, maintaining an anonymous-session bootstrap that Reddit can invalidate at any time, handling proxy escalation when Reddit throttles or blocks a connection, and separately wiring up a second data source (a public Reddit archive) to resolve advertiser karma and subreddit activity — then keeping all of it working as Reddit changes its frontend. This Actor already does all of that and keeps both layers in sync per row.
How to scrape Reddit Ads with Reddit Ads Scraper With Advertiser Data?
- Open Reddit Ads Scraper With Advertiser Data on the Apify Console.
- Add one or more values to
advertiserTargets— keywords or advertiser names (e.g.ai,crypto) — or leave it empty to pull the whole public ad catalog. - Set the real query controls this Actor exposes:
industry,budgetCategory,postType,placements,objectiveType, and toggleincludeAdvertiserProfile/includeSubredditAffinity. - Click Start.
- Open the Output tab to browse results live, or export the dataset as JSON, CSV, Excel, HTML or XML once the run finishes.
{"advertiserTargets": ["ai", "crypto"],"maxItems": 10,"includeAdvertiserProfile": true,"includeSubredditAffinity": true}
How to run multiple queries in one job
advertiserTargets is a stringList field — use Add item to queue several keywords or advertiser names in one run; the base Actor's own queries field is still accepted as a fallback whenever advertiserTargets is left empty, so a base-shaped input keeps working unchanged. Results are de-duplicated globally by ad ID across every query in the run, and each distinct advertiser's karma and subreddit-affinity data is resolved once and reused for every ad from that same account — no repeated lookups. Concurrency across queries is not configurable; queries run one after another within the same session.
⬇️ Input
⚠️ The real constraint to know before you start: Reddit's public Ads Inspiration Library serves the same fixed sample of roughly 30 ads to every anonymous visitor. On the default (no-session) access path, advertiserTargets/queries mainly control what gets logged per pass, and the creative filters (industry, budgetCategory, postType, placements, objectiveType) mostly reorder that same fixed sample rather than truly filtering the catalog — every ad in the sample is still returned and enriched with advertiser data regardless. This is disclosed on every row via accessMode.
| Parameter | Required | Type | Constraints | Description |
|---|---|---|---|---|
advertiserTargets | No | array | editor=stringList | Advertisers or ad keywords to search (bulk supported via Add item). Leave empty to pull the entire public ad catalog. |
queries | No | array | editor=stringList | Legacy alias for advertiserTargets, kept for compatibility with the base Reddit Ads Scraper's input shape. Used only when advertiserTargets is empty. |
maxItems | No | integer | default 5, min 1, max 30 | How many ads to collect per keyword. Hard-capped at 30 — Reddit's own ceiling for anonymous visitors. |
industry | No | string (enum) | default "" | "" (Any industry), TECH_B2C, TECH_B2B, EDUCATION, ENTERTAINMENT, HEALTH_AND_BEAUTY, GAMING, EMPLOYMENT, RETAIL_AND_ECOMMERCE, AUTO, FINANCIAL_SERVICES, TRAVEL, REAL_ESTATE, GAMBLING_AND_FANTASY_SPORTS, POLITICS_AND_GOVERNMENT, CONSUMER_PACKAGED_GOODS, OTHER |
budgetCategory | No | string (enum) | default "" | "" (Any budget), LOW, MEDIUM, HIGH |
postType | No | string (enum) | default "" | "" (Any format), IMAGE, VIDEO, CAROUSEL, FREE_FORM |
placements | No | string (enum) | default "" | "" (Any placement), FEED, COMMENTS_PAGE, CONVERSATION (rarely observed live) |
objectiveType | No | string (enum) | default "" | "" (Any objective), AWARENESS, CONVERSIONS, APP_INSTALLS, TRAFFIC, VIDEO_VIEWABLE_IMPRESSIONS |
includeAdvertiserProfile | No | boolean | default true | Enrich each ad with the advertiser's real post/comment/total karma, account age and last-activity date, sourced from a public Reddit archive (Arctic Shift). This is an aggregate snapshot updated infrequently — some accounts may show null values. |
includeSubredditAffinity | No | boolean | default true | Enrich each ad with which subreddits the advertiser account is organically active in, ranked by real activity share. |
maxAffinitySubreddits | No | integer | default 10, min 1, max 50 | How many top subreddits to list per advertiser in the affinity breakdown. |
minAffinityActivityCount | No | integer | default 1, min 0, max 1000 | Drop subreddits where the advertiser's recorded activity count is below this threshold. |
proxyConfiguration | No | object | default {"useApifyProxy": false}, editor=proxy | Optional. The Actor runs without a proxy by default and automatically adjusts its connection if needed. Power users can pre-select a proxy here. |
No parameter is required — an empty input collects the entire public ad gallery with advertiser intelligence turned on.
Example JSON input
{"advertiserTargets": ["ai", "crypto"],"maxItems": 10,"industry": "TECH_B2C","budgetCategory": "HIGH","postType": "","placements": "","objectiveType": "","includeAdvertiserProfile": true,"includeSubredditAffinity": true,"maxAffinitySubreddits": 10,"minAffinityActivityCount": 1,"proxyConfiguration": { "useApifyProxy": false }}
Common pitfall
Setting minAffinityActivityCount too high silently empties advertiserSubredditAffinity for accounts that are genuinely active but below your threshold — the field returns [], not an error. If affinity data looks thin, lower the threshold before assuming the account has no history. Likewise, placements: "CONVERSATION" is a real enum value but is rarely observed on live ads — don't rely on it as a primary filter.
⬆️ Output
Each ad is one dataset row combining the ad-creative record with its advertiser-intelligence fields, written live as each ad is collected — the row appears in the output table the instant it's processed, not at the end of the run. Export the dataset as JSON, CSV, Excel, HTML or XML from the Apify Console.
Scraped results
[{"id": "5f6eb24cc504b6d04b6e121a701c03b4","budget_category": "MEDIUM","industry": "TECH_B2C","placements": ["FEED", "COMMENTS_PAGE"],"objective": "CONVERSIONS","created_at": "2024-02-27T19:25:25+00:00","headline": "As Seen on Shark Tank","body": "","post_url": "https://www.reddit.com/user/RIPDebt/comments/1b1ki15/as_seen_on_shark_tank/","type": "IMAGE","thumbnail_url": "https://a.thumbs.redditmedia.com/MpMEvF_example.jpg","profile_id": "t2_td6ozens","profile_name": "u_RIPDebt","profile_image_url": "https://www.redditstatic.com/avatars/defaults/v2/avatar_default_0.png","content": [{"media_url": "https://external-preview.redd.it/vaHsih_example.jpg","destination_url": "https://changed.test-app.link/pkHAhbWqxHb","display_url": "changed.test-app.link","call_to_action": "Learn More","caption": null}],"allow_comments": true,"redditPostId": "t3_1b1ki15","scrapedAt": "2026-08-15T09:12:03.000Z","accessMode": "anonymous_sample","advertiserUsername": "RIPDebt","advertiserPostKarma": 4210,"advertiserCommentKarma": 1875,"advertiserTotalKarma": 6085,"advertiserNumPosts": 62,"advertiserNumComments": 340,"advertiserEarliestPostAt": "2016-05-02T09:14:11.000Z","advertiserLastPostAt": "2026-07-30T18:02:44.000Z","advertiserSubredditAffinity": [{ "username": "RIPDebt", "subreddit": "personalfinance", "activityCount": 41, "activityShare": 22.4, "affinityRank": 1 },{ "username": "RIPDebt", "subreddit": "CreditCards", "activityCount": 18, "activityShare": 9.8, "affinityRank": 2 }],"advertiserProfileCoverageNote": "Karma/account-age fields come from an aggregate archive snapshot (Arctic Shift), not a live profile page -- it updates infrequently and may show null for accounts with no indexed history. Subreddit affinity is fetched fresh this run."},{"id": "a13c9e7d2f804e1f9b6ac112ee309d21","budget_category": "HIGH","industry": "GAMING","placements": ["FEED"],"objective": "APP_INSTALLS","created_at": "2025-11-03T14:02:10+00:00","headline": "Build Your Empire — Play Free","body": "New season live now.","post_url": "https://www.reddit.com/user/EmpireGamesHQ/comments/1g9k2p1/build_your_empire/","type": "CAROUSEL","thumbnail_url": "https://a.thumbs.redditmedia.com/xQ92pl_example.jpg","profile_id": "t2_9f3k1lm","profile_name": "u_EmpireGamesHQ","profile_image_url": "https://www.redditstatic.com/avatars/defaults/v2/avatar_default_3.png","content": [{ "media_url": "https://external-preview.redd.it/slide1_example.jpg", "destination_url": "https://play.empiregames.example/install", "display_url": "play.empiregames.example", "call_to_action": "Install Now", "caption": "New season live" },{ "media_url": "https://external-preview.redd.it/slide2_example.jpg", "destination_url": "https://play.empiregames.example/install", "display_url": "play.empiregames.example", "call_to_action": "Install Now", "caption": "Limited-time rewards" }],"allow_comments": false,"redditPostId": "t3_1g9k2p1","scrapedAt": "2026-08-15T09:12:05.000Z","accessMode": "anonymous_sample","advertiserUsername": "EmpireGamesHQ","advertiserPostKarma": null,"advertiserCommentKarma": null,"advertiserTotalKarma": null,"advertiserNumPosts": null,"advertiserNumComments": null,"advertiserEarliestPostAt": null,"advertiserLastPostAt": null,"advertiserSubredditAffinity": [],"advertiserProfileCoverageNote": "Karma/account-age fields come from an aggregate archive snapshot (Arctic Shift), not a live profile page -- it updates infrequently and may show null for accounts with no indexed history. Subreddit affinity is fetched fresh this run."},{"id": "77bd410e5c4a4b0e8f0e2a8f4f7cb9aa","budget_category": "LOW","industry": "FINANCIAL_SERVICES","placements": ["FEED", "CONVERSATION"],"objective": "TRAFFIC","created_at": "2025-06-19T08:44:51+00:00","headline": "Track every dollar in one app","body": "Free budgeting, no ads, no upsells.","post_url": "https://www.reddit.com/user/BudgetLoop/comments/1eu4j0q/track_every_dollar/","type": "TEXT","thumbnail_url": null,"profile_id": "t2_5h2n8qs","profile_name": "u_BudgetLoop","profile_image_url": "https://www.redditstatic.com/avatars/defaults/v2/avatar_default_5.png","content": [],"allow_comments": true,"redditPostId": "t3_1eu4j0q","scrapedAt": "2026-08-15T09:12:07.000Z","accessMode": "anonymous_sample","advertiserUsername": "BudgetLoop","advertiserPostKarma": 312,"advertiserCommentKarma": 890,"advertiserTotalKarma": 1202,"advertiserNumPosts": 14,"advertiserNumComments": 76,"advertiserEarliestPostAt": "2021-09-01T11:20:00.000Z","advertiserLastPostAt": "2026-08-10T16:05:22.000Z","advertiserSubredditAffinity": [{ "username": "BudgetLoop", "subreddit": "personalfinance", "activityCount": 9, "activityShare": 15.0, "affinityRank": 1 }],"advertiserProfileCoverageNote": "Karma/account-age fields come from an aggregate archive snapshot (Arctic Shift), not a live profile page -- it updates infrequently and may show null for accounts with no indexed history. Subreddit affinity is fetched fresh this run."}]
Every field on the row:
| Field | Description |
|---|---|
id | Stable unique ad identifier. |
budget_category | Spend tier — LOW / MEDIUM / HIGH. |
industry | Advertiser's declared industry. |
placements | Where the ad runs, e.g. FEED, COMMENTS_PAGE. |
objective | Campaign objective, e.g. CONVERSIONS, IMPRESSIONS. |
created_at | ISO timestamp the ad post was created. |
headline | Ad headline / title. |
body | Ad body text — may be empty for image/video ads. |
post_url | Link to the underlying Reddit post. |
type | Creative format — IMAGE, VIDEO, CAROUSEL, or TEXT. |
thumbnail_url | Thumbnail image of the creative. |
profile_id | Advertiser's Reddit profile ID as shown in the ads library. |
profile_name | Advertiser's Reddit username as shown in the ads library (u_... form). |
profile_image_url | Advertiser's avatar. |
content | List of creative slides — each with media_url, destination_url, display_url, call_to_action, caption. |
allow_comments | Whether comments are allowed on the ad's underlying Reddit post. |
redditPostId | The Reddit post fullname behind the ad (t3_...). |
scrapedAt | ISO timestamp of when this row was collected. |
accessMode | "anonymous_sample" or "authenticated" — discloses which access path produced this row. |
advertiserUsername | Advertiser's bare Reddit username (u_ prefix stripped) used to look up the fields below. |
advertiserPostKarma | Advertiser's real post karma. null when not resolvable. |
advertiserCommentKarma | Advertiser's real comment karma. null when not resolvable. |
advertiserTotalKarma | Advertiser's real total karma. null when not resolvable. |
advertiserNumPosts | Advertiser's indexed post count. |
advertiserNumComments | Advertiser's indexed comment count. |
advertiserEarliestPostAt | Earliest indexed activity — an account-age signal. |
advertiserLastPostAt | Most recent indexed activity — a recency signal. |
advertiserSubredditAffinity | List of {username, subreddit, activityCount, activityShare, affinityRank} — the advertiser's organic community activity, ranked by share. |
advertiserProfileCoverageNote | Honest disclosure of the advertiser-data source's coverage and freshness limits. |
The default dataset view surfaces id, headline, type, industry, budget_category, objective, placements, created_at, post_url, accessMode, scrapedAt in a table; three additional views ship with the Actor — Creative & Content, Advertiser Profile, and Advertiser Intelligence — for reviewing the fields above without scrolling a wide table.
How can I use the data extracted with Reddit Ads Scraper With Advertiser Data?
- 📊 Paid social & competitive-intel teams: pull every ad running for a competitor or keyword, diff
headline/body/typeagainst last week's run to catch new creative angles before they scale. - 🤖 AI engineers and LLM developers: the agent issues a query against
advertiserTargets, receives structured JSON back, and passesheadline,body, andadvertiserSubredditAffinityto the model as grounded context for ad-strategy summaries. - 🔬 Market researchers: aggregate
industry,budget_category, andobjectiveacross a keyword set to track category-level ad-spend and objective mix over time. - 🕵️ Agencies and brand-safety teams: before pitching, partnering with, or reporting on a Reddit advertiser, check
advertiserTotalKarma,advertiserEarliestPostAt, andadvertiserSubredditAffinityto see whether the account behind the ad is an established Redditor or a single-purpose ad account.
How do you monitor advertiser karma and subreddit affinity over time?
Advertiser due diligence is a repeated-query discipline: an ad account's karma, activity recency, and subreddit footprint change as the account keeps posting (or stops), and those changes are the signal worth tracking. Running the same advertiserTargets set on a schedule lets you diff each advertiser's advertiserTotalKarma, advertiserLastPostAt, and advertiserSubredditAffinity against the previous run — a karma jump or a advertiserLastPostAt that suddenly goes stale both say something about how real the account behind the ad is. On the creative side, diffing headline, body, and content[] between runs surfaces new creative angles a competitor or watched account starts testing.
A practical loop: schedule a run across your keyword or advertiser set, keep each run's dataset, then compare advertiserUsername → advertiserTotalKarma / advertiserSubredditAffinity pairs run-over-run and alert on a meaningful karma delta or a new top-ranked subreddit in the affinity list. Schedule the recurring run from the Apify Console's Schedules, or trigger it from your own pipeline via the Apify API — the Actor has no built-in delivery mechanism of its own beyond writing to the dataset, so scheduling and diffing happen on the calling side.
Integrate Reddit Ads Scraper With Advertiser Data and automate your workflow
Reddit Ads Scraper With Advertiser Data works with any language or tool that can send an HTTP request, through the Apify API.
REST API with Python
import requestsTOKEN = "YOUR_APIFY_TOKEN"url = f"https://api.apify.com/v2/acts/YOUR_ACTOR_ID/run-sync-get-dataset-items?token={TOKEN}"payload = {"advertiserTargets": ["ai"],"maxItems": 10,"includeAdvertiserProfile": True,"includeSubredditAffinity": True,}response = requests.post(url, json=payload)ads = response.json()for ad in ads:print(ad["headline"], "-", ad["advertiserUsername"], ad["advertiserTotalKarma"])
Scheduled monitoring and delivery
The Actor writes results to its Apify dataset as they're collected; it has no built-in webhook delivery. Set up a recurring run with an Apify Schedule in the Console, or attach an Apify webhook on the run's ACTOR.RUN.SUCCEEDED event to trigger your own pipeline once a run finishes, then pull the dataset via apify_client or the REST API above.
Is it legal to scrape Reddit Ads results?
Yes — this Actor collects only data that is already publicly visible: the Ads Inspiration Library is served to any anonymous visitor at ads.reddit.com/inspiration, and the advertiser-intelligence fields come from a public Reddit archive that indexes already-public post and comment activity. The ad-creative and campaign fields (headline, budget_category, industry, objective, placements) are business/campaign data — governed by Reddit's Terms of Service and, for the reused archive, database-rights considerations, not GDPR. The advertiser-intelligence fields (advertiserPostKarma, advertiserEarliestPostAt, advertiserSubredditAffinity, etc.) are tied to an individual Reddit account and its activity history, so if that account belongs to an identifiable natural person, GDPR/CCPA framing can apply to storing and using that portion of the data — treat it accordingly if you operate in the EU/UK or California. Scraping for ad-hoc monitoring carries a different risk profile than scraping at scale for AI-training or resale. Consult your legal team for commercial use cases involving bulk data storage.
Frequently asked questions
Does Reddit Ads Scraper With Advertiser Data support regional filtering?
No region or language parameter exists in the input schema — the Actor filters by industry, budgetCategory, postType, placements, and objectiveType, all inherited from the same fixed anonymous ad sample described above.
How many ads does the Actor return per query?
Up to maxItems per keyword, hard-capped at 30 — that ceiling is Reddit's own, not an Actor-imposed limit, and matches the size of the fixed sample the public ads gallery serves to anonymous visitors.
Does the Actor extract advertiser account intelligence for every ad?
Yes, when includeAdvertiserProfile and/or includeSubredditAffinity are left on (both default true). Karma, account-age and activity-recency fields arrive as advertiserPostKarma/advertiserCommentKarma/advertiserTotalKarma/advertiserEarliestPostAt/advertiserLastPostAt; subreddit affinity arrives as the advertiserSubredditAffinity array. Some accounts return null karma fields or an empty affinity array when the archive has no indexed history for them — always disclosed via advertiserProfileCoverageNote, never silently faked.
How does Reddit Ads Scraper With Advertiser Data handle Reddit's anti-bot measures?
It starts on a direct connection and, if Reddit throttles or blocks it, escalates through a datacenter-proxy tier and then a residential-proxy tier, retrying with backoff on the final tier before giving up on a search. The advertiser-intelligence lookup uses its own, independent proxy ladder against the archive backend. Both are handled automatically — no proxy setup is required.
How do I use this Actor to monitor an advertiser's account over time?
Schedule a recurring run against the same advertiserTargets, keep each run's dataset, and diff advertiserTotalKarma, advertiserLastPostAt, and advertiserSubredditAffinity per advertiserUsername between runs. Trigger the schedule from the Apify Console's Schedules or your own pipeline via the API.
Does Reddit Ads Scraper With Advertiser Data work with Claude, ChatGPT, and AI agent frameworks?
It is callable as an HTTP endpoint via the Apify API by any agent framework — an agent can issue a query, receive the structured JSON above, and generate a grounded answer or summary from real ad and advertiser data rather than a model's own recollection.
Can I use this Actor without managing proxies or Reddit credentials?
Yes. The Actor opens its own anonymous Reddit Ads session and manages proxy escalation automatically; you supply only the query and filters. A proxyConfiguration field is available if you want to pre-select a proxy, but it is optional.
Why did a run return fewer ads than maxItems?
That reflects Reddit's own sample size, not a scraper fault — the public gallery does not expose more than roughly 30 ads on the anonymous path, and the Actor tops up short keyword matches from that same gallery rather than fabricating extra results.
💬 Your feedback
Found a bug or a missing field? Let Scrapier know through the Actor's Issues tab on its Apify Store page, or leave a review from the Console — both are read and help prioritize fixes and new fields.