Mercari JP $0.8๐Ÿ’ฐ URL | Keyword | Review Scraper avatar

Mercari JP $0.8๐Ÿ’ฐ URL | Keyword | Review Scraper

Pricing

from $0.80 / 1,000 results

Go to Apify Store
Mercari JP $0.8๐Ÿ’ฐ URL | Keyword | Review Scraper

Mercari JP $0.8๐Ÿ’ฐ URL | Keyword | Review Scraper

Scrape items, sellers, and reviews from Mercari Japan (jp.mercari.com) at scale. Pull listing names, prices, conditions, all photos, shipping details, full seller descriptions, and rich seller profiles. Two input modes: keyword search with nine filters, or pass URLs directly.

Pricing

from $0.80 / 1,000 results

Rating

0.0

(0)

Developer

AbotAPI

AbotAPI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Mercari Japan Scraper

Scrape items, sellers, and reviews from Mercari Japan (jp.mercari.com) at scale. Pull listing names, prices, conditions, all photos, shipping details, full seller bios, and rich seller profiles (rating breakdown, sell count, star rating, follower counts, official-shop flag). Three input modes: keyword search with nine filters, paste marketplace URLs directly, or harvest every review left for one or more seller IDs. Output is structured JSON, ready for spreadsheets, dashboards, and pricing analysis.

Why This Scraper?

  • 90+ fields per listing, all flat: id, name, price, condition, brand, category breakdown, all photo URLs, full shipping block (payer, method, fee, duration), plus a complete seller-profile block (introduction text, rating breakdown, sell count, star rating, follower / following counts, KYC and SMS-verified flags).
  • Search-first input: type a keyword, pick filters; no need to hand-build URLs. Multi-keyword runs return representation from every keyword (proportional budget split).
  • URL mode for power users: paste any jp.mercari.com URL: search pages, item pages, or /user/profile/<id> and /user/reviews/<id> profile pages all work in one input list.
  • Reviews mode: pass one or more seller IDs and the actor surfaces every review left for those sellers as separate rows. Filter by subject (seller / buyer / both) and rating bucket (good / normal / bad).
  • Detail enrichment toggle: turn on fetchDetails to pull full descriptions, all photos at original resolution, comments, hashtags, full category breakdown, and rich seller profile (bio, follower counts, polarized rating split). Turn off for fastest lean runs.
  • Filter at source, not after: status, item condition, shipping-payer, price range, brand, category, exclude-keyword, sort, and order all flow into the upstream search; you pay for items you wanted, not items you filtered out.
  • Resilient session management: automatic retries with exponential back-off keep long runs stable.

Data You Get

Sample shape: values are illustrative placeholders, not from a live listing.

Item rows (search / url modes)

FieldExample
idm00000000000
kinditem
urlhttps://jp.mercari.com/item/m00000000000
itemTypemarketplace (or shop)
nameSample Listing Title
price12000
currencyJPY
statuson_sale
itemConditionlike new
itemConditionId2
itemConditionSubnameSample condition description
categoryId0
categoryNameSample Category
categoryParentNameSample Parent Category
categoryRootNameSample Root Category
categoryPathSample Root > Sample Parent > Sample Category
itemBrandId0
itemBrandNameSample Brand
shippingPayerseller
shippingPayerNameSample shipping payer label
shippingMethodNameSample shipping method
shippingFromAreaSample prefecture
shippingDurationMinDays1
shippingDurationMaxDays2
shippingClassTotalFee0
thumbnailhttps://static.mercdn.net/thumb/item/webp/m00000000000_1.jpg
photos["https://static.mercdn.net/item/detail/orig/photos/m00000000000_1.jpg"]
descriptionFull seller description text appears here when fetchDetails=true.
numLikes0
numComments0
comments[{"userId":"0","userName":"Sample user","message":"Sample comment","createdAt":"2026-01-01T00:00:00+00:00"}]
hashtags["sample-tag"]
metaTitleSample SEO title
metaSubtitleSample SEO subtitle
isAnonymousShippingtrue
isOfferabletrue
isCancelabletrue
sellerId000000000
sellerNameSample seller name
sellerIntroductionSample seller bio text appears here when fetchDetails=true.
sellerScore0
sellerNumSellItems0
sellerNumRatings0
sellerStarRating5
sellerRatingsGood0
sellerRatingsNormal0
sellerRatingsBad0
sellerPolarizedRatingsGood0
sellerPolarizedRatingsBad0
sellerFollowerCount0
sellerFollowingCount0
sellerCreatedAt2020-01-01T00:00:00+00:00
sellerSmsVerifiedtrue
sellerIsOfficialfalse
sellerQuickShipperfalse
sellerPhotoUrlhttps://static.mercdn.net/members/resized/webp/000000000.jpg
sellerRawfull upstream seller block (verbatim โ€” captures any field Mercari adds)
sellerProfileRawfull upstream /users/get_profile block (verbatim)
isLikedfalse
isNoPricefalse
createdAt2026-01-01T00:00:00+00:00
updatedAt2026-01-01T00:00:00+00:00

