MonotaRO Scraper | Japan MRO Products & Prices avatar

MonotaRO Scraper | Japan MRO Products & Prices

Pricing

from $2.20 / 1,000 results

Go to Apify Store
MonotaRO Scraper | Japan MRO Products & Prices

MonotaRO Scraper | Japan MRO Products & Prices

Extract MonotaRO Japan products, public prices, SKU details, reviews and category or brand data. Export rows as CSV, Excel or JSON; pay per delivered row plus a start fee. Unofficial tool.

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

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

MonotaRO Scraper

Extract Japan's MonotaRO industrial product catalog, public prices, SKU details and reviews as rows you can export.

  • Search by keyword, category or brand.
  • Read product groups, individual SKUs and product reviews.
  • Discover category and brand IDs, delivery companies and promotions.
  • Export company-level contact fields where available.
  • Pay $3.00 per 1,000 delivered rows on the Free plan, plus a small start fee.

What does MonotaRO Scraper do?

MonotaRO Scraper collects public data from www.monotaro.com for procurement research, price comparisons and catalog enrichment. It covers Japan, not overseas MonotaRO catalogs. Prices are public guest prices, not member or contract prices.

  • Product modes: search, category, brand, group, sku and catalog return product or SKU rows.
  • Reviews: review returns a summary and individual reviews where available.
  • Directories: categories, delivery-companies, promos and corporate-leads return the corresponding rows.
  • Optional details: enrichDetails adds group details to listings. expandVariants adds separate SKU rows when variants are available. Both are off by default. Each extra SKU row is billed at the same rate as any other row and uses the same row allowance.

What data can you extract from MonotaRO?

Each row has a string id, a rowType and scrapedAt. Fields differ by row type; missing source values remain empty. The examples below illustrate field formats, not current prices or offers.

Product rows (product)

FieldDescriptionExample
productCodeProduct group identifier10127
productNameProduct name作業用手袋
brandNameDisplayed brandモノタロウ
salesPriceGuest price excluding tax, in yen399
taxPriceGuest price including tax, in yen438
itemCountSource SKU count for the group4
urlProduct pagehttps://www.monotaro.com/g/00010127/

SKU rows (item)

FieldDescriptionExample
monotaroNoOrdering code for one SKU02621418
parentProductIdParent identifier on expanded variants10127
specsSpecifications when supplied{}

Review summary rows (review-summary)

FieldDescriptionExample
avgReviewRankAverage rating when shown4.5
reviewCountPublished review count120

Review rows (review)

FieldDescriptionExample
reviewIdIndividual review identifier1887877
ratingRating on a zero-to-five scale4
bodyPublished review text使いやすいです。

Category rows (category)

FieldDescriptionExample
categoryIdCategory identifier27086
nameCategory label作業手袋

Brand rows (brand)

FieldDescriptionExample
brandIdBrand identifier; name holds its label1184

Brand information rows (brand-info)

FieldDescriptionExample
brandCodeBrand identifier for descriptive information1184

Directory summary rows (taxonomy)

FieldDescriptionExample
categoryCountCategories found, not necessarily delivered100
brandCountBrands found, not necessarily delivered20

Catalog summary rows (catalog-summary)

FieldDescriptionExample
poolCountNumber of category groups available to browse100

Delivery company rows (delivery-company)

FieldDescriptionExample
delivererCodeDelivery company identifier1
inquiryUrlPublished inquiry page, if presenthttps://example.com/contact

Promotion rows (promo)

FieldDescriptionExample
campaign_codeCampaign identifier, when suppliedEXAMPLE
discount_ratePublished discount value, when supplied10

Company rows (corporate-leads)

FieldDescriptionExample
phonesCompany phone entries[{"value":"+1 555 0100","type":"phone"}]
emailsCompany email entries[{"value":"name@example.com","type":"inquiry"}]
addressCompany postal address{"full":"Example company address"}
orgOperating company{"name":"株式会社MonotaRO"}

Company contact fields can also appear on product and direct SKU rows. They identify MonotaRO, not individual product sellers. They are not attached to every directory or review row.

How to scrape MonotaRO

  1. Open MonotaRO Scraper in Apify Console.
  2. Leave mode on auto and enter one target, such as keyword.
  3. Set maxResults to 3 for a small first run.
  4. Click Start and wait for completion.
  5. Open the dataset and download it or read it through the API.

Empty input starts an example search for 手袋, limited to three rows. This example is billed normally. Filling one target selects its mode automatically. With several target types, URLs take priority, then SKU, group, brand, category and keyword. Use separate runs for different page types: the first start URL selects one mode for the run.

Use keyword or searchQueries. When both are filled, the keyword comes first and duplicate queries are removed. Japanese terms are useful; search words are not automatically translated.

Category listing

Use categoryId or a /s/c-<id>/ URL. Discover valid IDs with categories; an arbitrary number may not identify a category.

Brand listing

Use brandId or a /s/b-<id>/ URL. With brandId, a separate brand information row may use one slot of the allowance.

Product group

