Reddit Ads Scraper avatar

Reddit Ads Scraper

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Reddit Ads Scraper

Reddit Ads Scraper

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

ScrapeBase

ScrapeBase

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

๐ŸŸ  Reddit Ads Scraper

Turn the public Reddit Ads library into clean, structured, export-ready data. This Actor collects real ads running on Reddit โ€” headlines, body copy, creative media, advertisers, budgets, objectives, placements and more โ€” and streams every result straight into your output table in real time.

Perfect for competitor research, ad inspiration, creative swipe files, market analysis, and agency reporting. No Reddit account, no API keys, no setup.


๐Ÿ“‘ Table of Contents


๐Ÿ’Ž Why choose this Actor?

โšก Zero setupType a keyword, press Start. That's it.
๐Ÿ“Š Real-time resultsEvery ad lands in the output table the instant it's collected โ€” no waiting for the run to finish.
๐Ÿ›ก๏ธ Self-healing networkStarts direct, auto-upgrades to datacenter โ†’ residential proxies if Reddit throttles. You never touch a setting.
๐ŸŽฏ Powerful filtersSlice by industry, budget tier, ad format, placement and campaign objective.
๐Ÿงฑ Robust by designRetries with exponential backoff, graceful degradation, partial results always saved.
๐Ÿ—‚๏ธ Organised outputThree ready-made table views: Ad Overview, Creative & Content, Advertiser Profile.

โœจ Key features

  • ๐Ÿ”Ž Bulk keyword search โ€” queue many keywords in a single run.
  • ๐Ÿญ Industry filter โ€” 16 industries, from Tech to Real Estate to Gaming.
  • ๐Ÿ’ต Budget filter โ€” Low / Medium / High spend tiers.
  • ๐ŸŽจ Format filter โ€” Image, Video, Carousel, Free-form / Text.
  • ๐Ÿ“ Placement filter โ€” Feed or Conversation.
  • ๐ŸŽฏ Objective filter โ€” Awareness, Conversions, App Installs, Traffic, Video Views.
  • ๐Ÿ–ผ๏ธ Full creative capture โ€” media URLs, destination URLs, display URLs, call-to-action buttons.
  • ๐Ÿ‘ค Advertiser details โ€” profile name, profile ID, avatar.
  • ๐Ÿ“ฅ Live dataset writes โ€” a crash mid-run never loses collected data.

๐Ÿ“ฅ Input

FieldTypeRequiredDescription
queriesarray of stringsNoKeywords to search. Add several for bulk runs. Leave empty to pull the whole public gallery.
industrystring (enum)NoKeep only ads from one industry.
budgetCategorystring (enum)NoKeep only LOW / MEDIUM / HIGH budget ads.
postTypestring (enum)NoKeep only IMAGE / VIDEO / CAROUSEL / FREE_FORM ads.
placementsstring (enum)NoKeep only FEED or CONVERSATION ads.
objectiveTypestring (enum)NoKeep only ads with a given campaign objective.
maxItemsintegerNoMax ads per keyword (1โ€“30, default 30).
proxyConfigurationobjectNoOptional proxy. Defaults to no proxy โ€” the Actor self-escalates if needed.

Example input

{
"queries": ["ai", "crypto"],
"industry": "TECH_B2C",
"budgetCategory": "HIGH",
"postType": "VIDEO",
"maxItems": 30,
"proxyConfiguration": { "useApifyProxy": false }
}

๐Ÿ“ค Output

Each ad is one dataset row. Example:

{
"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...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...jpg",
"destination_url": "https://changed.test-app.link/pkHAhbWqxHb",
"display_url": "changed.test-app.link",
"call_to_action": "Learn More"
}
]
}
FieldDescription
idStable unique ad identifier.
budget_categorySpend tier โ€” LOW / MEDIUM / HIGH.
industryAdvertiser's industry.
placementsWhere the ad runs โ€” FEED, COMMENTS_PAGE, โ€ฆ
objectiveCampaign objective โ€” CONVERSIONS, CLICKS, 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 / TEXT.
thumbnail_urlThumbnail image of the creative.
profile_idAdvertiser's Reddit profile ID.
profile_nameAdvertiser's Reddit username.
profile_image_urlAdvertiser's avatar.
contentList of creative slides โ€” media_url, destination_url, display_url, call_to_action.

