Mercari US Scraper
Pricing
from $1.39 / 1,000 listings
Mercari US Scraper
Extract Mercari US (mercari.com) listings: title, price, brand, condition, size, color, category, seller, shipping, and photos from search, category, and item pages.
Pricing
from $1.39 / 1,000 listings
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Mercari US Scraper
Mercari US Scraper extracts structured listing data from Mercari US — one of the largest consumer-to-consumer resale marketplaces in the United States — from search results, category pages, and individual item pages.
| Pull title, description, price, brand, condition, size, color, category, seller rating, sales count, shipping, and photos for any Mercari US search, category, or listing URL — normalized into one consistent JSON schema. |
Copy to your AI assistant
Use the Apify Actor "parsebird/mercari-us-scraper" to scrape Mercari US (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-us-scraper").call(run_input={"startUrls": [{"url": "https://www.mercari.com/search/?keyword=apple%20watch"}], "sort": "relevance", "status": ["on_sale"], "condition": [], "limit": 25, "proxyConfiguration": {"useApifyProxy": True, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US"}}); items = client.dataset(run["defaultDatasetId"]).list_items().items`. Inputs: startUrls (array of {url}, search/category/item URLs), keyword (string, used only if startUrls is empty), sort (relevance|listed_time|price_asc|price_desc), status (on_sale|sold_out, default on_sale), priceMin/priceMax (integer, USD), condition (new|like_new|good|fair|poor), limit (integer, default 25, max listings per start URL), proxyConfiguration (US residential proxy strongly recommended — Mercari US sits behind Cloudflare). Output: one JSON record per listing with listing_id, title, description, price, original_price, brand, condition_id, size, color, category_path, seller_id/seller_username/seller_rating_score, shipping_payer/shipping_fee, and media.image_urls. Full API spec: https://apify.com/parsebird/mercari-us-scraper/api. Get an API token at https://console.apify.com/account/integrations.
What does Mercari US Scraper do?
Mercari US Scraper (also usable as a Mercari API alternative or Mercari.com data extraction tool) turns any mercari.com URL into structured JSON:
- 🔍 Search & category pages — pass a search URL (
?keyword=...) or a category URL, and the Actor solves Mercari's Cloudflare challenge and collects listing IDs automatically - 🏷️ Individual item pages — pass a direct
mercari.com/us/item/mXXXXXXXXXX/URL to get full listing detail - 🔀 Mix URL types freely — combine search, category, and item URLs in a single run, or skip URLs entirely and just search by Keyword
- ⚙️ Filters — sort by relevance, newest, or price; filter by listing status (on sale, sold out), condition (new, like new, good, fair, poor), and a min/max price range in USD
- 🧹 Automatic deduplication — the same listing found via multiple start URLs is only saved and charged once
- 📸 Full listing detail on every result — even listings discovered through search are individually re-fetched for their complete detail page data (description, full photo set, seller stats, shipping cost), not just the summary shown on the results grid
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 US?
| Field | Description |
|---|---|
listing_id / id | Mercari item ID (e.g. m78912345678) as string and numeric form |
title / description | Listing title and full text description |
price / original_price | Current and original price in USD |
listing_status | active or sold |
condition_id | new, like_new, good, fair, or poor |
brand / size / color | Item brand, size, and color when tagged |
category_path | Full category breadcrumb, e.g. ["Men", "Coats & jackets", "Fleece Jacket"] |
seller_id / seller_username / seller_rating_score / seller_review_count / sales_count | Seller identity and reputation |
shipping_payer / shipping_fee | Who pays shipping, and the rate in USD |
media.image_urls / thumbnail_url | Full photo set and primary image |
likes_count / authenticated | Buyer favorites count and Mercari Authenticate verification flag |
Full field-by-field reference is in the Output example section below.
How to use Mercari US Scraper
- Open the Actor's Input tab in Apify Console.
- Paste one or more
mercari.comURLs into Start URLs — search pages, category pages, or item pages — or leave it empty and enter a Keyword instead. - (Optional) Set Sort by, Listing status, Condition, and Min/Max price.
- Set Max listings per URL to control how many results each search or category seed collects.
- Click Start. The Actor launches a real browser session to pass Mercari's Cloudflare check once, then reuses it for the rest of the run.
- 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": 14214569688,"url": "https://www.mercari.com/us/item/m14214569688/","listing_id": "m14214569688","title": "Cash register","description": "Gently used. Coins included. Light and sounds works","price": 15.0,"original_price": 15.0,"currency": "USD","listing_status": "active","condition_id": "good","brand": null,"size": null,"color": null,"category_path": ["Toys & Collectibles", "Learning & Education Toys", "Stem Toys"],"authenticated": false,"likes_count": 2,"thumbnail_url": "https://u-mercari-images.mercdn.net/photos/m14214569688_1.jpg?1779313257","media": { "image_urls": ["https://u-mercari-images.mercdn.net/photos/m14214569688_1.jpg?1779313257"] },"seller_id": "955272082","seller_username": "user955272082","seller_rating_score": 5,"seller_review_count": 301,"sales_count": 293,"shipping_payer": "buyer","shipping_fee": 7.97,"item_location": "Arizona","scrape_context": { "scraped_time": 1789817761497 }}
This is real, unmodified output captured while testing this Actor. Fields are best-effort — brand, size, and color are only present when the seller tagged them — 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-us-scraper").call(run_input={"startUrls": [{"url": "https://www.mercari.com/search/?keyword=apple%20watch"}],"sort": "relevance","status": ["on_sale"],"limit": 25,"proxyConfiguration": {"useApifyProxy": True, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US"},})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-us-scraper').call({startUrls: [{ url: 'https://www.mercari.com/search/?keyword=apple%20watch' }],sort: 'relevance',status: ['on_sale'],limit: 25,proxyConfiguration: { useApifyProxy: true, apifyProxyGroups: ['RESIDENTIAL'], apifyProxyCountry: 'US' },});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use cases
- Resale & arbitrage research — compare Mercari US prices for electronics, sneakers, collectibles, and apparel
- Sold-price tracking — filter by
sold_outstatus to build historical sold-price datasets - Brand and category monitoring — watch a category or brand for new listings or price drops
- 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 reputation research — check a seller's rating, review count, and sales history before buying
How it works
- The Actor launches a Camoufox browser session over a US residential proxy and passes Mercari's Cloudflare Managed Challenge once.
- Each start URL is classified as either an item page (
/us/item/mXXXXXXXXXX/) or a search/category page (/search/...). - For search/category URLs (or a plain Keyword), the Actor builds a Mercari search URL from your filters, navigates to it using the already-warmed browser session (no repeated challenge-solving), and collects listing IDs from the page.
- For every listing ID — whether from a direct item URL or discovered via search — the Actor fetches that item's own detail page (reusing the same warmed session) and reads its full data straight out of the page's embedded JSON.
- Results are deduplicated by listing ID and pushed to the dataset.
- Each search execution triggers one
search-performedbilling event; each unique listing saved triggers onelisting-scrapedbilling event.
How much does it cost to scrape Mercari US?
Mercari US Scraper uses Apify's Pay-Per-Event pricing with two events, and your Apify plan tier automatically gets a lower rate:
| Event | Free | Bronze | Silver | Gold |
|---|---|---|---|---|
listing-scraped (per 1,000) | $1.99 | $1.79 | $1.59 | $1.39 |
search-performed (per 1,000) | $39 | $37 | $35 | $33 |
listing-scraped fires once per unique listing saved. search-performed fires once per search/category start URL (or Keyword search) actually executed — including a search that returns no matches — because passing Mercari's Cloudflare check for a new search is the expensive part of every run; item detail pages reuse that same already-open session, which is why they're priced far lower. A run with 1 search and 25 listings on a Free Apify account costs about 1 × $0.039 + 25 × $0.00199 ≈ $0.09. 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 proxy?
Yes. Mercari US sits behind Cloudflare, so a US residential proxy (the default proxyConfiguration) is strongly recommended for reliable runs.
Can I scrape sold listings?
Yes. Set Listing status to sold_out to pull sold listings' data.
Why is search-performed so much more expensive than listing-scraped?
Each new search has to pass Mercari's Cloudflare challenge, which needs a real, proxied browser session. Once that session is open, fetching individual item pages through it is comparatively cheap — see How it works.
Can I filter by category or brand?
Yes — include categoryId, brandId, colorId, sizeId, or shippingPayerId query parameters directly in a start URL (the same parameters mercari.com/search uses), and the Actor applies 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 its page structure or Cloudflare rules, 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 US?
Scraping publicly available data, such as listings visible to any visitor on 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 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
- Mercari Japan Scraper — listings, brand, seller, and auction data from Mercari Japan
- 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)