Use productCode or a /g/<code>/ URL. Enable expandVariants if you need separate SKU rows rather than only group information.

Single SKU

Use monotaroNo or a /p/<4>/<4>/ URL to request one ordering code's detail.

Reviews

Select review explicitly with productCode, or supply a review URL. Summary and individual review rows share the allowance.

Category and brand index

Select categories. A summary comes first, followed by categories and then brands if room remains. A small limit may return no brands.

Catalog browse

Select catalog to browse across categories. Set poolPages to limit pages per category. The summary counts toward maxResults; this mode does not guarantee a complete catalog export.

Delivery companies

Select delivery-companies; no target field is needed. This is a directory, not shipment tracking.

Promotions

Select promos; no target field is needed. Fields depend on the published campaign or banner.

Company information

Select corporate-leads for one company row. The optional corporateUrl defaults to https://corp.monotaro.com/overview.html.

What to fill in

FieldWhat to enterDefault
modeMode listed above, or automatic selectionauto
keywordOne search termEmpty; example 手袋
searchQueriesList of search termsEmpty
startUrlsMonotaRO page URLs of one typeEmpty
categoryIdNumeric category IDEmpty
brandIdNumeric brand IDEmpty
productCodeProduct group codeEmpty
monotaroNoSKU ordering codeEmpty
corporateUrlCompany overview URLStandard overview page
maxResultsMaximum rows per input, 1–500070; form example 3
pageStarting page, numbered from 11
priceMinMinimum listing price in yen, excluding taxUnset
priceMaxMaximum listing price in yen, excluding taxUnset
reviewMinMinimum review rank, 1–4Unset
sortSort code from the target pageSite default
stockIndicatorSite stock filter codeUnset
attrsAttribute filter objectEmpty
enrichDetailsAdd details to search/category/brand listingsfalse
expandVariantsAdd separate SKU rows where availablefalse
poolPagesPages per catalog category; 0 means up to 1000
proxyCountryLeave as JP; no overseas catalog selectionJP

Price, rating, sort, stock and attribute filters apply to listings. Copy stock or attribute codes from the target page; their meanings vary. Avoid combining unrelated target fields.

{"keyword":"手袋","maxResults":3}

Category

{"categoryId":"27086","priceMin":100,"priceMax":5000,"maxResults":3}

Brand

{"brandId":"1184","maxResults":3}

Group

{"productCode":"00010127","expandVariants":true,"maxResults":3}

SKU

{"monotaroNo":"02621418","maxResults":1}

Reviews

{"mode":"review","productCode":"02951381","maxResults":3}

Category index

{"mode":"categories","maxResults":3}

Catalog

{"mode":"catalog","poolPages":1,"maxResults":3}

Delivery companies

{"mode":"delivery-companies","maxResults":3}

Promotions

{"mode":"promos","maxResults":3}

Company

{"mode":"corporate-leads","maxResults":1}

maxItems and limit are accepted as aliases for maxResults. Close field-name misspellings can be corrected; other unknown fields are ignored and recorded. The INPUT_REPORT record in the default key-value store shows how input was interpreted. Invalid targets or values that fail validation stop before rows are charged, with INVALID_INPUT: <field> — <how to fix>. The start fee can still apply.

Output example

Illustrative product row; values are not a live quote:

{
"rowType": "product",
"id": "10127",
"type": "listing",
"productCode": 10127,
"productName": "作業用手袋",
"salesPrice": 399,
"taxPrice": 438,
"avgReviewRank": 4.5,
"reviewCount": 120,
"url": "https://www.monotaro.com/g/00010127/",
"country": "JP",
"scrapedAt": "2026-10-24T00:00:00+00:00"
}

Export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table. RUN_SUMMARY records the delivered count and warnings; ERROR_SUMMARY records terminal errors when available.

Why use this MonotaRO scraper?

  • Pay for delivered rows. Page visits are not the billing unit.
  • Keep delivered data. Rows already written to the dataset remain available after a stop. Partial collections can be returned, but an abrupt abort before delivery can leave no rows.
  • Match products. Group and SKU identifiers help join results across runs.
  • Inspect errors. Input errors name the field; run records explain failures or missing results.
  • Batch related inputs. Supply several keywords or URLs with a per-input allowance.
  • No proxy configuration. You do not need to set up proxies.

How much does it cost to scrape MonotaRO?

Pricing is pay-per-event. Each start event costs $0.005, with one event per GB of allocated memory and a minimum of one. At the default 512 MB, the start charge is $0.005. Platform usage is included in these prices.

Apify planStart at 512 MBPrice per rowPrice per 1,000 rows
Free$0.005$0.003$3.00
Starter$0.005$0.003$3.00
Scale$0.005$0.0026$2.60
Business$0.005$0.0022$2.20
Platinum$0.005$0.002$2.00
Diamond$0.005$0.0016$1.60
  • maxResults applies to each keyword, URL or scalar target, not the combined run. The default is 70; larger requests are collected in parts of up to 70.
  • Every row type counts, including summaries, brand information and optional variants. Three rows do not always mean three products.
  • Free Apify plan runs are capped at 200 total rows, with a developer-set allowance of 10 runs of this Actor.
  • Maximum cost per run (maxTotalChargeUsd in the API) limits the whole run, including multiple inputs.