Detail-only fields (description, comments, hashtags, full category breakdown, full shipping detail, complete seller profile including sellerIntroduction and follower counts) are populated only when fetchDetails=true. They appear as null placeholders otherwise so the row schema is identical across modes.

Review rows (reviews mode)

FieldExample
id000000000:0000000000 (sellerId:pagerId, stable across runs)
kindreview
urlhttps://jp.mercari.com/user/reviews/000000000
subjectseller (or buyer)
famegood (or normal / bad)
messageSample review text. May be empty when the rater left a rating without a comment.
createdAt2026-01-01T00:00:00+00:00
pagerId0000000000
raterId000000000
raterNameSample rater name
raterPhotoUrlhttps://static.mercdn.net/members/resized/webp/000000000.jpg
sellerId000000000
sellerProfileUrlhttps://jp.mercari.com/user/profile/000000000
sellerNameSample seller name
sellerIntroductionSample seller bio text
sellerScore0
sellerNumRatings0
sellerStarRating5
sellerRatingsGood0
sellerRatingsNormal0
sellerRatingsBad0
sellerFollowerCount0
sellerFollowingCount0
sellerIsOfficialfalse
sellerPhotoUrlhttps://static.mercdn.net/members/resized/webp/000000000.jpg

How to Use

Search by keyword + filters

{
"mode": "search",
"queries": ["nintendo switch"],
"status": "on_sale",
"sortBy": "created-desc",
"maxPages": 5,
"maxListings": 100,
"fetchDetails": false,
"proxy": { "useApifyProxy": true }
}

Multi-keyword run with price range

{
"mode": "search",
"queries": ["iphone 15", "iphone 14", "iphone 13"],
"status": "on_sale",
"minPrice": 30000,
"maxPrice": 80000,
"sortBy": "price-asc",
"maxPages": 10,
"maxListings": 300,
"proxy": { "useApifyProxy": true }
}

URL mode, multi-URL

{
"mode": "url",
"urls": [
"https://jp.mercari.com/search?keyword=lego&category_id=1115",
"https://jp.mercari.com/search?keyword=pokemon&sort=created_time&order=desc"
],
"maxPages": 3,
"maxListings": 200,
"proxy": { "useApifyProxy": true }
}

Direct item-page URLs (skip search, go straight to detail)

{
"mode": "url",
"urls": [
"https://jp.mercari.com/item/m00000000001",
"https://jp.mercari.com/item/m00000000002"
],
"fetchDetails": true,
"proxy": { "useApifyProxy": true }
}

When the URL is an item-page URL the actor goes straight to the detail endpoint, so every direct-item URL gets the full enriched record regardless of fetchDetails.

Reviews mode: harvest every review for one or more sellers

{
"mode": "reviews",
"sellerIds": ["140382083", "204551080"],
"reviewSubject": "seller",
"reviewFame": ["good", "normal", "bad"],
"maxPages": 5,
"maxListings": 500,
"proxy": { "useApifyProxy": true }
}

Each review becomes its own row. The seller's profile (name, bio, score, ratings breakdown, follower counts) is attached to every row, so a single CSV export already has the seller context next to each review.

URL mode shortcut for review pages

{
"mode": "url",
"urls": [
"https://jp.mercari.com/user/reviews/140382083",
"https://jp.mercari.com/user/profile/204551080"
],
"maxPages": 3,
"proxy": { "useApifyProxy": true }
}

Both /user/reviews/<id> and /user/profile/<id> URLs are recognised: the actor surfaces every review for those sellers alongside any other URLs in the list.

Input Parameters

ParameterTypeDefaultDescription
modestringsearchsearch (keyword + filters), url (paste marketplace URLs), or reviews (seller IDs).
queriesstring[][]Search keywords (Search mode). Japanese and English both work.
urlsstring[][]URLs (URL mode): jp.mercari.com/search?..., /item/..., /shops/product/..., /user/profile/..., /user/reviews/...
sellerIdsstring[][]Numeric seller IDs (Reviews mode). Find one at the end of any /user/profile/ or /user/reviews/ URL.
reviewSubjectstringsellerseller, buyer, or both (Reviews mode). Whether to fetch reviews left for the user as seller, as buyer, or both.
reviewFamestring[]all 3Rating buckets to include (Reviews mode): any of good, normal, bad.
statusstringon_saleItem status filter (Search mode): any, on_sale, sold_out, trading.
itemConditionstring[][]Numeric condition IDs: 1=new, 2=like new, 3=light wear, 4=some wear, 5=heavy wear, 6=poor.
shippingPayerstringanyany, seller (free shipping), buyer.
categoryIdsstring[][]Numeric category IDs (find via Mercari URL params: category_id=...).
brandIdsstring[][]Numeric brand IDs (brand_id=...).
sortBystringscore-descscore-desc, created-desc, created-asc, price-asc, price-desc, num-likes-desc.
minPriceintegernoneMin price in JPY.
maxPriceintegernoneMax price in JPY.
excludeKeywordstringemptyItems matching this term are filtered upstream.
maxPagesinteger2Max pages per keyword / URL / seller. ~20 listings per page in Search/URL mode; up to 100 reviews per page in Reviews mode.
maxListingsinteger0Cap across all keywords/URLs/sellers combined. 0 = unlimited (capped by maxPages).
fetchDetailsbooleanfalseIf true (Search/URL mode only), visit each item's detail page for full data. Adds one request per listing.
proxyobjectApify defaultProxy settings.

