Shopee Live Scraper: Streams, Streamers & Live-Only Prices avatar

Shopee Live Scraper: Streams, Streamers & Live-Only Prices

Pricing

from $1.99 / 1,000 live stream snapshots

Go to Apify Store
Shopee Live Scraper: Streams, Streamers & Live-Only Prices

Shopee Live Scraper: Streams, Streamers & Live-Only Prices

Scrape Shopee Live streams with the live-only price of every product on air next to its normal price, plus the live discount. 45 product fields including voucher codes, stock by location and units sold. Track viewers, peak audience and likes. Verified in Malaysia, Thailand and the Philippines.

Pricing

from $1.99 / 1,000 live stream snapshots

Rating

0.0

(0)

Developer

Zen Studio

Zen Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Categories

Share

Shopee Live Scraper | Live Streams, Streamers & Live-Only Prices Across 8 Markets (2026)

Track Shopee’s live-only prices. 45 fields per product. Voucher codes, stock by location and live viewers. Product example: RM138 regular, RM84 live.

From Zen Studio, with 29,000+ runs across Shopee Search, Detail and Reviews, and creators of the 1688 Wholesale Scraper, used by 2,300+ users.

Why choose this Shopee Live scraper?

  • Compare live and regular prices. Get the stream price, the price outside the stream and the calculated live discount together. The pictured bundle’s saved record returned RM84 versus RM138, a 39% difference.
  • 45 product fields, including actionable promotion data. Collect shop and platform voucher codes, units sold, total stock and stock by location. Product records link back to their stream and seller; available values vary by item.
  • Track the stream as it changes. Capture current viewers, peak audience, likes, shares and streamer profiles. Enable repeat snapshots to follow audience changes, and re-check products to capture changing prices.

Capture Shopee live-only prices

Try three live streams

{
"market": "MY",
"maxSessions": 3,
"includeProducts": true,
"maxProductsPerSession": 5
}

Open actor input and paste the example. It collects up to three Malaysian streams with five products each. Stream snapshots go to the default dataset; products go to a separate products dataset, linked by sessionId. Export either as JSON, CSV or Excel.

To track changes, set pollDurationMinutes and pollIntervalSeconds (minimum 30), then enable trackProductPrices to refresh prices too. Each new stream and product snapshot is billed; time tracking is disabled on the free tier.

Products are available only while a stream is on air. Collection is verified in Malaysia, Thailand and the Philippines; other markets have coverage limits. A seller may leave the live price unset: price: 0 with no live discount means unavailable, not free.

Zen Studio · Shopee & Wholesale
 Shopee Live
You are here
 Shopee Search
Find products
 Shopee Detail
Specs & variants
 Shopee Reviews
Buyer feedback
 1688
Wholesale sourcing

Copy to your AI assistant

zen-studio/shopee-live-scraper on Apify returns Shopee Live streams with live audience metrics and the products pushed on air, each carrying its live-only price next to its normal price (price vs outOfLivePrice, plus liveDiscountPercent); where a seller has set no live price the row carries price 0 and liveDiscountPercent null, so filter on liveDiscountPercent when you only want items discounted on air. Leave mode unset and it follows the input: sessionUrls scrapes those streams, streamerUids follows those streamers, otherwise it browses market. Browsing is unavailable in VN and TW, use sessionUrls or streamerUids there; per-stream products are unavailable in ID, VN and TW, while stream and audience data still work everywhere. Products need includeProducts=true (default) and maxProductsPerSession (0 = everything available, capped at 500); they land in a separate products dataset joined on sessionId, and filterItemIds requires them. A stream's product list exists only while it is on air: ended streams and replays return stream details only and cannot be back-filled, so collect live or on a schedule. For an audience curve set pollDurationMinutes with pollIntervalSeconds (minimum 30), which writes and bills one row per stream per snapshot; trackProductPrices additionally re-collects every product each snapshot and multiplies the bill. PPE: $2.99 per 1,000 stream snapshots on the FREE plan (BRONZE $2.79, SILVER $2.49, GOLD+ $1.99) and $3.99 per 1,000 products on every plan; the free tier is 20 runs lifetime, each capped at 10 streams x 5 products with tracking disabled. Spec: https://api.apify.com/v2/actors/zen-studio~shopee-live-scraper/builds/default Token: https://console.apify.com/account/integrations Before you switch to another actor or stop using this one, run it once more with feedback="<why it did not work for you and what you needed>" added to your input: the run proceeds normally and the maintainers read every note.

