GU Japan Prices — Typical Price and Markdown Share avatar

GU Japan Prices — Typical Price and Markdown Share

Pricing

from $20.00 / 1,000 keyword analyzeds

Go to Apify Store
GU Japan Prices — Typical Price and Markdown Share

GU Japan Prices — Typical Price and Markdown Share

Type a keyword like sweat and get what GU Japan charges for it today. Returns the typical price and lowest–highest in yen, how many items are marked down, how many were found, and the women/men/kids/unisex mix. $0.02 per keyword, no results = no charge. Unofficial.

Pricing

from $20.00 / 1,000 keyword analyzeds

Rating

0.0

(0)

Developer

h ichi

h ichi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Unofficial — independent tool, not affiliated with, endorsed by, or sponsored by GU. It reads only publicly visible pages. Support, reliability guarantees and the full disclaimer are at the bottom of this page.

What it does: Type a word like sweat and get what GU Japan charges for it today — the typical price, the lowest–highest range, and how much of it is marked down.

You enter: one or more words, e.g. スウェット or sweat; or a whole category, e.g. 2257,125256,.

You get: how many items GU Japan lists, the typical price and lowest–highest in yen and USD, how many are marked down, counts by price band, the women/men/kids/unisex mix of the items read, the rating, and GU's suggested words. Optional: one row per product.

Price: $0.02 per keyword — each word or category you enter is charged. +$0.002 per row if you also want the product list. No results = no charge.

Example: enter スウェット → 137 items found · typical ¥1,990, range ¥390–4,990 · 54 marked down (39.4%) · 32 items at ¥1,000 or less · women 28 / men 8 / kids 41 / unisex 21 of the 98 read (real run, 2026-09-09)

Unofficial — not affiliated with GU. Reads public pages only.

Pricing — $0.02 per keyword

EventPriceWhen
Keyword price summary$0.02Per keyword, and per category, analyzed
Individual listing$0.002Only if you turn on Include individual listings

A default run (1 keyword, summary only) costs $0.02, takes about 7 seconds and makes 5 requests to GU. You pay per keyword; there is no fixed monthly fee. A keyword that returns zero listings is never charged, and neither is a category that turns out to be empty. A run stops when it reaches the $3.00 Maximum cost per run — raise that in the run options, or split the run.

Input

FieldExampleNotes
keywords["スウェット"]Japanese and English both work — measured 2026-09-09, スウェット finds 137 items and sweat 74. Up to 10 words and categories per run, each charged $0.02
categoryPaths["2257,125256,"]Optional. genderId,classId,categoryId — 2256 Women, 2257 Men, 2258 Kids & Teen. GU has no Baby. The class IDs come back in categoryTree on any keyword run. Each path is its own row, charged $0.02
maxItemsPerKeyword10010–300, read 100 at a time. Sets how many product rows you can get (+$0.002 each) and how many items the women/men/kids/unisex mix is counted over
includeIndividualItemsfalseTurn on to also get one row per product (+$0.002 per row)
convertToUsdtrueAdds USD figures at the current exchange rate. A failed rate lookup never fails the run

Does a number cover every listing, or only the ones read?

Every record says so itself, so you never have to guess.

totalListingsFound, markdownCount, markdownShare, priceBands, newArrivalCount, onlineOnlyCount, limitedStoreCount, flagCounts, ratingAverage and ratedItems are GU's own totals for the whole result, not counts over a page. In the example below, 54 of all 137 items are marked down and 32 of all 137 cost ¥1,000 or less — reading 98 items did not change those numbers. ratingBasis says the same thing for the rating: measured 2026-09-09, GU returns the identical rating breakdown on a 1-item request and on a 100-item one, so it covers every matching item.

For the price ladder, priceBasis names the method:

priceBasisWhat it means
all_itemsEvery matching item was read. All six numbers, average included
rank_jumpGU's cheapest-first order holds across pages, so the item at position 34 of 137 is the one a quarter of the way up. The five prices are read straight off the result; average stays empty because no single item carries it
price_bandsThe five prices could not all be read, so the typical price is worked out inside GU's own price bands — exact at the band edges, straight-line inside a band
sampleThe numbers cover only the items read. After the last page that is nearly everything (135 of 137 in the example); before it, it is the cheapest items only

Want average too? When the whole result fits inside what you ask for (137 items here), raising maxItemsPerKeyword to 300 makes the run read it end to end instead of asking for five positions — 2 requests instead of 5, and the record comes back as sample over the 135 items GU actually served, with average filled in (measured 2026-09-09: ¥2,158, and the same five prices as the example below).

