Fourthwall Scraper [$2.80/1K💰] | Creator Storefronts avatar

Fourthwall Scraper [$2.80/1K💰] | Creator Storefronts

Pricing

from $2.80 / 1,000 storefronts

Go to Apify Store
Fourthwall Scraper [$2.80/1K💰] | Creator Storefronts

Fourthwall Scraper [$2.80/1K💰] | Creator Storefronts

Extract Fourthwall creator storefronts — profile, bio, socials, membership tiers, contact email and full product catalog. Discover creator shops automatically. Pay per storefront or product.

Pricing

from $2.80 / 1,000 storefronts

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a month ago

Last modified

Categories

Features

Limited permissions

Share

Fourthwall Scraper — Creator Storefront Profiles, Products and Contact Data

Extract Fourthwall creator storefront data — profile, bio, social links, membership tiers, members-only video catalog, publicly listed contact email, and a flat row for every product the shop sells.

Point it at creator URLs, or let it discover storefronts from Fourthwall's public showcase pages. Built for agencies running influencer-outreach campaigns, creator-economy researchers, merch sourcing teams, and anyone who needs to qualify a creator's business before reaching out.


Why use this Actor instead of the Fourthwall Storefront API?

Because the Storefront API cannot be used against someone else's shop. Fourthwall's Storefront API (storefront-api.fourthwall.com) requires a per-shop storefront_token, which is only visible to the shop's own owner under Settings → For Developers. It is not exposed in the served HTML or JavaScript, and calling it without one returns HTTP 401 {"code":"NotAuthorizedError"}.

So if you want a competitor's catalog — for pricing research, merch arbitrage, or catalog monitoring — the public API is a dead end. This Actor reads the storefront's own server-rendered HTML instead, which carries the same data without any token.

This is the gap the other Fourthwall scrapers leave open: they return products only. This Actor returns the storefront itself — handle, display name, bio, avatar, social links, membership tiers with prices and member counts, posts, videos, and the contact email the creator published on their own store.

Main use cases

  • Influencer outreach and lead qualification — membership tier count, member counts, catalog size and a public contact email are strong signals of a creator's commercial scale
  • Creator-economy market mapping — discover Fourthwall storefronts from the showcase pages and profile them at scale
  • Merch price monitoring — product price, compare-at price and availability across a roster of creator stores
  • Catalog and assortment tracking — which SKUs a creator lists, at what price, with what variants
  • Membership-program research — tier names, prices, billing periods, feature lists and member counts
  • Sponsorship and brand-safety checks — social links, external links and public contact details before you pitch

Input

