TypeScript 61.9%
HTML 37.2%
SQL 0.7%
1# hareruya23Hareruya (晴れる屋, hareruyamtg.com) — Japan's largest MTG shop, EC-CUBE storefront with an English UI.45- Card sets: `<select name="cardset">` of the public search form `https://www.hareruyamtg.com/en/products/search` (no query string).6- Listings: the JSON endpoint the search page itself loads, `GET /en/products/search/unisearch_api?fq.category_id=1&fq.cardset=<id>&fq.price=1~*&rows=60&page=<n>` → docs with product id, `《Name》[SET]`, card_name, language code, JPY price, foil flag, stock, weekly_sales, product_class, condition code.78robots.txt disallows the HTML result pages with `page=`/`sort=`/`order=` — we never request those; only the JSON endpoint, ≥ 4 s apart.910Output: `listing` (JPY, seller Hareruya, `Foil` variant, language from the code table, condition left null — the numeric code goes to `metadata.condition_code`). Cursor `{ setIdx, page }`; incremental = `setsPerRun` newest sets, backfill = all (site caps a query at 4 000 results).11Fixtures: `pnpm tsx connectors/api/hareruya/_capture.ts`.12