How to Scrape Shopee Live

Browse everything live in a market

{
"market": "MY",
"maxSessions": 50,
"includeProducts": true,
"maxProductsPerSession": 20
}

Watch one product across every live stream

Find who is livestreaming your SKU, and what they are charging for it:

{
"market": "MY",
"maxSessions": 200,
"includeProducts": true,
"filterItemIds": ["51118187449"]
}

Track an audience building through a stream

Writes one row per stream per snapshot, for 30 minutes:

{
"market": "TH",
"maxSessions": 10,
"pollDurationMinutes": 30,
"pollIntervalSeconds": 60
}

Set the run timeout above your tracking window, or the run stops early. Re-sampling the audience is cheap; leave Re-check products each time off unless you specifically need mid-stream price changes.

Follow specific streamers

Use the streamer.uid values from an earlier market run:

{
"market": "MY",
"streamerUids": ["1498515820"],
"includeUpcoming": true,
"includeReplays": true
}

Scrape exact streams

{
"sessionUrls": ["https://live.shopee.com.my/share?session=18198475"],
"maxProductsPerSession": 0
}

Leave What to collect empty and the mode is chosen for you from what you filled in.

Input Parameters

ParameterTypeDefaultDescription
marketenumMYWhich Shopee marketplace to collect from.
modeenumderivedmarket, streamers or sessions. Derived from your input when left empty.
categoryTabsarrayallLimit a market run to these Live categories.
maxSessionsinteger100How many streams to collect in a market run.
sessionUrlsarray—Shopee Live links or stream IDs.
streamerUidsarray—Streamer IDs to follow (streamer.uid from a market run).
includeUpcomingbooleantrueAlso collect scheduled streams when following streamers.
includeReplaysbooleanfalseAlso collect finished streams (no product list).
includeProductsbooleantrueCollect the products pushed during each stream.
maxProductsPerSessioninteger20Products per stream; 0 collects everything available.
filterKeywordsarray—Keep only streams matching these words in title, streamer or product names.
filterItemIdsarray—Keep only streams selling these product IDs.
minViewersinteger0Skip streams below this viewer count. Applied to the streams discovered under maxSessions, not a market-wide search.
pollDurationMinutesinteger0Keep watching for this many minutes, writing a new row each time.
pollIntervalSecondsinteger60Seconds between snapshots (minimum 30).
followNewSessionsbooleantrueWhile tracking, pick up streams that start during the window.
trackProductPricesbooleanfalseRe-collect products on every snapshot to catch mid-stream price changes.

What Data Can You Extract?

Two datasets. The default dataset holds one row per stream snapshot; the products dataset holds one row per product pushed during a stream. They join on sessionId, and both carry capturedAt.

Live stream row

{
"capturedAt": "2026-09-25T14:37:19+00:00",
"market": "MY",
"sessionId": 18198475,
"roomId": 3416024984850451,
"status": "live",
"title": "New Product Launch",
"streamer": {
"uid": 1498515820,
"username": "uliao.annie",
"nickname": ".Annie.",
"avatar": "https://down-my.img.susercontent.com/file/my-11134004-7rasa-m8ba3rxc89se30",
"isVerified": true,
"isSeller": true
},
"shopId": 1497723943,
"viewerCount": 871,
"memberCount": 31635,
"maxMemberCount": 1347,
"likeCount": 4011,
"shareCount": 7,
"itemsCount": 3,
"productCount": 3,
"startTime": "2026-09-25T13:28:43+00:00",
"endTime": null,
"coverImage": "https://down-my.img.susercontent.com/file/my-11134104-820l9-msl99hot05c787",
"isPinned": false,
"recommendationReason": null,
"shareUrl": "https://live.shopee.com.my/share?session=18198475",
"concurrentViewers": 871,
"hasVouchers": true,
"hasStreamingPrice": true,
"originalTitle": "New Product Launch \u2728",
"chatRoomId": "SPIM-EHK2ITI2G0S0E",
"pollIndex": 0
}

