Reddit Ads Scraper With Advertiser Data avatar

Reddit Ads Scraper With Advertiser Data

Pricing

from $5.99 / 1,000 results

Go to Apify Store
Reddit Ads Scraper With Advertiser Data

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

Scrapier

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

3 days ago

Last modified

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 TypeExtracted FieldsPrimary Use Case
Ad creative & campaignid, headline, body, type, thumbnail_url, content[], allow_comments, redditPostId, created_at, industry, budget_category, objective, placements, post_urlCreative swipe files, competitor ad tracking
Advertiser identity (ads library)profile_id, profile_name, profile_image_urlAttributing an ad to a Reddit account
Advertiser account intelligenceadvertiserUsername, advertiserPostKarma, advertiserCommentKarma, advertiserTotalKarma, advertiserNumPosts, advertiserNumComments, advertiserEarliestPostAt, advertiserLastPostAt, advertiserProfileCoverageNoteAdvertiser due diligence, account-age/trust signal
Subreddit affinityadvertiserSubredditAffinity[] (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?

  1. Open Reddit Ads Scraper With Advertiser Data on the Apify Console.
  2. 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.
  3. Set the real query controls this Actor exposes: industry, budgetCategory, postType, placements, objectiveType, and toggle includeAdvertiserProfile / includeSubredditAffinity.
  4. Click Start.
  5. 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.

ParameterRequiredTypeConstraintsDescription
advertiserTargetsNoarrayeditor=stringListAdvertisers or ad keywords to search (bulk supported via Add item). Leave empty to pull the entire public ad catalog.
queriesNoarrayeditor=stringListLegacy alias for advertiserTargets, kept for compatibility with the base Reddit Ads Scraper's input shape. Used only when advertiserTargets is empty.
maxItemsNointegerdefault 5, min 1, max 30How many ads to collect per keyword. Hard-capped at 30 — Reddit's own ceiling for anonymous visitors.
industryNostring (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
budgetCategoryNostring (enum)default """" (Any budget), LOW, MEDIUM, HIGH
postTypeNostring (enum)default """" (Any format), IMAGE, VIDEO, CAROUSEL, FREE_FORM
placementsNostring (enum)default """" (Any placement), FEED, COMMENTS_PAGE, CONVERSATION (rarely observed live)
objectiveTypeNostring (enum)default """" (Any objective), AWARENESS, CONVERSIONS, APP_INSTALLS, TRAFFIC, VIDEO_VIEWABLE_IMPRESSIONS
includeAdvertiserProfileNobooleandefault trueEnrich 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.
includeSubredditAffinityNobooleandefault trueEnrich each ad with which subreddits the advertiser account is organically active in, ranked by real activity share.
maxAffinitySubredditsNointegerdefault 10, min 1, max 50How many top subreddits to list per advertiser in the affinity breakdown.
minAffinityActivityCountNointegerdefault 1, min 0, max 1000Drop subreddits where the advertiser's recorded activity count is below this threshold.
proxyConfigurationNoobjectdefault {"useApifyProxy": false}, editor=proxyOptional. 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:

FieldDescription
idStable unique ad identifier.
budget_categorySpend tier — LOW / MEDIUM / HIGH.
industryAdvertiser's declared industry.
placementsWhere the ad runs, e.g. FEED, COMMENTS_PAGE.
objectiveCampaign objective, e.g. CONVERSIONS, IMPRESSIONS.
created_atISO timestamp the ad post was created.
headlineAd headline / title.
bodyAd body text — may be empty for image/video ads.
post_urlLink to the underlying Reddit post.
typeCreative format — IMAGE, VIDEO, CAROUSEL, or TEXT.
thumbnail_urlThumbnail image of the creative.
profile_idAdvertiser's Reddit profile ID as shown in the ads library.
profile_nameAdvertiser's Reddit username as shown in the ads library (u_... form).
profile_image_urlAdvertiser's avatar.
contentList of creative slides — each with media_url, destination_url, display_url, call_to_action, caption.
allow_commentsWhether comments are allowed on the ad's underlying Reddit post.
redditPostIdThe Reddit post fullname behind the ad (t3_...).
scrapedAtISO timestamp of when this row was collected.
accessMode"anonymous_sample" or "authenticated" — discloses which access path produced this row.
advertiserUsernameAdvertiser's bare Reddit username (u_ prefix stripped) used to look up the fields below.
advertiserPostKarmaAdvertiser's real post karma. null when not resolvable.
advertiserCommentKarmaAdvertiser's real comment karma. null when not resolvable.
advertiserTotalKarmaAdvertiser's real total karma. null when not resolvable.
advertiserNumPostsAdvertiser's indexed post count.
advertiserNumCommentsAdvertiser's indexed comment count.
advertiserEarliestPostAtEarliest indexed activity — an account-age signal.
advertiserLastPostAtMost recent indexed activity — a recency signal.
advertiserSubredditAffinityList of {username, subreddit, activityCount, activityShare, affinityRank} — the advertiser's organic community activity, ranked by share.
advertiserProfileCoverageNoteHonest 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/type against 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 passes headline, body, and advertiserSubredditAffinity to the model as grounded context for ad-strategy summaries.
  • 🔬 Market researchers: aggregate industry, budget_category, and objective across 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, and advertiserSubredditAffinity to 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 advertiserUsernameadvertiserTotalKarma / 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 requests
TOKEN = "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.


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.