πŸ›οΈ Whop Marketplace Data Scraper avatar

πŸ›οΈ Whop Marketplace Data Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
πŸ›οΈ Whop Marketplace Data Scraper

πŸ›οΈ Whop Marketplace Data Scraper

Turn any Whop.com search, category, or listing into structured data: pricing, plans, company and owner profiles, growth metrics, affiliate terms, and reviews. Self-healing GraphQL scraper that keeps working through Whop backend changes.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Data Minds

Data Minds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Turn any Whop.com search, category, or listing link into a clean, structured dataset β€” pricing, plans, company and owner profiles, growth metrics, affiliate terms, and reviews, streamed live to your Apify dataset.

πŸ”— View this Actor on Apify Store

πŸ“‘ Table of Contents

🧭 What Is the Whop Marketplace Data Scraper?

The Whop Marketplace Data Scraper is an Apify Actor that turns Whop.com's public product, course, and membership storefront into a structured, exportable dataset. It talks directly to Whop's public GraphQL API and re-introspects the live schema on every run, so the scraper keeps working even after Whop ships a backend change β€” a self-healing design that quietly drops a renamed or removed field instead of breaking the whole run. Point it at a Whop URL, a search keyword, a category, or nothing at all β€” leaving everything blank makes it walk the entire live catalog. Either way, it returns pricing and plans, company and owner profiles, growth metrics, affiliate terms, contact links, and reviews for every listing it finds.

Because it runs on the Apify platform, you get more than a one-off script: built-in proxy rotation with automatic escalation, scheduling to re-run the same search daily or weekly, a REST API and webhooks for every run, and dataset exports to JSON, CSV, XLSX, and Excel β€” no code required.

πŸ“Š What Data Can You Extract from the Whop Marketplace?

In plain terms, every record this Whop scraper produces is built from five groups of information:

  • πŸ“ Listing basics β€” title, headline, description, category, business/industry type, and the live URL and checkout link.
  • πŸ’² Pricing and plans β€” the default plan plus every visible pricing plan (one-time, subscription, trial), in the listing's own currency, with both the signup price and the effective price a buyer actually pays.
  • 🏒 Company and owner profile β€” the business behind the listing (name, route, member count, verification status, description) and the person running it (name, bio, city, country, follower count).
  • πŸ“ˆ Growth and engagement metrics β€” 3-hour / 24-hour / 30-day new users, 24-hour GMV, store page views and clicks, likes, shares, and review counts, so you can track momentum over time.
  • 🀝 Affiliate terms and reviews β€” the affiliate commission percentage and program status, plus star ratings and (optionally) full review text.

The technical field-by-field reference for all of the above is in the Output Example section below.

πŸ”§ How the Whop Scraper Works

This whop.com scraper follows the same repeatable process on every run:

  1. Give it something to look for. Paste one or more Whop URLs (search pages, category pages, product pages, company pages, or bare prod_* / biz_* IDs), type search keywords, or leave both empty to browse the live catalog.
  2. The Actor connects to Whop's GraphQL gateway and introspects the current schema, so every query it builds is verified against what Whop's servers accept right now.
  3. It walks results page by page β€” search results, a category listing, or the full catalog β€” applying your sort order and any server-side filters (price range, affiliate %, discoverable-only) as it goes.
  4. Each listing (or company) is enriched according to your toggles: owner profile, company details, growth metrics, affiliate terms, gallery images, FAQ, bundled apps, and full review text.
  5. Quality filters run client-side β€” minimum rating, minimum reviews, minimum members, verified-only, date range, free/paid-only, title contains, contact-link-only β€” to drop anything that doesn't match before it's saved.
  6. Every finished record streams straight to your dataset, live, as soon as it's ready β€” you don't wait for the whole run to finish to start using the data.
  7. Optionally, keyword market-sizing data (search volume and marketplace-wide daily revenue per keyword) is written to the run's key-value store under keyword-analytics.

πŸ“‹ Input Parameters

All fields are optional except that at least one of urls, queries, or catalogBrowse must produce something to search β€” the default configuration (catalogBrowse: true) browses the full catalog if you leave everything else blank.

πŸ” Discovery β€” what to scrape

FieldTypeDescriptionDefault
urlsarrayWhop search, category, product, or company page URLs β€” one per line or upload a file. Bare prod_* / biz_* IDs also work.[]
queriesarraySearch keywords to look up on Whop.com β€” e.g. trading, ai agency, fitness coaching. Each is searched separately.[]
catalogBrowsebooleanWhen no URL or keyword is given, walk the entire live Whop marketplace catalog instead of doing nothing.true
scrapeCompaniesbooleanCollect one record per business/company (with its product list) instead of one record per listing.false

πŸ—‚οΈ Catalog browsing β€” sort and server-side filters