Example: three keywords delivering five rows each produce 15 rows. On the Free plan at 512 MB, the cost is 15 × $0.003 + $0.005 = $0.050, assuming the cost limit permits all rows.

What happens when the run timeout is too short

Some MonotaRO collections, such as several searchQueries with enrichDetails: true, a catalog run with many poolPages or a large maxResults, can take longer than the run timeout you chose. In that case the run does not fail. It ends early with the status message "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." and shows as ABORTED for a while.

When the results are ready, the same run starts again by itself, reports "Resumed: delivering N rows.", writes the rows to the same dataset and finishes as SUCCEEDED. Rows that were already delivered are skipped, so no row is delivered or charged twice. You do not need to start another run.

  • This can happen at most 3 times per run. To avoid it, keep the default timeout of 3600 seconds.
  • The synchronous API endpoints (run-sync, run-sync-get-dataset-items) wait at most 300 seconds and can return an empty dataset while the run is paused. For larger jobs, start the run asynchronously and read the dataset after the run reaches SUCCEEDED, or use a webhook on the "succeeded" event.

Use with AI agents and the API

Apify MCP server

Add this remote server in Claude, ChatGPT, Cursor, VS Code or another compatible MCP client:

https://mcp.apify.com?tools=lentic_clockss/monotaro-scraper

Sign in with Apify through OAuth, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool starts a run and returns run and dataset IDs; read the rows with get-dataset-items. For clients without remote support, run npx @apify/actors-mcp-server --tools lentic_clockss/monotaro-scraper with APIFY_TOKEN configured.

Example prompt: “Search MonotaRO for 手袋, return three rows and show product codes, names and guest prices.”

Apify API

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lentic_clockss/monotaro-scraper").call(
run_input={"keyword": "手袋", "maxResults": 3}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('lentic_clockss/monotaro-scraper')
.call({ keyword: '手袋', maxResults: 3 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

For HTTP, send the input JSON to POST https://api.apify.com/v2/acts/lentic_clockss~monotaro-scraper/runs with your token in the Authorization: Bearer header. After completion, use GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json.

Integrations

Use the Actor's Integrations tab for Google Sheets, Make, Zapier, n8n, Slack, Airtable or webhooks. Apify Schedules can start recurring runs.

日本語の説明

日本向けのモノタロウから、工具や作業用品の商品情報、公開価格、品番、レビューを収集します。検索する場合は keyword に「手袋」などを入力し、最初は maxResults を3にすると出力を確認しやすくなります。商品群は productCode、注文コードは monotaroNo で指定できます。expandVariants を有効にすると、取得できた品番ごとに別の行が追加されます。料金は開始料金と出力行数で決まり、レビューや集計行も1行として数えます。会員価格や契約価格、海外サイトは対象外です。結果は CSV や Excel で保存できます。

FAQ

This Actor accesses public data. You are responsible for checking the site's terms and applicable data-protection law for your use. Personal data requires a lawful basis; public visibility alone does not establish one.

Why did my run end as ABORTED?

ABORTED means the run was stopped, not that the search found nothing. Check its status message and log to identify the reason. Do not assume automatic recovery; inspect the existing dataset before starting another billed run.

How many results can I get?

Request 1–5000 rows per input, subject to available results, page limits, your maximum cost and free-plan limits. Optional SKU rows and summaries share that allowance.

Why are some fields empty?

Some pages omit prices, specifications or contact details. Failed detail enrichment can also leave fields empty. Missing values are not invented; company contact omissions may be explained in leadAbsences.

Is this an official MonotaRO tool?

No. This Actor is not affiliated with or endorsed by MonotaRO.

Do I need to log in for prices?

No. Only public guest prices are collected; member and contract prices are excluded.

Why is a category empty or invalid?

The ID may be invalid, or no products may match your filters. Try categories to find IDs, then remove restrictive filters and inspect the run message.

Does the Actor collect seller contacts for every product?

No. Product contact fields refer to MonotaRO's company, not third-party sellers. Reviews, promotions and directory rows do not receive this company contact block.

Limitations

  • Japan's public catalog only; no overseas sites, account pages, ordering or inquiry-form submission.
  • Results depend on source availability. Prices and promotions can change between runs.
  • Listing detail enrichment is optional and may be incomplete. Variant rows require available variant data.
  • Category/brand listings stop after at most 100 pages, keyword searches after 50, and reviews after 10 per collection segment.
  • Some directory data can use previously collected category information. Counts do not prove complete current coverage.
  • A low limit can be consumed by summary rows before products or individual reviews appear.
  • No guarantee that all rows collected before an abrupt stop have reached the dataset.

More B2B supplier and wholesale marketplace scrapers from the same publisher:

Browse all of our scrapers at apify.com/lentic_clockss.

Support

Report problems or request a field through the Issues tab of this Actor's page. Include the run ID and the input you used.