Yodobashi Scraper at a glance
Yodobashi Scraper is a ready-to-run Apify actor from abotapi for collecting web data. Its documented output includes product id, url, product, brand and maker, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Web data
- Pricing
- $2.00 per 1,000 results (Free plan), from $1.00 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 26 options
Scrape yodobashi.com electronics and appliances: JPY price, list price and discount, reward points, stock and delivery, images, specifications, variants and customer reviews. Search by keyword with the store's own category, brand, price and sort filters, or paste product, category and search URLs.
What Yodobashi Scraper: Prices, Points, Specs & Reviews can do
- Two ways to find products. Search by keyword with the store's own filters (category, brand, price range, sort), or paste product, category, brand and search links exactly as you copied them.
- Price and reward points kept separate. Price, list price, discount and Gold Point reward value are their own fields, never folded together, so a monitoring feed never has to guess what a number includes.
- Optional per-product enrichment. Full description, complete specification table, image gallery, per-variant pricing and stock, and customer reviews are switched on only when you need them, and each enriched product adds one enrichment charge no matter how much extra data it carried back.
- Built for schedules. Incremental mode returns only new and changed products on recurring runs, and a refused run fails loudly instead of returning an empty dataset.
- Promoted tiles never bill you. Advertising slots on search and category pages are excluded from the dataset and never charged, so your row count always matches the store's own result count.
- Japan-only scope, done honestly. Every price is JPY and there is no unused country selector, because Yodobashi itself runs a single Japan-only storefront.
Choose what to collect
These inputs let you configure Yodobashi Scraper: Prices, Points, Specs & Reviews. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | How to find products. 'search' runs keyword searches with the store's own filters; 'url' takes Yodobashi product, category, brand or search URLs exactly as you paste them. |
queriesarray | Keywords to search for (Search mode only). Japanese and English both work. Each keyword runs its own paginated search and the results are combined. Leave empty if you only want to browse a category or a brand. |
categoryPathstring | Restrict the search to one category branch (Search mode only). Paste a Yodobashi category URL, its id path (for example 19055/19063/206005 from https://www.yodobashi.com/category/19055/19063/206005/), or the category's exact name as shown on the site, such as デジタルカメラ (letter case and full-width or half-width forms do not matter; no fuzzy match). A name that matches nothing, or two different categories, stops the run with a clear NAME_NOT_RESOLVED message. Leave empty to search the whole store. |
makerIdstring | Restrict the search to one brand (Search mode only). Enter the 10-digit maker id from a Yodobashi brand link (for example 0000001851 from https://www.yodobashi.com/maker/0000001851/), or the brand's exact name as shown on the site, such as パナソニック or ASUS (letter case and full-width or half-width forms do not matter; no fuzzy match). A name that matches nothing stops the run with a clear NAME_NOT_RESOLVED message. Leave empty for all brands. |
minPriceinteger | Lowest price to include, in Japanese yen (Search mode only). Leave empty for no minimum. |
maxPriceinteger | Highest price to include, in Japanese yen (Search mode only). Leave empty for no maximum. |
sortBystring | Result ordering as offered by the store (Search mode only). Leave on the store default to keep Yodobashi's own popularity ranking. |
Show 19 more inputs
| Input | What it controls |
|---|---|
includeDiscontinuedboolean | Off by default, matching the store's own default of hiding products it no longer sells. Turn on to also return discontinued items, which widens the result set considerably. |
urlsarray | Paste Yodobashi URLs (URL mode only). A product page (/product//) returns that one product; a category, brand or keyword-search URL returns the products it lists, up to your limits below. The filters above are ignored here because your URL already carries its own. If you leave this field out of the input in URL mode (for example in an API call that omits it), the built-in example of each supported link type runs; an empty list runs nothing. The shipped default list holds one example of each distinct link type, so each example returns its own products (the /p2/ example starts from page 2 of the same keyword search as the page 1 example). The suggestion list also offers the legacy /ec/product// form and the /product-detail// form, which point at the same product as /product// and return it once, and a category page-N link with a search word. Product links in the /review/ and sp. mobile forms are read as the plain product page. Links that cannot be served (a category page-N link without a search word, an sp. listing link, another domain, an unrecognised shape) are skipped and reported with an UNSUPPORTED_URL warning in the run log. |
maxItemsinteger | Cap on the number of products returned across all keywords and URLs combined. Set 0 for unlimited, bounded only by Max pages and by how many products the store actually has. |
maxPagesinteger | Optional bound on the number of result pages read per keyword or URL. Yodobashi shows up to 48 products per page. Leave empty or 0 for no page limit. |
fetchDetailsboolean | Adds the full description, the complete specification table, the whole image gallery with captions, list price and discount, category rankings, and per-variant price, points and stock. Slower, and each enriched product adds one enrichment charge. |
fetchReviewsboolean | Also returns the product's customer reviews: star rating breakdown, and per-review author, star rating, posted date, review text, helpful votes and stated purchase reason. A product with no reviews returns an empty list. Counts towards the same per-product enrichment charge. |
maxReviewsPerProductinteger | Cap on review rows attached to each product. Yodobashi server-renders its 20 most recent reviews per product page, so 20 is the practical ceiling and 0 means no cap (still at most 20); the product's full review count is always reported separately. |
resumeFromRunIdstring | Optional: paste a previous run ID (or dataset ID) from this actor. Products already collected there are skipped, so this run returns only the new ones. Leave empty for a normal run. For recurring monitoring of the same search, use Incremental mode below instead. |
incrementalModeboolean | Turn this on for recurring monitoring of the same search or URLs. The first run returns everything as NEW. Later runs normally return only NEW, UPDATED and REAPPEARED products. UPDATED means any returned field changed except the excluded ones: for example price, list price, discount, availability, stock count, rating, review count, description, specifications, images, variants, new or edited review text and the title and brand fields. Excluded (still returned in the row, never a reason to mark UPDATED): delivery date, type, message and badge (also inside variants), category rankings, the sponsored flag, the scrape timestamp, each review's helpful, vote, like and comment counters, and the order of a review's purchase reasons. State is kept separately per search (keywords or links, category, brand, price range, sort, discontinued, details and reviews switches); changing Change scope or Ignore fields keeps it. Use State key to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from run ID above. |
stateKeystring | Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently configured runs. Leave empty to let the actor derive a key from the search and filter settings, so different searches never mix state with each other. |
emitUnchangedboolean | Off by default. Turn on to also return products that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you want the full snapshot every run. |
emitExpiredboolean | Off by default. Turn on to also return products that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search, so never when Max products or Max pages capped it, when Resume was used, or when a page could not be read. This returns, and bills, extra synthetic rows. |
changeScopestring | All fields (default) marks a product UPDATED when any compared field changes. Price and availability only compares just the price, list price, discount, availability, in-stock flag and store stock count (also per variant) so image, description and rating changes never create a billable row. |
compactUpdatesboolean | Off by default. Turn on to return UPDATED and EXPIRED rows as slim rows: product id, URL, title, current price and availability, plus priceChanges and variantChanges with the old and new values. NEW rows stay complete. A compact row carries no detail-only data, so it does not add a Detail enrichment charge. |
expireAfterMissedScansinteger | With Emit expired products on, a product is marked EXPIRED only after it was missing from this many consecutive complete scans (default 1). EXPIRED means it was no longer found in the listing; without opening each product page a listing drop and a delisting look the same, so check the availability fields for stock. |
ignoreFieldsForChangesarray | Field names that must not make a product UPDATED, for example goldPoints or reviewCount. A dotted path such as variants.image ignores that key inside every variant while the rest of each variant is still compared. The fields stay in the returned row. Changing this list keeps your saved state: stored products are compared again under the current list, so it never causes a wave of UPDATED rows. |
mcpConnectorsarray | Optionally send the scraped results into apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify, Settings, Integrations, then select it here. The connector receives a condensed, human-readable summary per product, not the full JSON; the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com). |
notionParentPageUrlstring | URL (or id) of the Notion page under which product pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap on products written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
skuProduct ID (text)urlURL (link)titleProduct (text)brandBrand (text)makerNameMaker (text)currencyCurrency (text)pricePrice (number)listPriceList price (number)discountAmountDiscount (number)discountPercentDiscount % (number)goldPointsReward points (number)goldPointRatePercentPoints % (number)Show 29 more fields
goldPointValuePoints value (number)availabilityAvailability (text)inStockIn stock (boolean)isDiscontinuedDiscontinued (boolean)storeStockCountStores with stock (number)deliveryMessageDelivery (text)ratingRating (number)reviewCount# Reviews (number)reviewsReturnedReviews returned (number)variantCount# Variants (number)categoryBreadcrumbCategory (array)releaseDateReleased (text)thumbnailImage (image)changeTypeChange (text)changedFieldsChanged fields (array)firstSeenAtFirst seen (text)lastSeenAtLast seen (text)descriptionDescription (text)specificationsSpecifications (object)mediaGalleryMedia gallery (array)variantsVariants (array)reviews.reviewIdReview ID (text)reviews.authorAuthor (text)reviews.ratingRating (number)reviews.postedAtPosted (text)reviews.bodyReview (text)reviews.helpfulYesCountHelpful (number)reviews.helpfulVoteCountVotes (number)reviews.purchaseNotePurchase note (text)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"sku": "100000001000045035",
"url": "https://www.yodobashi.com/product/100000001000045035/",
"title": "Sample Digital Camera XR100",
"brand": "SampleBrand",
"makerName": "Sample Maker Co.",
"makerId": "0000001851",
"currency": "JPY",
"price": 98000,
"listPrice": 120000,
"discountAmount": 22000,
"discountPercent": 18.3,
"goldPoints": 980,
"goldPointRatePercent": 10,
"goldPointValue": 980,
"availability": "In stock",
"inStock": true,
"isDiscontinued": false,
"storeStockCount": 3,
"deliveryMessage": "Arrives by a promised date",
"categoryBreadcrumb": [
"Cameras",
"Mirrorless Cameras"
],
"releaseDate": "2026-03-15",
"thumbnail": "https://example.com/sample-thumbnail.jpg",
"rating": 4.3,
"reviewCount": 128,
"ratingBreakdown": {
"1": 5,
"2": 6,
"3": 15,
"4": 32,
"5": 70
},
"variantCount": 3,
"scrapedAt": "2026-08-27T00:00:00+00:00"
}Ways to use this data
- Price and reward-point monitoring: track price, list price, discount and Gold Point value changes on the electronics you sell or buy.
- Catalogue and inventory research: pull full specifications, images and per-variant pricing for competitive analysis or a product feed.
- Review and reputation tracking: collect customer reviews and rating breakdowns for products you manufacture or resell.
- Availability and stock alerts: watch store stock counts and availability wording for in-demand or hard-to-find electronics.
- Category and brand audits: walk a whole category branch or brand catalogue to check coverage, pricing consistency or new releases.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does Yodobashi Scraper return?
The documented output for Yodobashi Scraper includes product id, url, product, brand, maker, currency, price and list price. Availability of each field depends on the source page and the selected mode.
How much does Yodobashi Scraper cost?
It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Can I get only new or changed products on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new and updated products, and unchanged ones are not billed by default.
Why did a run push more products than the Maximum products I set?
Incremental mode does not apply Maximum products as a hard cap on a single page of results, and EXPIRED tombstones (when Emit expired products is on) are limited to the headroom Maximum products leaves after the run's other rows; any further EXPIRED products wait for a later run, once that run has provably scanned its whole scope. See the tips under How to Use for the exact trigger and a workaround.
Why might a product be missing from my results even though it is still on the store?
Outside incremental mode, if a single run uses more than one keyword or URL that can return the same product, and Maximum products cuts one of those searches before its own natural end, that product can be dropped from the whole run rather than being picked up by a later, uncut search. See Cap and scope tips under How to Use for a workaround.
Why did my run fail instead of returning an empty dataset?
If the store's answers could not be read at all, the run stops with a clear message so "no matches" is never confused with "nothing could be read". Run it again in a few minutes. If only some products or pages could not be read, you still get what was found.