FieldTypeDescriptionDefault
sortBystring (enum)Catalog order: trending, newest_arrivals, most_money_made_24_hours, average_review_rating, most_reviews_7_days, most_reviews_24_hours, highest_bounties, trending_3_hours, created_at, global_affiliate_percentage, average_time_spent_24_hours, most_affiliate_earnings_24_hours, last_24_hours_total_seconds, id.trending
sortDirectionstring (enum)"" (Whop's own default), asc, or desc."" (Whop's default)
categoriesarrayTop-level Whop category routes, e.g. ai, trading, personal-development. Each category runs as its own pass β€” limit applies per category.[]
priceMin / priceMaxnumberPrice range filter, in the listing's own currency.not set
affiliatePercentageMinnumberOnly listings offering at least this affiliate commission.not set
affiliateEnabledOnlybooleanKeep only listings that currently run an affiliate program.false
discoverableOnlybooleanKeep only listings Whop has published to its public Discover feed.true

βœ… Quality filters β€” applied after fetching

FieldTypeDescriptionDefault
minRatingnumberDrop listings rated below this (0–5).not set
minReviewsintegerDrop listings with fewer published reviews than this.not set
minMembersintegerDrop listings with fewer active members than this.not set
verifiedOnlybooleanKeep only listings that carry Whop's verified badge.false
createdAfter / createdBeforestringDate filters, YYYY-MM-DD.not set
freeOnly / paidOnlybooleanRestrict to free or paid listings only (mutually exclusive).false
titleContainsstringKeep only listings whose title, headline, or description contains this text.not set
withSocialsOnlybooleanLead-gen mode β€” drop anything with no social/contact link at all.false

βž• Enrichment toggles β€” what to include per listing

FieldTypeDescriptionDefault
includeSocialsbooleanCreator and company social handles and contact links.true
includeOwnerbooleanName, bio, city, country, and follower count of the person behind the listing.true
includeCompanyDetailsbooleanCompany description, member count, views, review stats.true
includeGrowthMetricsboolean3h/24h/30d new users, 24h GMV, impressions, clicks, likes, shares.true
includeAffiliatebooleanAffiliate commission percentage and program status.true
includePlansbooleanEvery visible pricing plan, not just the default one.true
maxPlansPerProductintegerCap on plans fetched per listing when includePlans is on.5
includeImagesbooleanGallery images and videos for the listing.true
includeFaqbooleanThe listing's published FAQ questions and answers.false
includeExperiencesbooleanApps/experiences bundled inside the listing.false
includeReviewsbooleanFetch actual review text and star breakdown per listing (a little slower).false
maxReviewsPerProductintegerCap on reviews fetched per listing when includeReviews is on.5

