Mercari Japan Scraper
Pricing
from $1.49 / 1,000 listings
Mercari Japan Scraper
Extract Mercari Japan listings: title, price, brand, condition, seller, shipping, category, photos, and auction data from search, category, and item pages. No login required.
Pricing
from $1.49 / 1,000 listings
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Mercari Japan Scraper
Mercari Japan Scraper extracts structured listing data from Mercari Japan โ Japan's largest consumer-to-consumer marketplace โ straight from search result pages, category pages, and individual item pages, with no Mercari account or login required.
| Pull title, price, brand, condition, seller, shipping, category, photos, and auction data for any Mercari Japan search, category, or listing URL โ normalized into one consistent JSON schema, ready for resale-pricing pipelines and analytics. |
Copy to your AI assistant
Use the Apify Actor "parsebird/mercari-japan-scraper" to scrape Mercari Japan (jp.mercari.com). Call it with the Apify API or the apify-client SDK, e.g. in Python: `from apify_client import ApifyClient; client = ApifyClient("<APIFY_TOKEN>"); run = client.actor("parsebird/mercari-japan-scraper").call(run_input={"startUrls": ["https://jp.mercari.com/en/search?keyword=apple%20watch"], "keyword": "apple watch", "sort": "created_time", "order": "desc", "status": ["on_sale", "sold_out"], "priceMin": 1000, "priceMax": 50000, "limit": 1000}); items = client.dataset(run["defaultDatasetId"]).list_items().items`. Inputs: startUrls (string[], required, search/category/item URLs), keyword (string, optional override), sort (score|created_time|price), order (desc|asc), status (on_sale|sold_out|trading), priceMin/priceMax (integer, JPY), limit (integer, default 50000, max listings per start URL). Output: one JSON record per listing with listing_id, title, price, currency, brand, listing_status, condition_id, seller, shipping, catalog, media, auction, timestamps, and engagement fields. Full API spec: https://apify.com/parsebird/mercari-japan-scraper/api. Get an API token at https://console.apify.com/account/integrations.
What does Mercari Japan Scraper do?
Mercari Japan Scraper (also usable as a Mercari API alternative or Mercari JP data extraction tool) turns any jp.mercari.com URL into structured JSON:
- ๐ Search & category pages โ pass a search URL (
?keyword=...) or a category URL (?category_id=...) and paginate through results automatically - ๐ท๏ธ Individual item pages โ pass a direct
jp.mercari.com/item/mXXXXXXXXXXURL to get full listing detail, including description-level fields not present in search results - ๐ Mix URL types freely โ combine search, category, and item URLs in a single run
- โ๏ธ Global filters โ override keyword, sort by relevance/newest/price, filter by listing status (on sale, sold out, trading), and set a min/max price in JPY across every search seed
- ๐ฏ Auction data included โ Mercari's auction-style listings return bid count, highest bid, and initial price alongside standard fields
- ๐งน Automatic deduplication โ the same listing found via multiple start URLs is only saved and charged once
- ๐ซ No login, no cookies, no browser โ the Actor talks directly to Mercari's own public search API, so runs are fast and don't need residential proxies for typical volumes
On top of the extraction logic, every run gets Apify platform features: scheduling for recurring price monitoring, full API access and webhooks, ready-made integrations with Zapier, Make, n8n, and Google Sheets, and one-click export to JSON, CSV, Excel, XML, HTML, or RSS.
What data can you extract from Mercari Japan?
| Field | Description |
|---|---|
listing_id / id | Mercari item ID (e.g. m84015541919) as string and numeric form |
title | Listing title |
price | Listed price in JPY |
brand / brand_name | Brand ID, name, and sub-name when tagged |
listing_status | ITEM_STATUS_ON_SALE, ITEM_STATUS_SOLD_OUT, or ITEM_STATUS_TRADING |
condition_id | Item condition code (new, like new, used, etc.) |
seller | Seller ID and buyer ID (when sold) |
shipping | Shipping payer and shipping method codes |
catalog | Category ID and size IDs |
media | Thumbnail and full-size photo URLs |
auction | Auction ID, bid deadline, total bids, highest bid, initial price (for auction-style listings) |
timestamps | Created and last-updated Unix timestamps |
engagement | Liked flag and no-price flag |
Full field-by-field reference is in the Output example section below.
How to use Mercari Japan Scraper
- Open the Actor's Input tab in Apify Console.
- Paste one or more
jp.mercari.comURLs into Start URLs โ search pages, category pages, or item pages. - (Optional) Set a Keyword override to apply one search term across every search/category URL, and adjust Sort by, Sort direction, Listing status, and Min/Max price.
- Set Max listings per URL to control how deep each search or category seed paginates.
- Click Start and watch results land in the dataset in real time.
- Export the dataset as JSON, CSV, Excel, XML, HTML, or RSS from the Storage tab, or pull it via the Apify API.
Output example
{"type": "listing","id": 84015541919,"url": "https://jp.mercari.com/item/m84015541919","listing_id": "m84015541919","title": "ใ*ไธญๆง Apple Watch ็ฎฑใฎใฟ","price": "400","currency": "JPY","brand_name": "Apple","brand": { "id": 3272, "name": "Apple", "sub_name": "Apple" },"listing_status": "ITEM_STATUS_SOLD_OUT","listing_type": "ITEM_TYPE_MERCARI","condition_id": 2,"seller": { "seller_id": 670753842, "buyer_id": "" },"shipping": { "payer_id": 2, "method_id": 14 },"catalog": { "category_id": 3682, "size_ids": [] },"store": { "name": "", "details": null },"media": {"thumbnail_urls": ["https://static.mercdn.net/thumb/item/jpeg/m84015541919_1.jpg?1772980274"],"photo_urls": ["https://static.mercdn.net/item/detail/orig/photos/m84015541919_1.jpg?1772980274"]},"promotions": [],"auction": {"auction_id": "21189628","bid_deadline": "2026-03-27T11:41:15Z","total_bid_count": "1","highest_bid": "400","initial_price": "300"},"timestamps": { "created_unix": "1772980274", "updated_unix": "1774946740" },"engagement": { "is_liked": false, "is_no_price": false },"scrape_context": {"seed": { "type": "item_url", "value": "https://jp.mercari.com/item/m84015541919" },"source": { "source_url": "https://jp.mercari.com/item/m84015541919", "item_url": "https://jp.mercari.com/item/m84015541919" },"scraped_time": 1789816041}}
This is real, unmodified output captured while testing this Actor. Fields are best-effort: some are only populated for auction listings, shop listings, or one of the two source page types, so always null-check optional fields downstream. Use type + ":" + id as an idempotency key when deduplicating or upserting across runs.
Python
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("parsebird/mercari-japan-scraper").call(run_input={"startUrls": ["https://jp.mercari.com/en/search?keyword=apple%20watch"],"sort": "created_time","order": "desc","status": ["on_sale", "sold_out"],"priceMin": 1000,"priceMax": 50000,"limit": 1000,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["price"])
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<APIFY_TOKEN>' });const run = await client.actor('parsebird/mercari-japan-scraper').call({startUrls: ['https://jp.mercari.com/en/search?keyword=apple%20watch'],sort: 'created_time',order: 'desc',status: ['on_sale', 'sold_out'],priceMin: 1000,priceMax: 50000,limit: 1000,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use cases
- Resale & arbitrage research โ compare Mercari Japan prices for electronics, sneakers, collectibles, and fashion against other marketplaces
- Sold-price / comps tracking โ filter by
sold_outandtradingstatus to build historical sold-price datasets, including auction final prices - Category and brand monitoring โ watch a category or brand for new listings, price drops, or counterfeit activity
- Sourcing for dropshipping โ pull structured product and seller data for sourcing pipelines
- Market research and ML pricing models โ feed normalized JSON directly into pricing or demand-forecasting models
- Seller and inventory tracking โ monitor a specific seller's listings over time via scheduled runs
How it works
- Each start URL is classified as either an item page (
/item/mXXXXXXXXXX) or a search/category page (/search?...). - For search/category URLs, the Actor builds a search request from the URL's own query parameters (keyword, category, brand, size, condition, shipping payer, color) plus your global overrides, signs it with a fresh DPoP proof (RFC 9449, ES256), and calls Mercari's own public search API.
- Results are paginated using Mercari's page tokens until Max listings per URL is reached or results run out.
- For item URLs, the Actor signs and calls Mercari's item-detail API directly, which returns richer per-listing detail (auction history, full photo set, shipping details).
- Both response shapes are normalized into one consistent output schema, deduplicated by listing ID, and pushed to the dataset.
- Each unique listing saved triggers one billing event.
How much does it cost to scrape Mercari Japan?
Mercari Japan Scraper uses Apify's Pay-Per-Event pricing โ you're billed per listing saved, not per compute unit, and your Apify plan tier automatically gets a lower rate:
| Apify plan | Price per listing | Price per 1,000 listings |
|---|---|---|
| Free | $0.00299 | $2.99 |
| Bronze | $0.00249 | $2.49 |
| Silver | $0.00199 | $1.99 |
| Gold | $0.00149 | $1.49 |
One billing event fires each time a new, unique listing is saved to the dataset โ duplicate listings found across multiple start URLs are never double-charged. Scraping 1,000 unique listings on a Free Apify account costs about $2.99; the same run on a Gold plan costs about $1.49. Apify also gives every account a free monthly usage allowance that covers this Actor's platform (non-event) costs for light usage โ see Apify pricing for current plan details.
FAQ
Do I need a Mercari account to use this Actor?
No. It calls Mercari Japan's own public, unauthenticated search and item APIs the same way the jp.mercari.com website does โ no login, cookies, or session required.
Can I scrape sold or expired listings?
Yes. Set Listing status to sold_out and/or trading to pull historical sold-price data, including final auction prices.
Does the Actor return results in exactly "newest first" order when I sort by created time? Mostly, but not guaranteed โ Mercari's own search index does not promise perfectly exact ordering for the "Newest" sort, a known quirk of the underlying API rather than this Actor.
Can I filter by category or brand?
Yes โ include a category_id, brand_id, size_id, item_condition_id, shipping_payer_id, or color_id query parameter directly in a start URL (the same parameters jp.mercari.com/search uses), and the Actor will apply them automatically.
Can I schedule recurring runs? Yes. Use Apify's Scheduler to run this Actor daily, hourly, or on any custom interval, and pair it with webhooks or integrations to push new listings to Slack, Sheets, or your own API automatically.
Something looks wrong or missing โ where do I report it? Open an issue on the Actor's Issues tab in Apify Console. Mercari occasionally changes response fields on their end, and we monitor and patch quickly.
Can I call this from my own code instead of the Console? Yes โ see the Python and JavaScript examples above, or the full API reference.
Is it legal to scrape Mercari Japan?
Scraping publicly available data, such as listings visible to any visitor on jp.mercari.com without logging in, is generally considered legal, but you're responsible for how you use the collected data and for complying with Mercari's own Terms of Service and applicable data protection laws (such as Japan's APPI or the EU's GDPR) in your jurisdiction. Avoid collecting personal data beyond what's needed, and don't use this Actor to overload Mercari's servers. Read more in Apify's blog post on the legality of web scraping.
Related Actors
- Naver Shopping Scraper โ product and pricing data from Naver Shopping (South Korea)
- Coupang Korea Product Scraper โ product listings from Coupang (South Korea)
- AliExpress Scraper โ products and sellers from AliExpress
- Walmart Product Scraper โ product data from Walmart.com
- Target Product Scraper โ product data from Target.com
- MercadoLibre Scraper โ listings from MercadoLibre (Latin America)