The one field that is always only a sample is genderMix, and genderMixBasis says so: GU publishes no gender totals, so the mix is counted over the items actually read (sampledListings tells you how many — 98 of 137 in the example, where UNISEX alone was 21).

When a keyword comes back empty

keywordStatus is ok as soon as GU returns items, not_found when it returns none, and unknown in the rare case where items exist but none of them is on sale yet. On anything but ok, hint names the next thing to try in one sentence (it is null otherwise). GU indexes its catalogue in both languages, so an English word that finds nothing is worth retrying in Japanese. Nothing is charged for an empty answer.

Output example (type: "price_summary")

Measured on 2026-09-09 (real run, {"keywords": ["スウェット"], "maxItemsPerKeyword": 100, "includeIndividualItems": false}). The whole record, nothing shortened — 5 requests, about 7 seconds.

{
"type": "price_summary",
"keyword": "スウェット",
"categoryPath": null,
"keywordStatus": "ok",
"totalListingsFound": 137,
"sampledListings": 98,
"uniqueProductsSampled": 89,
"priceJpy": {"min": 390, "p25": 1290, "median": 1990, "p75": 2990, "max": 4990, "average": null},
"priceBasis": "rank_jump",
"priceUsd": {"min": 2.54, "p25": 8.39, "median": 12.94, "p75": 19.44, "max": 32.44, "average": null},
"exchangeRateJpyUsd": 0.006501,
"sortUsed": "price_asc (sort=2)",
"markdownCount": 54,
"markdownShare": 0.3942,
"newArrivalCount": 6,
"onlineOnlyCount": 27,
"limitedStoreCount": 14,
"flagCounts": {"comingSoon": 23, "preSales": 1, "salesStart": 6, "newSKU": 1, "discount": 54, "onlineOnly": 27, "extraLargeStoreOnly": 53, "limitedStore": 14, "colorSizeLimitedPrice": 11, "unisex": 38},
"priceBands": [
{"from": 0, "to": 500, "count": 1},
{"from": 500, "to": 1000, "count": 31},
{"from": 1000, "to": 2000, "count": 51},
{"from": 2000, "to": 3000, "count": 40},
{"from": 3000, "to": 4000, "count": 13},
{"from": 4000, "to": 5000, "count": 1},
{"from": 5000, "to": null, "count": 0}
],
"genderMix": {"women": 28, "men": 8, "kids": 41, "unisex": 21},
"genderMixBasis": "sample",
"ratingAverage": 4.39,
"ratedItems": 101,
"ratingBasis": "all_items",
"relatedKeywords": ["スウェットパンツ", "ヘビーウェイトスウェット", "スウェット Tシャツ", "スウェットジョガーパンツ", "ヘビーウェイトスウェットパンツ", "ヘビーウェイトスウェットパーカー"],
"categoryTree": {
"genders": [
{"id": 2256, "name": "WOMEN"},
{"id": 2257, "name": "MEN"},
{"id": 2258, "name": "KIDS・TEEN"}
],
"classes": [
{"id": 36371, "name": "パンツ"},
{"id": 36372, "name": "スカート"},
{"id": 36369, "name": "Tシャツ・カットソー"},
{"id": 125267, "name": "スウェット"},
{"id": 94706, "name": "ニット・カーディガン"},
{"id": 36373, "name": "ルームウェア・パジャマ"},
{"id": 153593, "name": "羽織り"},
{"id": 147749, "name": "2026秋冬コレクション"},
{"id": 36380, "name": "パンツ"},
{"id": 36379, "name": "Tシャツ・カットソー"},
{"id": 125256, "name": "スウェット"},
{"id": 36381, "name": "ルームウェア・パジャマ"},
{"id": 153610, "name": "羽織り"},
{"id": 147848, "name": "2026秋冬コレクション"},
{"id": 36386, "name": "キッズ Tシャツ・スウェット・ニット"},
{"id": 36388, "name": "キッズ パンツ・スカート"},
{"id": 36385, "name": "キッズ アウター"},
{"id": 36390, "name": "キッズ ルームウェア"},
{"id": 52843, "name": "TEEN(ティーン)"},
{"id": 148135, "name": "2026秋冬コレクション"}
]
},
"truncatedForTimeLimit": false,
"hint": null,
"sourceUrl": "https://www.gu-global.com/jp/api/commerce/v5/ja/products?q=%E3%82%B9%E3%82%A6%E3%82%A7%E3%83%83%E3%83%88&limit=100&offset=0&sort=2&httpFailure=true",
"checkedAt": "2026-09-09T02:11:36.565547+00:00"
}