Output Example

Sample records: values are illustrative placeholders.

Item record (search / url modes)

{
"id": "m00000000000",
"kind": "item",
"url": "https://jp.mercari.com/item/m00000000000",
"itemType": "marketplace",
"name": "Sample Listing Title",
"price": 12000,
"currency": "JPY",
"status": "on_sale",
"itemCondition": "like new",
"itemConditionSubname": "Sample condition description",
"categoryId": "0",
"categoryName": "Sample Category",
"categoryPath": "Sample Root > Sample Parent > Sample Category",
"itemBrandId": "0",
"itemBrandName": "Sample Brand",
"shippingPayer": "seller",
"shippingPayerName": "Sample shipping payer label",
"shippingMethodName": "Sample shipping method",
"shippingFromArea": "Sample prefecture",
"shippingDurationMinDays": 1,
"shippingDurationMaxDays": 2,
"thumbnail": "https://static.mercdn.net/thumb/item/webp/m00000000000_1.jpg",
"photos": [
"https://static.mercdn.net/item/detail/orig/photos/m00000000000_1.jpg",
"https://static.mercdn.net/item/detail/orig/photos/m00000000000_2.jpg"
],
"description": "Full seller description text appears here when fetchDetails=true.",
"numLikes": 0,
"numComments": 0,
"hashtags": ["sample-tag"],
"isAnonymousShipping": true,
"isOfferable": true,
"isCancelable": true,
"sellerId": "000000000",
"sellerName": "Sample seller name",
"sellerIntroduction": "Sample seller bio text appears here when fetchDetails=true.",
"sellerScore": 0,
"sellerNumRatings": 0,
"sellerStarRating": 5,
"sellerFollowerCount": 0,
"sellerFollowingCount": 0,
"sellerCreatedAt": "2020-01-01T00:00:00+00:00",
"sellerSmsVerified": true,
"sellerIsOfficial": false,
"createdAt": "2026-01-01T00:00:00+00:00",
"updatedAt": "2026-01-01T00:00:00+00:00"
}

Review record (reviews mode)

{
"id": "000000000:0000000000",
"kind": "review",
"url": "https://jp.mercari.com/user/reviews/000000000",
"subject": "seller",
"fame": "good",
"message": "Sample review message text.",
"createdAt": "2026-01-01T00:00:00+00:00",
"pagerId": "0000000000",
"raterId": "000000000",
"raterName": "Sample rater name",
"raterPhotoUrl": "https://static.mercdn.net/members/resized/webp/000000000.jpg",
"sellerId": "000000000",
"sellerProfileUrl": "https://jp.mercari.com/user/profile/000000000",
"sellerName": "Sample seller name",
"sellerIntroduction": "Sample seller bio text",
"sellerScore": 0,
"sellerNumRatings": 0,
"sellerStarRating": 5,
"sellerRatingsGood": 0,
"sellerRatingsNormal": 0,
"sellerRatingsBad": 0,
"sellerFollowerCount": 0,
"sellerFollowingCount": 0,
"sellerIsOfficial": false,
"sellerPhotoUrl": "https://static.mercdn.net/members/resized/webp/000000000.jpg"
}

Plan Requirement

This actor runs cleanly on the Apify Free plan. The default Apify Proxy group is sufficient; no residential or specialty proxies are required.

If you do choose residential, a Japan country pin (apifyProxyCountry: JP) gives you the same view a buyer in Japan sees: prices, shipping options, and inventory match exactly. Without a country pin you may occasionally see slightly different sponsored placements.

Tips

  • For large catalogue dumps (10K+ items per keyword), run multiple keywords in one job: the per-search budget split makes sure all keywords get representation, and a single actor run is faster and simpler than several.
  • Leave fetchDetails: false for the fastest extraction. Turn on only if you need full descriptions, comment threads, hashtags, full category breakdowns, or rich seller profiles (introduction, follower counts, polarized rating split).
  • excludeKeyword is applied upstream, so excluded items never count against your maxListings budget.
  • In Reviews mode, each page returns up to 100 reviews. Walking 5 pages covers 500 reviews per seller; raise maxPages for sellers with thousands of ratings.
  • The id of a review row is <sellerId>:<pagerId>, stable across runs, so re-running the same input produces the same dataset row IDs and incremental sync stays simple.