๐Ÿ—‚๏ธ Output table views

The Output tab ships with three pre-built sections so you can scan results by topic:

  • ๐Ÿ—‚๏ธ Ad Overview โ€” id, headline, format, industry, budget, objective, placements, date, post link.
  • ๐ŸŽจ Creative & Content โ€” headline, body copy, thumbnail and full creative content.
  • ๐Ÿ‘ค Advertiser Profile โ€” advertiser name, profile ID, avatar and post link.

Export any view to JSON, CSV, Excel, HTML or XML with one click.


๐Ÿš€ How to use (Apify Console)

  1. Log in at console.apify.com โ†’ Actors.
  2. Open Reddit Ads Scraper.
  3. Add one or more search keywords (or leave empty for the whole gallery).
  4. (Optional) Pick filters โ€” industry, budget, format, placement, objective.
  5. Click Start โ–ถ๏ธ.
  6. Watch ads appear in the Output tab in real time.
  7. When the run finishes, export to JSON / CSV / Excel.

๐Ÿค– Use via API

Run the Actor and get results in one call:

curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"queries": ["ai"],
"maxItems": 30,
"proxyConfiguration": { "useApifyProxy": false }
}'

Or start asynchronously and poll for the result:

curl -X POST "https://api.apify.com/v2/acts/YOUR_ACTOR_ID/runs?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"queries":["crypto"],"maxItems":30}'

๐Ÿ›ก๏ธ Smart proxy handling

You do not need to configure anything โ€” the Actor manages connectivity for you:

  1. ๐ŸŒ Direct connection first (no proxy, fastest, no proxy cost).
  2. ๐Ÿข Datacenter proxy if Reddit throttles the direct connection.
  3. ๐Ÿ  Residential proxy if the datacenter connection is still throttled โ€” then locked in for the rest of the run, with up to 3 retries.

Every connection upgrade is logged clearly so you always know what's happening. Advanced users can still pre-select a proxy in the proxyConfiguration field.


๐ŸŽฏ Best use cases

  • ๐Ÿ•ต๏ธ Competitor ad intelligence โ€” see what rivals are promoting on Reddit.
  • ๐Ÿ’ก Creative inspiration โ€” build a swipe file of high-performing headlines and hooks.
  • ๐Ÿ“ˆ Market research โ€” spot trends by industry, budget and objective.
  • ๐Ÿงพ Agency reporting โ€” export structured ad data for client decks.
  • ๐Ÿค– AI / LLM pipelines โ€” feed real ad copy into models for analysis or generation.

๐Ÿ’ฒ Pricing

This Actor uses the Pay-Per-Event (PPE) model:

EventWhat it covers
๐ŸŸข Actor startA small fixed fee each time a run starts.
๐Ÿ“ฆ Result itemA fee per ad written to your dataset.

You only pay for the ads you actually collect. There are no monthly rental fees. The exact per-event prices are shown on the Actor's Store page before you run it.


โ“ Frequently asked questions

How many ads can I get? Reddit's public ad gallery exposes roughly 30 ads to anonymous visitors. A keyword returns the subset that matches, and the Actor tops up from the gallery so you always receive as many ads as Reddit currently exposes.

Do I need a Reddit account or API key? No. The Actor only uses data that is already public in Reddit's ad inspiration gallery.

Why did I get fewer ads than maxItems? That is a Reddit limit, not a scraper error โ€” the public gallery simply does not expose more than ~30 ads at a time.

Do I have to set up a proxy? No. The Actor runs without a proxy by default and automatically upgrades the connection only if Reddit throttles it.

Is bulk input supported? Yes โ€” add multiple keywords in the queries field to run several searches in one go. Results are de-duplicated across keywords.

What if a search fails? The Actor retries with backoff and escalating proxies. If one keyword still fails, the run continues with the others and keeps every ad already collected.


๐Ÿ“จ Support & feedback

Found a bug, need an extra field, or want a custom workflow? We're happy to help.

๐Ÿ“ง scrapier.io@gmail.com

โš–๏ธ Legal note: This Actor collects only publicly available data from Reddit's ad inspiration library. You are responsible for using the data in line with Reddit's Terms of Service and applicable laws (GDPR, CCPA, etc.).