FieldTypeRequiredDefaultNotes
startUrlsarrayno2 example storefrontsFourthwall storefront URLs. Full URLs (https://disguisedtoast.shop) or bare domains (disguisedtoast.shop). One Storefronts row each.
discoverStorefrontsbooleannotrueCrawls Fourthwall's public showcase pages and mines real creator storefront URLs to add to the queue. Set false to use only your own list.
discoveryUrlsarraynofourthwall.com/get-inspired, fourthwall.com/creatorsCustom pages to mine for storefront links. Only used when discovery is on.
maxStorefrontsintegerno20Maximum storefronts fully profiled in one run (1–200).
maxProductsPerStorefrontintegerno00 = cheapest (name/price/URL/image/availability from one collection page). Values > 0 open that many product pages to add descriptions, SKUs, brands and variant pricing.
includeProductsbooleannotrueScrape the product catalog into the Products dataset. Off = cheapest run, full profile still returned.
includeMembersOnlyContentbooleannotrueFor shops that sell tiers, also scrape supporter posts and the members-only video catalog. Costs 2 extra requests, and only for shops that actually have tiers.
maxRequestsPerCrawlintegerno400Hard HTTP request cap (10–2000). Storefronts cut off by this cap are still pushed, flagged partial: true.
proxyobjectnouseApifyProxy: falseStandard Apify proxy picker. Not needed for normal runs — storefront pages carry no anti-bot challenge.

Examples

{
"startUrls": [
{ "url": "https://disguisedtoast.shop" },
{ "url": "https://asmrxbabee.com" }
],
"discoverStorefronts": false,
"maxStorefronts": 2,
"includeProducts": true,
"maxProductsPerStorefront": 0
}

Cheapest possible prospecting run — profiles and contact emails only:

{
"startUrls": [{ "url": "https://disguisedtoast.shop" }],
"includeProducts": false,
"discoverStorefronts": false
}

Deep catalog + membership research:

{
"startUrls": [{ "url": "https://disguisedtoast.shop" }],
"maxProductsPerStorefront": 25,
"includeMembersOnlyContent": true,
"maxRequestsPerCrawl": 800
}

Discover 50 creator stores from Fourthwall's showcase pages:

{
"startUrls": [],
"discoverStorefronts": true,
"maxStorefronts": 50,
"includeProducts": false
}

Output

Two datasets, both switchable in the Output tab.

Storefronts

FieldDescription
handleStorefront domain / handle
shopIdFourthwall internal shop id — the join key to Products
displayNameCreator or brand name (JSON-LD Organization.name)
bioStore description
avatar / logoProfile image URLs
storefrontUrlCanonical storefront URL
contactEmailPublicly listed contact email, or null
socialLinksAll sameAs / footer social URLs
socialHandlesMap of network → handle
externalLinksNon-social outbound links
currencyStorefront currency, or null when only a symbol is printed
memberships[]name, price, currency, billingPeriod, membersCount, features, checkoutUrl
membershipsCount / hasMembershipsTier count and flag
posts[] / postsCountSupporter posts (title, thumbnail, access tier, publish time)
videos[] / videosCountVideo catalog (title, thumbnail, duration, access)
productsCountProducts found — the row count for that shop in the Products dataset
collections / pagesFull inventory from sitemap.xml
partialtrue when the row may be incomplete (page cut off by the request cap, request failed, or run aborted mid-storefront)
scrapedAtISO timestamp

Products

FieldDescription
shopId / handle / displayName / storefrontUrlDenormalized storefront keys, so the dataset stands alone or joins back
name / slug / urlProduct identity and canonical URL
price / compareAtPriceCurrent price and struck-through price when on sale
currencyISO 4217 code, or null when the store prints a symbol only
availableIn-stock flag, null when the storefront does not say
imagePrimary product image
sku / brandOnly populated when maxProductsPerStorefront > 0
description / variants[]Only populated when maxProductsPerStorefront > 0

Why partial matters

A storefront row is pushed as soon as its own pages finish, then the profile is dropped from memory — that keeps memory flat on long runs. The trade-off is that an aborted run never loses what it already collected, but anything still in flight lands with partial: true rather than being silently dropped. Filter on partial == false when you need rows guaranteed complete. Compare productsCount against the Products dataset to judge a store's worth before trusting its catalog.


Example output

Storefronts row:

{
"platform": "fourthwall",
"handle": "disguisedtoast.shop",
"shopId": "sh_8b0b2562-9c11-4357-a37e-4e28c7d93601",
"displayName": "Disguised Toast",
"bio": "The official store of Disguised Toast",
"avatar": "https://imgproxy.fourthwall.dev/...",
"storefrontUrl": "https://disguisedtoast.shop",
"contactEmail": "store@offlinetv.com",
"socialLinks": [
"https://youtube.com/channel/UCUT8RoNBTJvwW1iErP6-b-A",
"https://twitch.tv/disguisedtoast",
"https://instagram.com/disguisedtoast"
],
"hasMemberships": false,
"membershipsCount": 0,
"memberships": [],
"productsCount": 6,
"postsCount": 0,
"videosCount": 0,
"collections": ["all", "hoodie", "jacket"],
"partial": false,
"scrapedAt": "2026-09-29T10:00:00.000Z"
}

Products row:

{
"shopId": "sh_8b0b2562-9c11-4357-a37e-4e28c7d93601",
"handle": "disguisedtoast.shop",
"displayName": "Disguised Toast",
"storefrontUrl": "https://disguisedtoast.shop",
"name": "Signature Hoodie",
"slug": "signature-hoodie",
"url": "https://disguisedtoast.shop/products/signature-hoodie",
"price": 125,
"compareAtPrice": null,
"currency": null,
"available": null,
"image": "https://imgproxy.fourthwall.dev/...",
"sku": null,
"variants": []
}

Track creator merch pricing and storefront changes on a schedule

Every Apify Actor is callable over HTTP, so the useful pattern is a recurring run over the same storefront list:

  • Weekly — same storefronts; diff price and compareAtPrice to catch creator merch markdowns and drops
  • Monthly — same roster; diff memberships[] and productsCount to spot new tiers and assortment changes
  • Quarterly — refresh outreach lists; contactEmail and socialLinks change when creators rebrand
  • Wire into your stack — Apify webhooks, Zapier, Make, Google Sheets and 100+ integrations fire on run completion; both datasets export as JSON, CSV, Excel, XML, HTML or RSS

Set includeProducts: false on the outreach schedule and true on the pricing schedule — they're cheap to split.


  • Stan.store Scraper (ahmed_jasarevic/stan-store-creator-scraper) — the closest sibling: creator storefront profiles and product data on a different creator-commerce platform
  • Gumroad Scraper (ahmed_jasarevic/gumroad-scraper) — creator digital product catalogs, sales and pricing
  • Fourthwall Creator Shop Scraper (vsekar91/fourthwall-creator-scraper) — product-level extraction with size/colour variants, no storefront profile
  • Fourthwall Shop Scraper (scrapersdelight/fourthwall-shop-scraper) — products, prices and stock alerts only
  • Shopify Product Scraper (ahmed_jasarevic/shopify-product-scraper) — the same storefront data model on self-hosted Shopify

FAQ

Why not just use the Fourthwall API?

You can — but only for your own shop. The Storefront API authorises every request with a storefront_token that only the shop owner can see. For your own store you should absolutely use the official API. To read a competitor's or another creator's storefront, there is no token and no public API path, so this Actor reads the server-rendered HTML instead.

What are the alternatives to this Actor?

  • The official Storefront API — best choice for your own shop; returns nothing for anyone else's.
  • Product-only Fourthwall scrapers — cheaper per row and good for price tracking, but they give you no profile, no tiers, no social links and no contact email, which is exactly what you need for outreach.
  • Manual copying — fine for 5 shops, unusable at 200.

How do I join the two datasets?

On shopId. It is Fourthwall's internal shop identifier and stays stable even if the creator changes their domain, which makes it a better key than handle.

Why is contactEmail null for so many creators?

Because they never published one. This Actor returns only addresses the creator has put on their own storefront — contact page, privacy policy or terms page — and applies junk filtering to strip CDN and error-reporting addresses. It never guesses or infers an address.

Why is currency null?

Most storefronts print a symbol ($, £) rather than an ISO code. The Actor reports null rather than guessing the country, so you don't silently mis-assign USD to a GBP store.

Does it need a browser or a proxy?

Neither. Fourthwall storefronts are server-rendered, so there is no JavaScript execution required and no Cloudflare or other bot challenge on storefront pages. The default run uses no proxy and 512 MB; the standard proxy input is exposed for high-volume runs.

Can I abort a long run safely?

Yes. On a graceful abort the Actor stops crawling, pushes everything it has and exits. Storefronts still in flight land with partial: true, so nothing is silently lost, and rows pushed before the abort are untouched.


For AI Agents & LLM Apps

Callable via the Apify MCP server and the Apify API. Returns creator storefront profiles in the default dataset and products in the products dataset, joined on shopId.

Minimal valid input — two storefronts, profile + cheap catalog:

{ "startUrls": [{ "url": "https://disguisedtoast.shop" }], "discoverStorefronts": false }

Cheapest prospecting run — profile, tiers and contact email, no product rows:

{
"startUrls": [{ "url": "https://disguisedtoast.shop" }],
"includeProducts": false,
"discoverStorefronts": false
}

Discovery mode — mine Fourthwall's showcase pages for real creator storefronts:

{ "startUrls": [], "discoverStorefronts": true, "maxStorefronts": 50, "includeProducts": false }

Output fields — storefronts: handle, shopId, displayName, bio, avatar, logo, storefrontUrl, contactEmail, socialLinks, socialHandles, externalLinks, currency, memberships, membershipsCount, hasMemberships, posts, postsCount, videos, videosCount, productsCount, collections, pages, partial, scrapedAt, platform. Products: shopId, handle, displayName, storefrontUrl, name, slug, url, price, compareAtPrice, currency, available, image, sku, brand, description, variants.

Behaviors an agent should know

  • discoverStorefronts defaults to true. If you supply your own startUrls and do not want the showcase crawl adding other shops, set it to false explicitly.
  • maxProductsPerStorefront defaults to 0, which means "all products from the collection page" — not "no products". A value > 0 is what switches on per-product-page enrichment (descriptions, SKUs, brand, variant pricing).
  • Two separate billing events. includeProducts: false removes the product event but keeps the storefront event. includeMembersOnlyContent: false removes the members-only-content event.
  • sku, brand, description and variants are only populated when maxProductsPerStorefront > 0. Do not assume they exist on a default run.
  • shopId is the join key, not handle — the handle changes if the domain does, the shopId does not.
  • partial: true means the row may be incomplete, not that the scrape failed. Filter partial == false for guaranteed-complete rows.
  • Three separate datasets/views exist — Storefronts and Products are separate storages; each exposes overview and pricing views.

Billing model — pay per event: storefront ($0.0028–$0.003 per profile), product ($0.0009–$0.001 per product row), and members-only-content ($0.005 once per storefront that has posts or videos, not per item), plus a per-run Actor Start event scaled by memory.


This Actor is an independent third-party tool. It is not affiliated with, endorsed by, sponsored by, or connected with Fourthwall, Inc.

It reads only publicly accessible storefront pages — the shop root, /collections/all, individual product pages, sitemap.xml, /supporters, /supporters/videos, and public contact/terms/privacy pages. It does not log in, does not bypass authentication, does not use the Fourthwall Storefront API or any storefront_token, does not solve CAPTCHAs, and does not use proxies by default.

Output includes publicly published contact email addresses and social links for creators. That is business contact information the creator chose to publish on their own storefront, but you remain responsible for your own lawful basis for processing it and for complying with Fourthwall's Terms of Service and applicable law — including GDPR, UK GDPR, CCPA, and unsolicited-outreach rules such as CAN-SPAM and TCPA. Do not use harvested contact details for cold outreach without checking your legal basis.

Product and brand data scraped from a retailer may also be subject to contractual or rights restrictions even when publicly viewable — check Fourthwall's Terms of Service before large-scale collection, redistribution or resale.

This Actor is a data-collection tool; it does not provide legal advice and makes no claim that any particular use is permitted.


SEO Keywords

fourthwall scraper, creator storefront data, influencer outreach data, creator economy analytics, merch store scraping, fourthwall api alternative, creator shop data, membership tier data, merch price monitoring, influencer lead generation, youtube merch scraper, twitch creator store, creator catalog data, storefront contact email, influencer qualification, creator sponsorship research, ecommerce catalog scraping, print on demand data, creator brand research, merch assortment tracking, shopify competitor data, creator storefront discovery