Marketplace pricing and availability monitoring
Mit Wish-Endpunkten verwandelst du marketplace pricing and availability monitoring in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Turn Wish's own internal marketplace data into structured JSON — keyword product search with real offset-based pagination, and per-product detail with pricing, sold-out state, aggregate rating, images, and every purchasable size/color/merchant variation, all as normalized JSON. Credential-free.
Search Wish's product catalog and get full product detail — pricing, availability, images, and every purchasable variation — as structured JSON.
Endpunkt-Familien
4
Dokumentierte Parameter
15
Beispiele
6
Live-Katalog-Snapshot
Aktive Endpunkte
6
Methoden
GET
Pflichtparameter
11
Schema-Referenzen
6
{
"platform": "Wish",
"endpoint": "wish-search",
"method": "GET",
"path": "/wish/search",
"auth": "apiKey"
}Use Cases
Search Wish's product catalog and get full product detail — pricing, availability, images, and every purchasable variation — as structured JSON.
Mit Wish-Endpunkten verwandelst du marketplace pricing and availability monitoring in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Wish-Endpunkten verwandelst du product catalog research in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Wish-Endpunkten verwandelst du merchant and variation tracking in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Managed Execution
Jede Zahl unten stammt direkt aus dem Live-Wish-Endpunktkatalog — 6 Endpunkte, 15 dokumentierte Request-Parameter und 6 veröffentlichte Response-Schemas — demselben Katalog, gegen den auch Docs und Playground laufen.
6 documented Wish endpoints, grouped into 4 request families — Product, Categories and Search, plus 1 more.
15 request parameters are documented across those Wish endpoints, 11 of them required — the full input contract is public before you write any integration code.
6 of the 6 Wish endpoints ship a recorded example response, and 6 carry a documented response schema — you can code against the real JSON before the first request.
Wish endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
6 hosted MCP tools back the Wish endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Abdeckungskarte
Diese Karten werden aus dem aktiven Endpunktkatalog generiert, damit die Landingpage dieselbe API-Oberfläche widerspiegelt, die auch Docs und Playground nutzen.
/wish/product/{id}
/wish/categories
/wish/search
/wish/suggest
Endpunktkatalog
/wish/searchSearches Wish's product catalog by keyword, with real offset-based pagination. Returns normalized products with price, currency, rating, review count, and merchant id. A query with no matches returns a normal, empty result rather than an error.
Hinweise zur Response
- Pagination is real, but Wish's own backend requires each subsequent page to be requested with the same `count` used on the first page of that sequence -- this endpoint replays that pattern internally, so a nonzero `offset` costs one extra upstream request per page walked. `next_offset` is the offset to request for the next page; `has_more` is `true` while more results remain. An `offset` that is not an exact multiple of `count`, or exceeds the reachable depth for the given `count`, returns `400` before any upstream request is made -- increase `count` to reach deeper pages in fewer steps. - A query with no matches returns a normal `200` with an empty `products` array and `has_more: false`, not an error. - `price` and `currency_code` reflect the requester's own localized pricing (e.g. a Hong Kong-geolocated request sees `HKD` prices); they are not always US dollars. - `rating` and `review_count` reflect the product's current aggregate rating; a brand-new product with no reviews yet returns `0` for both rather than an error. Example response: ```json {"code":200,"msg":"OK","data":{"query":"shoes","count":30,"offset":0,"result_count":3,"next_offset":30,"has_more":true,"products":[{"product_id":"68b46c0356ea5dba05e9f755","name":"Waterproof Leather Casual Sneakers for Men, Lightweight Breathable Walking Shoes, Fashion Athletic Running Shoes","price":129.74,"currency_code":"HKD","rating":5,"merchant_id":"68ad644a332a553b38e113ec","image_url":"https://canary.contestimg.wish.com/api/webimage/68b46c0356ea5dba05e9f755-medium.jpg","url":"https://www.wish.com/product/68b46c0356ea5dba05e9f755"}],"source_url":"https://www.wish.com/api/feed/get-search-universal-feed","fetched_at":"2026-08-10T10:00:00Z"}} ```
MCP-Tool wish_search
/wish/product/{id}Returns one Wish product's full detail: name, description, sold-out state, aggregate rating, image URLs, and every purchasable variation with its own price, currency, inventory, and merchant. id is taken from a search result's product_id field or a product page's URL. An unrecognized id returns 404.
Hinweise zur Response
- `rating`/`rating_count` are the product's own aggregate rating. A brand-new product with no reviews yet returns `0` for both rather than an error. - `variations` lists every purchasable size/color/merchant combination of the product -- a single-SKU product still returns a one-element list. Each variation carries its own `price`, `currency_code`, `inventory`, and merchant fields. - `is_sold_out` reflects the product's current availability. - An unrecognized `id` returns `404`. A malformed `id` returns `400` before any upstream request is made. Example response: ```json {"code":200,"msg":"OK","data":{"product_id":"68b46c0356ea5dba05e9f755","name":"Waterproof Leather Casual Sneakers for Men, Lightweight Breathable Walking Shoes, Fashion Athletic Running Shoes","description":"Product Category: Casual Sports Shoes\nStyle: Sports\nFunction: Waterproof","is_sold_out":true,"images":["https://canary.contestimg.wish.com/api/webimage/68b46c0356ea5dba05e9f755-large.jpg"],"variations":[{"variation_id":"68b46c0356ea5dba05e9f750","price":129.74,"currency_code":"HKD","merchant_id":"68ad644a332a553b38e113ec","merchant_name":"urbandailyselect10"}],"url":"https://www.wish.com/product/68b46c0356ea5dba05e9f755","source_url":"https://www.wish.com/api/get-product-detail-page","fetched_at":"2026-08-10T10:00:00Z"}} ```
MCP-Tool wish_product
/wish/categoriesReturns Wish's own top navigation/category tree (e.g. "Popular", "Deals Hub", "Fashion", "Gadgets") plus each category's nested filter groups (e.g. Color, Rating) where present. This is a static, site-wide taxonomy -- it takes no input and its result does not vary by search term or category.
Hinweise zur Response
- Each category's `filter_id` is Wish's own stable identifier for that nav tab. - `is_main_tab` marks the small set of primary tabs Wish's own header nav highlights (e.g. "Popular", "Deals Hub", "Recently Viewed") versus the longer tail of secondary category tags. - Most categories return an empty `filter_groups` list; only "Popular" (Wish's own default/landing tab) was observed carrying nested filter groups such as Color and Rating. Example response: ```json {"code":200,"msg":"OK","data":{"categories":[{"name":"Popular","filter_id":"tabbed_feed_latest","is_main_tab":true,"filter_groups":[{"id":"Color","name":"Color","icon_url":"https://main.cdn.wish.com/web/9a9befad15d4/img/filtered_feed/filter_feed_filter_color.png","filters":[{"name":"Blue","filter_id":"color_53dc217e21a8632b3c6e0735","is_quick_filter":false,"is_toggle":false,"default_selected":false}]}]},{"name":"Deals Hub","filter_id":"dealshub_flashsale","is_main_tab":true,"filter_groups":[]},{"name":"Fashion","filter_id":"tag_53dc186321a86318bdc87ef8","is_main_tab":false,"filter_groups":[]}],"source_url":"https://www.wish.com/api/feed/get-filtered-feed-categories","fetched_at":"2026-08-12T10:00:00Z"}} ```
MCP-Tool wish_categories
/wish/product/{id}/relatedReturns a Wish product's related-item rails: shelves of similar products, grouped by rail (e.g. general similar items, a faster-shipping-eligible subset). id is taken from a search result's product_id field or a product page's URL. A faster-shipping rail with no eligible items, or a nonexistent id, returns a normal, empty result rather than an error.
Hinweise zur Response
- `shelves` always includes a `similar` rail (general related items) and, when eligible items exist, an `express` rail (a faster-shipping-eligible subset). `feed_mode` on each shelf identifies which rail it is; `title`/`subtitle` are Wish's own display text when available. - The `express` rail can be a well-formed, empty shelf (`items: []`, `has_more: false`) for a product with no faster-shipping-eligible similar items -- this is normal, not an error, and `shelves` may then contain only the `similar` rail. - A malformed `id` returns `400` before any upstream request is made. An unrecognized (but well-formed) `id` returns a normal `200` with an empty `similar` shelf rather than an error -- Wish's own related-items source does not distinguish an unknown product id from a known one. - `price` and `currency_code` reflect the requester's own localized pricing (e.g. a Hong Kong-geolocated request sees `HKD` prices); they are not always US dollars. Example response: ```json {"code":200,"msg":"OK","data":{"product_id":"68b46c0356ea5dba05e9f755","shelves":[{"feed_mode":"similar","title":"Similar Items","has_more":true,"items":[{"product_id":"5d795cac54553612b72abd6c","name":"New 2pcs Disc Detainer Locksmith Tools Lock Picks Set Padlock Tool","price":59.64,"currency_code":"HKD","rating":5,"merchant_id":"56cddd431e15ff78d61e0041","image_url":"https://canary.contestimg.wish.com/api/webimage/5d795cac54553612b72abd6c-normal.jpg","url":"https://www.wish.com/product/5d795cac54553612b72abd6c"}]},{"feed_mode":"express","title":"Faster Shipping","subtitle":"Similar Items with 5-7 Day Shipping","has_more":false,"items":[]}],"source_url":"https://www.wish.com/api/related-feed/get","fetched_at":"2026-08-11T13:56:00Z"}} ```
MCP-Tool wish_product_related
/wish/product/{id}/reviewsReturns a Wish product's normalized customer reviews. id is taken from a search result's product_id field or a product page's URL. A product with zero reviews returns a normal, empty result rather than an error. A caller wanting more reviews should re-request with a larger count -- this endpoint does not support an offset/cursor parameter, since the upstream source does not support one.
Hinweise zur Response
- This endpoint does not support an offset/cursor parameter. A caller wanting more reviews should re-request with a larger `count` -- the upstream source does not support a working paging cursor, so exposing one here would promise pagination this endpoint cannot deliver. - `has_more` reflects the upstream's own signal for whether more reviews exist beyond the returned `count`. - A product with zero reviews returns a normal, empty result (`result_count: 0`) rather than an error. - An unrecognized `id` returns `404`. A malformed `id` returns `400` before any upstream request is made. Example response: ```json {"code":200,"msg":"OK","data":{"product_id":"5c204af997fd253055250a4d","count":10,"result_count":10,"has_more":true,"reviews":[{"id":"5f9010f5e7e021e9388e830c","rating":5,"comment":"Beautiful ","upvote_count":2,"image_ids":["5f91a50bffa216889a593953"],"created_at":"2020-10-21T10:44:05+00:00","user_name":"Cassandra Mae","user_country_code":"US"}],"source_url":"https://www.wish.com/api/mobile/get-product-ugc-ratings","fetched_at":"2026-08-11T10:00:00Z"}} ```
MCP-Tool wish_product_reviews
/wish/suggestReturns Wish's own search-suggestion (typeahead) result for a partial search term: a flat list of suggested search terms, no product data. A partial term with no matches returns a normal, empty result rather than an error.
Hinweise zur Response
- There is no pagination -- `suggestions` is a single flat list. - A partial term with no matches returns a normal, empty result (`count: 0`, empty `suggestions`) rather than an error. Example response: ```json {"code":200,"msg":"OK","data":{"query":"shoe","count":10,"suggestions":["shoes for men","shoes for women","shoe storage organizer","shoe rack","shoe horn","shoe rack organizer","shoe laces","shoei x 14","shoe goo","shoe covers"],"source_url":"https://www.wish.com/api/search/autcomplete","fetched_at":"2026-08-11T10:00:00Z"}} ```
MCP-Tool wish_suggest
Verwandte APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
So scrapst du Wish
Wish's storefront categories split into four main tabs plus sixteen thematic tags such as Gadgets, Pet Accessories, and Automotive, each with its own Color and Rating filter groups. A 2026-09-24 pull of "wireless earbuds" returned six live listings from $7.57 to $17.27, five of them from the same merchant account, urbandailyselect7 — a clustering pattern worth watching if deduplicating sellers. Crawlora's six Wish endpoints turn that catalog, plus product detail, reviews, related shelves, and typeahead, into normalized JSON with one API key. Wish itself has run under Singapore's Qoo10 since it bought Wish's operating assets for roughly $161 million in April 2024.
Send a query to /wish/search for offset-based pages of normalized listings: price, currency, star rating, review count, and merchant id. A 2026-09-24 run of "wireless earbuds" returned six listings on the first page, with has_more set for further pages.
Call /wish/categories for Wish's four main tabs (Popular, Express, Deals Hub, Recently Viewed) and sixteen thematic tags like Fashion, Gadgets, and Wallets & Bags, plus Color and Rating filter groups nested under Popular.
Pass a 24-character hex id to /wish/product/{id} for every purchasable variation. A GT760 earbuds listing returned three color variations, all priced at $8.32, with per-variation inventory in the thousands.
/wish/product/{id}/reviews can return zero review bodies even when detail carries a nonzero rating and rating_count — the GT760 earbuds show a 5-star rating from one rater but an empty reviews array.
/wish/product/{id}/related returns similar-item rails; one pull surfaced a near-identical earbuds listing priced in Japanese yen, not USD.
/wish/suggest returns Wish's own typeahead completions for a partial query — ten phrase suggestions for "phone case," search terms only, no product data.
FAQ
count echoes the page size you asked for; result_count is how many listings actually came back on that page. A 2026-09-24 pull for "wireless earbuds" asked for ten and received six, with has_more true, so keep paging on has_more rather than on a full page.
Yes — /wish/product/{id} returns every purchasable variation with its own price, currency, inventory, and merchant. A GT760 earbuds listing carried three color variations, all $8.32, each with a different inventory count.
Not necessarily. /wish/product/{id}/reviews can return an empty array on a product that still shows a nonzero rating elsewhere — the rating aggregate and the review-text feed aren't guaranteed to stay in sync.
ContextLogic, Wish's operating company, sold substantially all of its assets to Qoo10, the Singapore-based ecommerce group, in a deal that closed April 19, 2024 for roughly $161 million.
Yes — a query with no matches returns a normal response with an empty products array, and /wish/suggest behaves the same way for an unmatched partial term.