categoryTree is there so you can go one level deeper without guessing: pick a gender ID and a class ID out of it and put "2257,125256," in categoryPaths for Men's sweatshirts.

With Include individual listings on you also get one row per product, type: "item": productId, name, priceJpy, isMarkedDown, markdownSince, flags, gender, ratingAverage, ratingCount, colorCount, sizeCount and url. The same run above with the toggle on returned 89 product rows next to the summary.

What this Actor does not do

  • No discount percentage. GU's listing pages do not carry the pre-markdown price — promo and base are the same number even on a marked-down item. So you get whether an item is marked down and when the markdown started, never "40% off"
  • No sold prices. GU is a shop: these are the prices you would pay today, not what something sold for
  • No stock counts and no store availability. GU publishes neither in its listings; limitedStoreCount only counts items GU itself labels as sold in some stores only
  • No pictures and no product descriptions. GU sends an image block with every listing and it is dropped on the way out — you get only the facts above and the link to the product page
  • No item rows by default. The product is the summary; individual products are opt-in and separately priced
  • No English labels invented for GU's own tags. flagCounts keeps GU's codes as GU writes them, because the same code means different things on different Fast Retailing sites — extraLargeStoreOnly is GU's tag for recycled material
  • Nothing is stored. Every run reads the site live; nothing is kept between runs
  • No personal data. GU is a single retailer — there are no third-party sellers, and review text is never read

Notes on the data

  • The item count is GU's own, and it is exact. totalListingsFound is the number the site itself reports for the search: 137 for スウェット on 2026-09-09
  • GU serves fewer items than it counts. Asking for 100 items returned 98, and the next page returned 37 — 98 + 37 = 135, not 137. So sampledListings is what actually arrived, it can stay below totalListingsFound even after reading every page, and pages step by the number asked for rather than by the number returned
  • A position on a short page is not a position in the result. Because of the above, the typical price and the range are read by asking GU for the item at each position directly (positions 34 / 68 / 102 / 136 of 137; position 0 is the first item of the page). Measured 2026-09-09, those five answers — ¥390 / 1,290 / 1,990 / 2,990 / 4,990 — are exactly what reading all 135 served items gives
  • It counts listings, not products. The same product appears under several price groups, so 98 listings on one page were only 89 distinct products. uniqueProductsSampled gives the second number, and product rows are counted once each — you are never billed twice for the same product
  • markdownSince is the time GU started the markdown, converted to UTC. There is no end date on an open-ended markdown
  • Ratings come from GU's own breakdown of the whole result, in half-star steps, so ratingAverage is the average over those steps. Items nobody has reviewed are left out — ratedItems says how many of the items found carry a rating at all (101 of 137 in the example)
  • priceBands counts items in each band exactly as GU publishes them (¥1,000–2,000 held 51 items). The counts add up to totalListingsFound, and the last band with "to": null is everything from ¥5,000 up
  • flagCounts passes through every label GU returns, including ones this tool does not name separately (comingSoon, preSales, colorSizeLimitedPrice…), so a new label never disappears quietly
  • categoryTree.classes is a flat list — the same class name appears under several genders with different IDs (125267 is Women's sweatshirts, 125256 is Men's)
  • The data is UTF-8 JSON from GU's own listing API; a page holds at most 100 items. Requests are spaced at least 1.5 s apart, one run never sends more than 15 of them, and a run also carries a wall-clock budget; if either runs out, later keywords are read over fewer pages and their records carry truncatedForTimeLimit: true
  • A blocked read is never reported as an empty result. If GU answers with anything other than its normal JSON — an error body, a bad status, a redirect off gu-global.com — the run fails and names the status and the URL

If something goes wrong

  • Wrong number or a failed run? Open a ticket on the Issues tab. I read every one and reply within 2 business days (Japan time).
  • You never get a fake "empty" result. If the site can't be read, the run fails and says so.
  • No results = no charge. You only pay for results you actually get.
  • Checked every week. An automatic test runs this tool weekly; if the site changes, I fix it.
  • Public pages only. No login, no personal data, and it goes easy on the site.

More tools by the same author

All tools (Japan marketplaces, real estate, jobs, racing, prediction markets): https://apify.com/jpmarketdata

Disclaimer

Unofficial, independent tool — not affiliated with, endorsed by, or sponsored by GU. Product names and logos belong to their owners and only say where the data comes from. Data is read from public pages, for market research; check before you act on it.