Default discrepancy to be aware of: the Apify Console input form pre-fills maxReviewsPerProduct with 5 (the value above, taken from the input schema β€” what you'll actually see when configuring the Actor). However, if a run is triggered programmatically (e.g. via the API) with the maxReviewsPerProduct key left out of the input JSON entirely, the Actor's own internal fallback in build_config() resolves it to 20, not 5. In practice: configuring through the Console always sends 5 explicitly, so that's the effective value there; only a fully-omitted field on a raw API call falls back to 20.

🏒 Company mode extras

Only used when scrapeCompanies is true.

FieldTypeDescriptionDefault
includeCompanyProductsbooleanNest each company's own product catalog inside its record.false

πŸ”‘ Keyword market sizing β€” saved to the key-value store, not the dataset

FieldTypeDescriptionDefault
getKeywordRevenueDetailsbooleanMarketplace-wide daily GMV for each search keyword.false
getKeywordSearchVolumebooleanHow often each keyword is searched on Whop (last 30 days).false
keywordRevenueDaysintegerHow many days of daily revenue history to fetch per keyword.90
getTopKeywordsbooleanFetch Whop's own top-keywords-by-search-volume list.false

πŸš€ Performance, run control, and proxy

FieldTypeDescriptionDefault
limitintegerStop after this many listings have been saved for each URL/keyword/category. Exact, not approximate.10
concurrencyintegerHow many requests can be in flight at once (1–20).8
maxRetriesintegerAttempts per request on the current connection route before falling back or giving up.3
requestDelaynumberSeconds paused between requests, for a politer run.0
resumeOffsetintegerSkip the first N catalog rows to continue a previous run.0
maxScannedintegerGive up after examining this many listings when quality filters are very narrow. 0 = no cap.50000
proxyConfigurationobjectBy default the run connects with no proxy at all, and only escalates to a datacenter then a residential route if Whop pushes back β€” then stays on that route. Override here to force a specific route.No proxy

Default discrepancy to be aware of: the same pattern applies to limit. The input schema β€” and therefore the Apify Console's pre-filled value β€” defaults it to 10. But the Actor's internal DEFAULTS dictionary, used as the fallback inside build_config() when the limit key is missing from the raw input altogether, is 1000. A Console run always sends the pre-filled 10 unless you change it; a bare API call with no limit key in the JSON body will actually run with an effective limit of 1000 per input. If you're calling the API directly and want a small test run, pass limit explicitly rather than relying on omission.

πŸ“¦ Output Example

By default (product/listing mode, scrapeCompanies: false), each dataset item looks like this β€” field names below are exact, straight out of parser.py's assemble_product():

{
"id": "prod_dZupVMFqJmV2o",
"title": "Sober Living Riches",
"headline": "Build wealth while transforming lives w/ sober living homes",
"route": "soberlivingriches",
"url": "https://whop.com/discover/soberlivingriches/soberlivingriches/",
"description": "Overcome sober living investing fears with our supportive community...",
"company": {
"id": "biz_P4W5cGytpsnunM",
"route": "soberlivingriches",
"hubRoute": "soberlivingriches",
"businessType": "coaching_and_courses",
"industryType": "rental_property",
"logo": { "url": "https://img-v2-prod.whop.com/...", "doubleUrl": "https://img-v2-prod.whop.com/..." }
},
"pricing": { "id": "plan_cT1jck0rofzBd", "planType": "one_time", "rawInitialPrice": 3500.0, "baseCurrency": "usd", "free": false },
"price": 3500.0,
"currency": "usd",
"metrics": { "reviewsAverage": 4.83, "publishedReviewsCount": 6, "verified": false, "activeUsersCount": 0, "usdGmv": 21000.0 },
"marketplaceCategory": { "id": "mcat_w35XJPqgMxQMx", "name": "Real Estate" },
"images": [ { "isVideo": false, "isAnimated": false, "image": { "original": "https://img-v2-prod.whop.com/...", "double": null } } ],
"renewalPrice": 0.0,
"effectivePrice": 3500.0,
"priceRange": { "min": 3500.0, "max": 9800.0 },
"productUrl": "https://whop.com/soberlivingriches/",
"checkoutUrl": "https://whop.com/soberlivingriches?pass=prod_dZupVMFqJmV2o",
"status": "live_marketplace",
"visibility": "visible",
"accessPassType": "app",
"businessType": "coaching_and_courses",
"industryType": "rental_property",
"industryGroup": "real_estate",
"fullDescription": "Overcome sober living investing fears with our supportive community...",
"creatorPitch": "Learn to build a sober living empire.",
"growth": {
"memberCount": 0, "likeCount": 12, "shareCount": 3,
"storePageViewsCount": 4820, "storePageClicksCount": 640,
"cardImpressionCount": 15200, "cardClickCount": 980,
"last3HoursNewUsers": 0, "last24HoursNewUsers": 0, "last30DaysNewUsers": 125,
"last24HoursGmv": 0.0, "last24HoursTotalUsers": 864,
"last24HoursAverageTimeSpent": 340, "last24HoursAffiliateEarnings": 0.0,
"last7DaysPublishedReviews": 1, "totalBountyAmount": 0,
"visiblePlansCount": 2, "hasFreeAvailablePlan": false, "hasPaidAvailablePlan": true,
"discoverableAt": 1701000000, "updatedAt": 1785500000
},
"reviewsBreakdown": { "5": 5, "4": 1 },
"reviewCounts": { "total": 6 },
"affiliate": {
"globalAffiliatePercentage": 10.0, "globalAffiliateStatus": "enabled",
"memberAffiliatePercentage": null, "memberAffiliateStatus": null
},
"socials": [
{ "platform": "instagram", "handle": "soberlivingriches", "url": "https://www.instagram.com/soberlivingriches", "verified": false }
],
"owner": { "id": "user_abc123", "username": "andrewlamb", "name": "Andrew Lamb", "bio": "Investor & coach", "city": "Los Angeles", "country": "US", "followersCount": 9 },
"companyDetails": {
"createdAt": 1650000000, "updatedAt": 1785500000, "verified": false, "memberCount": 864,
"description": "A community for sober living investors.", "publishedReviewsCount": 6,
"reviewsAverage": 4.83, "cachedTotalViewsCount": 15200, "hasGlobalAffiliatesEnabled": true,
"launched": true, "url": "https://whop.com/soberlivingriches/"
},
"plans": [ { "id": "plan_cT1jck0rofzBd", "planType": "one_time", "rawInitialPrice": 3500.0, "baseCurrency": "usd", "free": false, "title": "Full Access" } ],
"searchSource": "catalog",
"scrapedAt": 1785598641
}

reviews (an array of { id, stars, title, description, createdAt, upvotes, reviewer: { username, name } } objects), faq, and experiences are appended in the same way when their respective include* toggles are switched on.

🏬 Company-mode record shape

With scrapeCompanies: true, each record is one business instead of one listing, built by assemble_company(). It carries: id, title, route, hubRoute, url, businessType, industryType, industryGroup, verified, memberCount, description, businessDescription, creatorPitch, targetAudience, createdAt, updatedAt, reviewsAverage, publishedReviewsCount, totalViewsCount, hasGlobalAffiliatesEnabled, registeredCompanyNumber, logo, plus socials and owner (when those toggles are on), an optional nested products[] array (when includeCompanyProducts is on β€” each with id, title, route, whopRanking, activeUsersCount, reviewsAverage, publishedReviewsCount, pricing), and scrapedAt.

If you're looking at this Actor, you may also want Whop Content Rewards Scraper β€” but the two solve different problems, and the similar naming makes them easy to confuse:

  • This Actor (Whop Marketplace Data Scraper) scrapes Whop.com's general product, course, and membership storefront catalog β€” the public marketplace where buyers browse and purchase digital products. Use it for pricing research, company/owner discovery, growth tracking, and affiliate-program sourcing across the whole marketplace.
  • Whop Content Rewards Scraper targets Whop Content Rewards β€” the creator payout and clipping-campaign boards where brands pay creators per view/engagement for promotional clips. It's built for influencer/UGC campaign discovery, not for the storefront catalog.

If your goal is "what products sell on Whop and who owns them," you want this Actor. If your goal is "what brands are running paid clipping/content campaigns on Whop," you want the Content Rewards scraper instead.

❓ Frequently Asked Questions

Scraping publicly accessible pages is generally permissible, but you're responsible for complying with Whop's Terms of Service and any applicable law in your jurisdiction, and for how you use the data (e.g. respecting opt-outs for outreach). This Actor only reads data Whop already serves publicly through its own GraphQL API β€” the same data a browser loads when you visit whop.com.

Whop's own public keyword search caps out at roughly 1,000 results per query. This Actor's catalog-browsing mode paginates through the entire live marketplace with no such ceiling, so a category, price range, or date-range pull can return far more than search alone would ever surface. Combined with server-side sorting and filters, it's built specifically for whop competitor research and digital product market research on Whop at a scale the built-in search UI can't reach.

πŸ”Œ Does it work with Whop's own public API, or is this unofficial?

It talks to Whop's public GraphQL API β€” the same endpoint whop.com's own web app uses β€” over the public internet, with no authentication or private credentials involved. Because the schema is introspected fresh on every run, the query set adapts automatically if Whop adds, renames, or removes fields, instead of silently breaking.

πŸ“ˆ Can I track a company's growth over time?

Yes β€” enable includeGrowthMetrics (on by default) to capture 3h/24h/30d new-user counts, GMV, views, clicks, likes, and shares per listing. Then run this Actor on a schedule (daily or weekly, via Apify's built-in Scheduler) against the same URLs or keywords. Each run's growth object and scrapedAt timestamp let you track Whop company growth over time by comparing dataset snapshots β€” a capability most Whop scrapers on the market don't advertise at all.

🀝 Can I find listings with an active affiliate program?

Yes. Set affiliateEnabledOnly to true, and/or affiliatePercentageMin to a minimum commission threshold, to use this Actor as a Whop affiliate program finder. Every record's affiliate object exposes the exact commission percentage and program status as a first-class field β€” most comparable tools don't surface affiliate terms as a headline extracted field at all.

πŸ’² Why is price sometimes 0 on a listing that clearly isn't free?

Whop lets a listing offer a free signup with a paid renewal (e.g. a free trial, then $699/month). price reflects only the signup charge; effectivePrice reflects what a buyer actually ends up paying. Filter and sort on effectivePrice, not price, when doing pricing-plan analysis.

πŸ›‘οΈ Do I need to set up my own proxy?

No. The run starts with a direct connection and escalates to a datacenter proxy and then a residential proxy route automatically, only if Whop pushes back β€” and stays on the working route from then on. Every route change is logged. You only need to touch proxyConfiguration to force a specific route yourself.

⏸️ What happens if I stop the run partway through?

Nothing is lost. Every record streams to your dataset the instant it's collected, so a stopped, aborted, or interrupted run still keeps everything gathered up to that point.

πŸ’‘ What can I actually use this data for?

Common use cases include: competitor research (pricing, plan structure, and growth trends across a niche), lead generation (owner names, company descriptions, and social/contact links for outreach), affiliate program discovery (filtering the entire catalog by commission percentage), and general digital product market research β€” sizing a niche by keyword search volume and marketplace GMV before committing to it.

πŸ’¬ Support and Feedback

Found a bug, or need a custom field, extra enrichment, or a scheduled feed built around this Actor? Open an issue on the Issues tab of this Actor's page in Apify Console, or reach out directly at hello.dataminds@gmail.com β€” happy to help.