Shopee Search Suggestions Scraper (11 Markets) avatar

Shopee Search Suggestions Scraper (11 Markets)

Pricing

from $2.20 / 1,000 results

Go to Apify Store
Shopee Search Suggestions Scraper (11 Markets)

Shopee Search Suggestions Scraper (11 Markets)

Get Shopee search suggestions for any keyword in 11 Shopee markets: suggested queries with linked product and shop IDs, product images and ranking scores, plus keyword hints, search filters and the category tree.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

0

Monthly active users

12 hours ago

Last modified

Categories

Share

Shopee Scraper: Search Suggestions, Product Signals, Discover Feed & Shop Profiles Across Shopee Markets

Get Shopee's open-face data for keywords, product seeds, the homepage discover feed, and shop profiles across 11 Shopee markets — suggested queries with linked product/shop IDs and images, related product listings (price, sold, rating, stock), the market's daily-discover feed, and shop detail/categories. No browser, no proxy setup, results in seconds.

What does this Shopee scraper do?

The Actor hits Shopee's public open API faces through a hosted worker and writes one Dataset row per suggested query, product card, or shop profile. Useful for:

  • keyword and demand research per market (fetchMode=suggestions)
  • finding the products and shops Shopee promotes for a query (suggestions + products)
  • related/recommended product listings for a seed item (products)
  • the market's homepage discover feed (discover)
  • shop profiles with in-shop categories (shop)
  • category and filter discovery (includeFilterConfig / includeCatTree)
  • seeding product-ID lists for other tools

It does not hit Shopee's signature-locked faces (search_items, pdp/get, item/get_ratings, recommend, chat/*, affiliate/*). Those return the Shopee signature gate (error 90309999) and are out of scope per the research baseline — see "Notes and limitations".

Supported Shopee countries and regions

Market codeCountry / regionShopee domain
PHPhilippinesshopee.ph
SGSingaporeshopee.sg
MYMalaysiashopee.com.my
THThailandshopee.co.th
TWTaiwanshopee.tw
VNVietnamshopee.vn
IDIndonesiashopee.co.id
BRBrazilshopee.com.br
MXMexicoshopee.com.mx
COColombiashopee.com.co
CLChileshopee.cl

You never configure a proxy: the hosted worker chooses the network route itself.


Features

  • Search suggestions per keyword and market (suggested query, linked item IDs, shop IDs, product images, ranking scores, tracking, search_info, full upstream passthrough)
  • Keyword hints with ranking fields in the SEARCH_SIGNALS record
  • Product listings related to a seed (hot_picks + triggered_rcmds realtime cards) — full price/voucher/discount/rating/stock/tier_variations fields plus the complete upstream item_card_display_*, shop_data, item_rating objects
  • Discover feed — the market's daily_discover homepage stream (product cards only, feed_total/stock surfaced)
  • Shop profiles — get_shop_detail + get_categories + resolve_shop_redirect + rating_tagfilters + optional Mall categories; includes full account and shop_data objects
  • Search filters (includeFilterConfig) and the full category tree (includeCatTree → CATEGORY_TREE record)
  • When Shopee has no data for an input the run still succeeds with 0 rows and emptyReason: NO_MATCH
  • Pay-per-event pricing: low run start fee + per-result billing

Input

FieldTypeRequiredDescription
fetchModestringnoOne of suggestions (default) | products | discover | shop. Auto-detects from itemUrl/itemId+shopId/shopId/shopUsername when unset.
keywordstringnoOne keyword, e.g. phone case. Used by suggestions, products (keyword-resolved seed) and discover; not required for shop.
keywordsstring[]noOptional keyword list. Each keyword receives its own limit allowance.
itemUrlstringnoproducts mode: Shopee product URL …-i.<shopId>.<itemId> — takes precedence over itemId/shopId.
itemIdstringnoproducts mode: explicit Shopee item id (paired with shopId).
shopIdstringnoproducts mode (with itemId) or shop mode.
shopUsernamestringnoshop mode: @username alternative to shopId.
marketstringnoShopee country/region code. Default SG.
limitintegernoMax Dataset rows per input. Default 70, max 200. Console prefill is 3.
includeFilterConfigbooleannosuggestions mode: include the search filter tree in SEARCH_SIGNALS.
includeCatTreebooleannoSave the market's full category tree to CATEGORY_TREE.
includeSearchFacetbooleannoproducts: attach the keyword's search_facet + per-item category breadcrumb (first 3 items). shop: attach the market's Shopee Mall category list.

Example inputs

Suggestions (default):

{
"keywords": ["phone case", "wireless earbuds"],
"market": "SG",
"limit": 3
}

Products related to a seed item:

{
"fetchMode": "products",
"itemUrl": "https://shopee.sg/...-i.1234567.57717808852",
"market": "SG",
"limit": 10,
"includeSearchFacet": true
}

Homepage discover feed:

{
"fetchMode": "discover",
"market": "MY",
"limit": 20
}

Shop profile (by shopId or shopUsername):

{
"fetchMode": "shop",
"shopId": "78934592",
"market": "SG",
"includeSearchFacet": true
}

Output

Every row has rowType identifying its shape: suggestion, product_listing, or shop_profile. limit is the maximum number of rows delivered and billed per input (keyword / product seed / shop). The run's combined cap is limit × input count, further bounded by the free-plan and maximum-charge budgets.

rowType="suggestion" — one row per suggested query

FieldDescription
idNormalized (NFKC + casefold) suggested keyword — the row's stable key
title / queryThe suggested search query
record_typesearch_suggestion
item_id, shop_id, product_urlThe first product Shopee links to the suggestion
suggestion_item_ids, suggestion_shop_ids, suggestion_imagesAll linked products, shops, images (≤50 each)
suggestion_item_count, suggestion_shop_count, suggestion_image_countRaw upstream list lengths (untruncated)
suggestion_tracking, trackingFull upstream tracking object (session identifiers stripped)
search_info, search_info_keysFull upstream search_info object plus sorted key names
countUpstream count value (nullable)
market, market_name, market_host, country, keyword, rank, page, absolute_rankContext
bff_info, card_type, complete_buy_info, complete_buy_queries, extra_query_condition, hint, icon_code, pic, promotion_query, query_labels, rewrite_keywordAdditional upstream GOLDEN_QUERY_KEYS fields passed through when present
price, sold_text, rating_textEmpty strings: suggestions carry no prices
source, provider, captured_atProvenance

rowType="product_listing" — one row per related/feed product

FieldDescription
id<country>:<itemId> — stable row key
titleProduct name
priceReal sell price (first non-zero of strikethrough_price → original_price → price → price_min, /1e5) — not the voucher price
voucher_discounted_priceitem_card_display_price.price /1e5 — can be 0 for a new-buyer coupon
discountUpstream discount field
recommended_platform_voucher_info, voucher_infoUpstream voucher objects
item_card_display_price, item_card_display_sold_countFull upstream objects (all keys)
currency_codeSGD/MYR/… mapped from market
sold, historical_sold, monthly_sold, stockSales/inventory counters (stock is daily_discover-only)
rating_star, rating_count, rating_count_distribution, rcount_with_context, rcount_with_image, item_ratingRatings; rating_count is the total, rating_count_distribution is the upstream per-star array, item_rating is the complete upstream object
is_sold_out, is_official_shop, is_preferred_plus_sellerBadges
liked_count, catid, category_breadcrumb, tier_variationsCounters and categorization
image, imagesProduct images (hash → cf.shopee.<mk> CDN URL)
shop_id, shop_name, shop_location, shop_icon, shop_dataShop context; shop_data is the complete upstream object
model_id, global_cat, global_brand, ctimeMisc upstream fields
product_url, source_url, image, images, market, market_name, market_host, country, keyword, rank, page, absolute_rank, seed_item_id, source, provider, captured_atContext / provenance

rowType="shop_profile" — one row per shop