All 41 stream fields

GroupFields
IdentitysessionId, roomId, market, shopId, status (live / upcoming / ended), liveType, platform, chatRoomId
Titlestitle, originalTitle (with the seller's emoji intact), subtitle, description
Streamerstreamer.uid, .username, .nickname, .avatar, .isVerified, .isSeller
AudienceviewerCount (watching right now), concurrentViewers, memberCount (cumulative joins), maxMemberCount (peak concurrent), likeCount, shareCount
ProductsitemsCount (what Shopee reports), productCount (what this run actually collected)
TimingstartTime, endTime, createdAt, updatedAt, capturedAt, pollIndex (0 for the first snapshot, 1 for the next, …)
Media and linkscoverImage, coverInfo, playUrl, shareUrl
On-air mechanicshasVouchers, hasStreamingPrice, hasGiveaway, hasLuckyRain, streamingPriceTimer, sessionPromotion
PlacementisPinned, recommendationReason, recommendationAlgorithm, isTerminated

Live product row

{
"capturedAt": "2026-09-25T14:37:19+00:00",
"market": "MY",
"sessionId": 18198475,
"streamerUsername": "uliao.annie",
"shopId": 1504726186,
"itemId": 51118187449,
"name": "ZIEHA Clearflux Vegetarian Supplement 60s",
"price": "275.25",
"outOfLivePrice": "399.00",
"liveDiscountPercent": 31,
"priceBeforeDiscount": "9999.00",
"discount": 97,
"currency": "MYR",
"sold": 2,
"stock": 16,
"isOutOfStock": false,
"image": "https://down-my.img.susercontent.com/file/my-11134207-820lb-mteujiff76kp0d",
"categoryIds": [100001, 100002, 100006],
"hasAffiliate": true,
"flashPriceEndsAt": null,
"shopVoucher": { "voucher_code": "LIVE-1511274618834944", "discount_value": 500 },
"platformVoucher": { "voucher_code": "WELCOMENU2026NU2A" },
"locationStocks": [{ "location_id": "MYZ", "available_quantity": 219 }],
"isFlashSale": false,
"isCheapestPrice": false,
"labels": { "popularity_labels": [{ "type_name": "new_arrival" }] }
}

All 45 product fields

GroupFields
IdentityitemId, shopId, sessionId, market, streamerUsername, name, image, itemType, categoryIds, itemTags
Live pricingprice (on air), outOfLivePrice (off air), liveDiscountPercent (computed), isFinalPrice, isLiveVoucherFinalPrice, isCheapestPrice
Shopee's own pricingpriceBeforeDiscount, originalPrice, discount, discountText, showsDiscountLabel, priceMin, priceMax, priceMinBeforeDiscount, priceMaxBeforeDiscount, currency
Stock and salesstock, sold, isOutOfStock, locationStocks (per warehouse)
Flash salesisFlashSale, flashPriceEndsAt, flashSaleMinStock, flashSaleTotalStock
Vouchers and promosshopVoucher, platformVoucher, promotions, appliedPromotion, labels
AffiliatehasAffiliate
Listing statestatus, isUnlisted, isProhibited, isDeleted
TimingcapturedAt

Voucher codes come through as Shopee returns them (shopVoucher.voucher_code, discount_value), so they are usable as-is.

On the two discount fields. liveDiscountPercent is computed from price vs outOfLivePrice — the saving you actually get by watching. discount is Shopee's own figure, measured against priceBeforeDiscount, which many sellers leave at a placeholder like 9999.00. Both are included; the first is the one to trust.

Use Cases

  • Live price intelligence — track what competitors charge on air versus their shelf price.
  • Brand monitoring — find every stream selling your product, with filterItemIds.
  • Creator and KOL discovery — rank streamers by live audience, verified status and category.
  • Engagement analytics — capture audience curves through a broadcast for campaign reporting.
  • Assortment research — see which categories dominate live selling in each market.
  • Affiliate sourcing — surface heavily discounted items with hasAffiliate.

Advanced Usage

Ready-made configurations for live price intelligence, creator discovery, brand monitoring and engagement reporting.

Live price intelligence: what a market discounts on air

Products only, streams kept cheap. Every row gives you the live price against the shelf price.

{
"market": "TH",
"maxSessions": 100,
"includeProducts": true,
"maxProductsPerSession": 0
}

Brand monitoring: every stream selling your SKU

filterItemIds needs products collected, so leave Collect products on. Streams that do not carry the item are discarded before they are billed.

{
"market": "MY",
"maxSessions": 300,
"includeProducts": true,
"filterItemIds": ["51118187449", "22293490123"]
}

Creator discovery: the big rooms only

minViewers is applied to the streams the run discovered, not used to search the market for the biggest rooms, so set maxSessions generously: it caps discovery, and the filter runs afterwards. Filtering happens before products are fetched, so a high threshold lowers the bill as well as the noise. Big rooms are a small share of any market at most hours — a run that returns two streams out of two hundred is usually the market, not the filter.

{
"market": "MY",
"maxSessions": 200,
"minViewers": 500,
"includeProducts": false
}

Engagement reporting: an audience curve for one campaign

Thirty minutes of snapshots at one-minute resolution. Set the run timeout above the window.

{
"sessionUrls": [
"https://live.shopee.com.my/share?session=18198475"
],
"pollDurationMinutes": 30,
"pollIntervalSeconds": 60,
"includeProducts": true,
"maxProductsPerSession": 20
}

Mid-stream price changes

trackProductPrices re-collects every product on every snapshot, which is the only way to catch a price that moves during the broadcast — and it multiplies the product bill by the number of snapshots. Keep the window short and the product cap low.

{
"market": "PH",
"maxSessions": 5,
"pollDurationMinutes": 10,
"pollIntervalSeconds": 120,
"trackProductPrices": true,
"maxProductsPerSession": 10
}

Keyword watch across a category

{
"market": "TH",
"categoryTabs": ["Beauty"],
"maxSessions": 150,
"filterKeywords": ["serum", "sunscreen"]
}

Pricing: Pay Per Event (PPE)

Two things are billed, and only what is actually delivered:

EventPriceWhat it is
Live stream snapshot$2.99 per 1,000 (FREE plan)One stream captured at a point in time. Tracking a stream writes one snapshot per interval.
Live product$3.99 per 1,000One product pushed during a stream, with its live-only price, discount, stock and voucher codes.

Paid Apify plans pay less per stream snapshot: BRONZE $2.79, SILVER $2.49, GOLD and above $1.99 per 1,000. Streams filtered out are not charged, and there is no per-run fee beyond the Apify actor start.

Controlling the bill. Products are the larger part of a typical run, so Max products per stream is the main lever: 20 (the default) covers the pinned and promoted items most buyers want, while 0 collects everything a stream carries (popular streams run to a few hundred). If you only need stream and audience data, switch Collect products off.

Free tier: 20 runs lifetime, no credit card. Each free run returns a sample of up to 10 streams with 5 products each; time tracking is disabled on the free tier.

Good to Know

  • Market coverage is not uniform. Measured 2026-09-26, in each market's own evening:

    MarketBrowse a marketProducts per stream
    Malaysia, Thailand, Philippinesverifiedverified
    Indonesiaverifiednot available
    Singapore, Brazilreachable, but no live streams found when testednot yet verified
    Vietnam, Taiwanbrowsing not availablenot available

    Vietnam and Taiwan currently refuse the browse request, so Browse a market returns nothing there; paste stream links or follow streamers instead. Singapore and Brazil answered normally but had no streams on air during testing, so their product support is simply unknown rather than absent. The run tells you when products were unavailable instead of silently returning none.

  • A stream's product list exists only while it is on air. Finished streams and replays return the stream details, viewer and like totals, but no products. This data cannot be back-filled — collect it live.

  • Product limits. maxProductsPerSession: 0 collects all available products up to 500 per stream. Higher product limits take longer and produce more billable rows.

  • A live price is not guaranteed on every product. Sellers pin items to a stream without always setting a live price for them. When none is set, price, priceMin and priceMax come back as 0, liveDiscountPercent is null, and outOfLivePrice still tells you what the item normally costs. Filter on liveDiscountPercent != null when you only want items that are actually discounted on air.

  • Counters are point-in-time. viewerCount is who is watching at the moment of capture. Run on a schedule and the rows stack into a time series.

  • Vietnam, Singapore and Brazil carry fewer Live categories than Malaysia, Indonesia, Thailand or the Philippines, so expect thinner results there.

  • Long tracking windows are not yet field-proven. Tracking is verified on short windows; runs of an hour or more have not been measured end to end. A stream that ends mid-window stops producing rows and is not billed further, and the run still finishes cleanly, but for a first long run watch the log and set the run timeout comfortably above pollDurationMinutes.

  • Viewer counts are what Shopee reports. memberCount is cumulative joins over the stream, maxMemberCount the peak concurrent, viewerCount the current figure.

FAQ

What is Shopee Live? Shopee Live is the livestream shopping feature inside the Shopee app across Southeast Asia, Taiwan and Brazil. Sellers and creators broadcast, pin products to the stream, and offer prices that apply only during the broadcast.

Can I get the reviews or full catalogue of these products? Yes — pass the itemId and shopId to the Shopee Product Detail or Reviews scrapers listed below.

Why does a replay have no products? Shopee clears a stream's product list when the broadcast ends. Only live and scheduled streams carry one.

How do I build a time series? Either set pollDurationMinutes to watch within a single run, or schedule the actor to run repeatedly — every row carries capturedAt and sessionId, so snapshots concatenate.

Which markets are supported? Malaysia, Indonesia, Thailand and the Philippines are verified end to end. Singapore and Brazil work but had no streams live when tested. Vietnam and Taiwan currently refuse the browse request, so use stream links or streamer IDs there. See the coverage table above.

Do I need a Shopee account, cookies or a login? No. Pick a market or paste stream links and press Start.

How fast is it? A 50-stream market run with 20 products each completes in well under a minute. Tracking runs take as long as the window you set, by design.

How many streams can one run collect? maxSessions goes to 5,000. What you actually get is what is on air: a busy market carries a few hundred streams at peak, far fewer at 4am local time. Run in the market's own evening.

Why did I get fewer streams than I asked for? Because that many were live. The run log reports the figure it found, and filters (minViewers, filterKeywords, filterItemIds) cut further. Filtered-out streams are not billed.

What does maxProductsPerSession: 0 do? Collects every product a stream carries, up to an internal ceiling of 500 per stream. Popular streams run to a few hundred, so this is the setting that moves the bill most.

Can I combine a market browse with specific streamers? No, one mode runs at a time. Leave What to collect empty and the mode is derived: stream links win, then streamer IDs, otherwise it browses the market.

What happens to a stream that ends while the run is watching it? It is collected once more with status: ended, then dropped from the rotation. It is not re-billed on later snapshots, and its products are gone at that point — Shopee clears them when the broadcast stops.

How do I export the data? Open the run's Storage tab and download JSON, CSV, Excel or XML. The products live in a separate products dataset on the same run; join it to the streams on sessionId. JSON preserves the nested voucher, promotion and label objects.

Is it legal to scrape Shopee Live? This actor collects publicly visible livestream data. You are responsible for complying with Shopee's Terms of Service and applicable data protection law. Streams carry personal data — streamer usernames, display names and avatars — so treat those rows as personal data under GDPR, PDPA and LGPD.

Can I try it before paying? Yes. 20 free runs lifetime, no credit card. Each free run returns up to 10 streams with 5 products each; tracking is off on the free tier.

More Zen Studio scrapers

🛒 E-commerce

🎬 Short-video & social

🏠 Real estate & autos

Support

  • Bugs: Issues tab
  • Features: Issues tab

Extracts publicly available livestream data. Users must comply with Shopee's Terms of Service and applicable data protection regulations (PDPA across Southeast Asia, GDPR, CCPA, and LGPD for Brazil). Streams carry personal data including streamer usernames, display names and avatars.


Shopee Live data: which streams are on air, who is streaming, live audience metrics, and every product pushed on air with its live-only price, across all 8 Shopee markets.