Skip to main content
RTILA Marketplace

AppSumo Product Reviews Scraper - required inputs

Collect AppSumo review text, ratings, dates, reviewer flags and founder replies from every review page.

Market Research Intermediate Experimental v1.0.0 Updated Updated 2026-10-06 11 min read
Download
  • Windows x86_64

    BOT_appsumo-product-reviews-scraper.exe

    64.5 MB

    Download
  • macOS Apple Silicon chmod +x

    BOT_appsumo-product-reviews-scraper.sh

    58.0 MB

    Download
  • macOS Intel chmod +x

    BOT_appsumo-product-reviews-scraper.sh

    64.9 MB

    Download
  • Linux x86_64 chmod +x

    BOT_appsumo-product-reviews-scraper.sh

    82.3 MB

    Download

Do not rename the downloaded file - the filename carries the bot's configuration id.

This tab lists everything you must supply before a run: values fixed once in the project settings, values the launcher asks for on each run, required secrets, and any proxy, CAPTCHA or start-URL needs. Back to the overview tab.

The tables on this page are generated automatically from the published project configuration and therefore cannot disagree with it.

Before you run

  1. Download the launcher for your operating system from the overview tab.
  2. On first launch the bot asks for the values in the "Requested at run time" table below; values in the "Configured in project settings" table are filled in once in the bot's settings beforehand.
  3. When the run finishes you will find the output file next to the launcher, in the folder you ran it from.

Configured in project settings

Values you fill in once in the bot's settings before running.

Fields supplied in project settings
FieldTypeDescriptionDefault / example
product_urls (required) Text Declared in project settings.
max_pages_per_product Text Declared in project settings.
start_urls (required) URL Start URLs the bot navigates to.

Requested at run time

Values the launcher asks for each time the bot starts.

Runtime-acquired input fields
FieldTypeDescriptionDefault / example
No fields.

Secrets you must provide

This bot requires no secrets.

Secret fields are requested at run time and are never embedded in the published configuration.

Start URLs

Start URLs the bot navigates to.

View the full project configuration on the Config tab.

Frequently asked questions

How do I scrape AppSumo product reviews to CSV?
Run the launcher, paste one or more AppSumo product URLs into the required product_urls list (one URL per line), optionally set a per-product page cap, and the bot fans the list out, normalizes each URL to the AppSumo review tab, paginates to the last page and extracts every review card into the reviews dataset. Rows land in the launcher's local results store; export them from the results view - CSV is the common working format, and JSON and XLSX exports are available too. No selector work is required from you.
What review data does the AppSumo scraper collect?
Thirty-three fields per review: the product slug and source URL, the scraped page URL and number, the review position, review id, url and slug, the title, the full review text and its character length, the raw star label and the numeric rating, the displayed date and an ISO-normalised date, the meta row text, the reviewer username, profile url and avatar, verified-buyer and AppSumo Plus member flags, the verified label and member-since text, the badge row, whether a founder replied plus the reply label, username, avatar, date, ISO date and text, and the helpful and share counts.
How does the bot handle multiple AppSumo products at once?
product_urls is a required list variable, and the engine fans it out into its URL queue with one worker task per entry, so a dozen products become a dozen independent collection passes in a single run. It accepts any AppSumo product URL shape - with or without the reviews path, with or without a trailing slash or query string - and normalizes each to the canonical review tab. One caution baked into the configuration: the value must stay a JSON array. Passed as a single string, the fan-out breaks and the run collapses to one worker-replicated URL.
How does AppSumo review pagination work?
For each product the bot first reads the page's own pagination controls - it scans links whose accessible label reads Go to page followed by a number and takes the highest - storing that in last_page. It then loops from page one up to last_page, re-navigating to each numbered review page URL, waiting for a review card to render, and extracting. The loop stops at the last detected page or at the max_pages_per_product cap, whichever comes first.
Can I limit how many review pages are crawled per product?
Yes. max_pages_per_product is an optional safety cap on review pages crawled per product. It defaults to 999, which is effectively unlimited, so a full review history is collected. Set it to 2 for a fast smoke test, or to any number to bound run time and request volume on products with very deep review back-catalogs.
Does the scraper collect reviewer names and profiles?
It does, deliberately, and that raises the compliance bar. The dataset captures reviewer_username, reviewer_profile_url and reviewer_avatar_url, plus verified-buyer and AppSumo Plus member flags and a member-since value. These identify people, so this listing is flagged piiHandled true: establish a lawful basis before storing or analysing them, honour takedowns, and never republish reviewer identities or use them for spam.
Can it capture AppSumo founder replies to reviews?
Yes. has_founder_reply is a count flag for a creator response on the review card, and when one is present the run also captures founder_reply_label, founder_username, founder_avatar_url, founder_reply_date and its ISO-normalised form, and founder_reply_text. Diffing founder_reply_date_iso against review_date_iso gives you a reply-latency measure - a useful responsiveness signal when benchmarking how a vendor handles its negative AppSumo reviews.
How are AppSumo review dates normalised?
Two ways per date. review_date keeps the displayed string verbatim, and review_date_iso runs it through a small script transform that first tries a native date parse and then falls back to a month-name pattern (AppSumo shows dates like March 4, 2026), emitting a clean yyyy-mm-dd value. The same pair exists for founder replies. When a date cannot be parsed the ISO field is left empty rather than guessed, so an empty review_date_iso is an honest unknown, not a failure.
How does deduplication work across review pages?
AppSumo review pages can overlap and re-render as you paginate, so the reviews dataset deduplicates on the combination of review_id, review_text and reviewer_username. That triple is stable for a given review and catches the same card appearing on adjacent pages. review_id and review_text are also declared required fields, so a card that never rendered its body is logged rather than silently trusted.
Is scraping AppSumo reviews allowed?
Automated collection may conflict with AppSumo's terms of service, and review text plus reviewer usernames are personal data in most jurisdictions. You are responsible for reviewing AppSumo's terms and establishing a lawful basis under GDPR, UK GDPR or your local equivalent before running the bot, storing the output, or analysing named individuals. Keep request volume modest and let the acceptable-use policy govern every run. This bot is not affiliated with or endorsed by AppSumo.
Why are some rating or date fields empty?
Empty is normal and expected in a few cases: a review with no star label leaves review_rating null through its cast default; an unparseable or absent date leaves review_date_iso empty; helpful_count and review_share_count fall back to 0 when the card shows none; the AppSumo Plus flag reads 0 for non-members; and the founder-reply fields are empty on every review that has no creator response. The transforms fall back to empty or zero rather than failing the row, and the failure contract is loud - empty values or zero rows, never fabricated data.
How long does a full AppSumo review scrape take?
It scales with products times pages. Each product costs one page visit per review page, paced by human-like navigation and a wait for the review card to render before each extraction. A single product with a few hundred reviews across a handful of pages finishes in minutes; a queue of many products with deep review histories can run toward an hour. Lower max_pages_per_product or queue fewer products to keep runs short.
Does the bot need an internet connection to run?
Yes on first run: the launcher fetches its configuration by id from the backend at launch, so an internet connection is required at least the first time it starts.
Can I rename the downloaded file?
No. The downloaded file must keep its exact name - the filename carries the per-bot configuration id, and renaming it breaks the configuration fetch at launch.