FieldDescription
id<country>:<shopId> — stable row key
title, nameShop name (both keys for compatibility)
username, description, accountIdentity; account is the complete upstream account object
item_count, follower_countShop counters
rating_star, rating_good, rating_normal, rating_badAggregated ratings
response_rate, response_time, preparation_time, cancellation_rateService metrics
is_official_shop, is_preferred_plus_seller, has_flash_saleBadges
ctime, mtime, country_field, shop_location, cover, portraitMisc; country_field is the upstream data.country (renamed to avoid clash with the row's country = market code)
shop_url, product_url, source_urlURLs
shop_categories, mall_categoriesIn-shop category list (shop/get_categories) and Shopee Mall categories (official_shop/get_categories, only when includeSearchFacet=true)
shop_dataComplete upstream data object — for fields we haven't surfaced (shop_place, email_verified, is_cb, last_active_time, main_products, is_shop_manager, …)
market, market_name, market_host, country, keyword, rank, page, absolute_rank, source, provider, captured_atContext / provenance

Key-value store records

KeyContent
RUN_SUMMARYRun outcome, row count, emptyReason, worker diagnostics, per-input summaries
SEARCH_SIGNALSsuggestions mode: hints[] + filterConfiguration (with includeFilterConfig)
PRODUCT_SIGNALSproducts mode: per-input summaries
DISCOVER_SIGNALSdiscover mode: per-input summaries
SHOP_SIGNALSshop mode: per-input summaries
CATEGORY_TREEmarket, rootCount, totalNodeCount, categories (with includeCatTree)

Pricing

This Actor uses Pay per event pricing.

EventEvent namePrice
Actor Startapify-actor-start$0.005 per run
Resultapify-default-dataset-item$3.00 / 1,000 results ($0.003 each)

User pays platform usage costs: No. Compute and proxy usage are included in the Actor event price.

Tiered pricing by Apify subscription:

Tier$/1,000per result
FREE*$3.00$0.003
BRONZE$3.00$0.003
SILVER$2.60$0.0026
GOLD$2.20$0.0022
PLATINUM$2.00$0.002
DIAMOND$1.60$0.0016

Example: 1,000 product rows cost $0.005 start + $3.00 result events (FREE/BRONZE), down to $1.60 / 1,000 on DIAMOND. Platform usage is included.

More Actors like this

Need another marketplace or a different vertical? Use a dedicated Actor below for structured fields. Use this Actor for Shopee across supported markets.

Similar e-commerce scrapers

Prefer another specialized scraper?

If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic scrape.

Jobs & Freelance

Real Estate

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General tools

→ See the full catalog in Related Actors below, or browse apify.com/lentic_clockss.


How to use

  1. Open the Actor on Apify.
  2. Pick fetchMode (suggestions / products / discover / shop).
  3. Provide the seeds the mode needs (keyword/keywords, itemUrl or itemId+shopId, shopId or shopUsername).
  4. Select the target market.
  5. Set limit; tick includeFilterConfig / includeCatTree / includeSearchFacet if you want them.
  6. Run the Actor.
  7. Export the dataset as JSON, CSV, Excel, XML, RSS, or HTML.

Free Apify plan limits (set by this Actor's developer)

LimitFree Apify planPaid Apify plan
Runs of this Actor10 runs totalUnlimited
Results per runUp to 200Up to schema max (200)

When the run cap is hit, the run finishes with a clear status message — not an Apify platform error.

Worker URL is config, not code: the Actor reads WORKER_BASE_URL from Actor environment variables (plus optional per-run workerBaseUrl). If you migrate the worker to a new host, update WORKER_BASE_URL (and WORKER_AUTH if the API key changes) in Apify Console — no Actor code change required. Set WORKER_PROVIDES_PROXY=1 when the worker supplies its own proxy / Bright Data stack.

Notes and limitations

  • Signature-gated faces are out of scope. Shopee locks search_items, pdp/get, item/get, item/get_ratings, recommend, chat/*, affiliate/* behind per-request signatures (error 90309999). This Actor only hits the open faces listed in Features — it does not return full product search listings or per-item review bodies.
  • No proxy configuration. The hosted worker picks the exit for each market.
  • Some markets return fewer rows for certain keywords or seeds. Shop detail, daily_discover and hot_picks coverage is market-specific.
  • Suggestion rows are search signals, not matching product listings. query is the suggested text, title is its compatibility alias, record_type=search_suggestion. price/sold_text/rating_text are empty strings.
  • Upstream session identifiers are stripped from tracking before writing (ss_session_id, session_id, sessionid); the rest of tracking and search_info pass through verbatim.
  • Null vs empty: count may be null upstream. stock is only populated by daily_discover. rating_count is the total; the upstream per-star array is rating_count_distribution.
  • Field conflicts resolved: upstream data.country is exposed as country_field on shop_profile rows so it doesn't collide with the row's country (= the market code).
  • Auxiliary data errors don't fail the run. Failures on search_hint / search_filter_config / category_tree / search_facet / shop_categories / mall_categories are reported via hintError / filterConfigError / catTreeError / searchFacetSubErrs diagnostics or partial: true.
  • Malformed rows are skipped and counted as contractDropped. When Shopee returns no rows at all the run succeeds with 0 rows and emptyReason: NO_MATCH; when every returned row is malformed the run fails.
  • The Actor extracts public search-result information; use the data responsibly and respect applicable laws and Shopee terms.

FAQ

Why did my free-plan run stop with a limit message?

Free Apify plan users can run this Actor up to 10 times, with up to 200 results per run. These caps are set by the Actor developer, not Apify. Upgrade to a paid Apify plan for unlimited runs (schema limit still applies per input).

Which Shopee countries are supported?

Philippines, Singapore, Malaysia, Thailand, Taiwan, Vietnam, Indonesia, Brazil, Mexico, Colombia, and Chile.

Do I need to choose a proxy country?

No. Select the Shopee market; the hosted worker picks the network route. Proxy settings are not part of the input.

Can I run it on a schedule?

Yes. Use Apify schedules to monitor keywords over time for price tracking, competitor monitoring, or product research.

Can I use it from code?

Yes. You can run the Actor from the Apify API, the Apify JavaScript/Python clients, CLI, integrations, or MCP tools.

Is this a Shopee API?

It is not an official Shopee API. It reads Shopee's public open faces and returns structured rows.

All 77 public Actors from [lentic_clockss]. Click a name to open the Store detail page.

Jobs & Freelance

Real Estate

E-commerce

Travel & Stays

Social & Content

Ads Intelligence

Local & Maps

General Tools

→ Browse the full profile: apify.com/lentic_clockss