Mercari Scraper avatar

Mercari Scraper

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Mercari Scraper

Mercari Scraper

Under maintenance

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Mercari Secondhand Marketplace Scraper

Scrape Mercari for secondhand marketplace listings at scale. Extract detailed product data including prices, conditions, seller information, photos, shipping details, and more. Built for resellers, researchers, and anyone who needs structured Mercari data.

What is Mercari?

Mercari is one of the largest secondhand marketplaces in the US and Japan, with over 350,000 new listings posted daily. It covers everything from electronics and clothing to home goods and collectibles. Unlike eBay, Mercari uses flat-rate shipping and a simple fixed-price model, making it a favorite for casual sellers and bargain hunters.

What does the Mercari Scraper do?

This actor searches Mercari and extracts comprehensive listing data. It handles pagination automatically, rotates user agents, supports proxy configuration, and can scrape thousands of listings in a single run.

Data extracted per listing:

FieldDescription
titleFull listing title
priceCurrent listing price in USD
originalPriceOriginal price before any reduction
conditionItem condition (New, Like New, Good, Fair, Poor)
descriptionFull listing description text
brandBrand name if specified
categoryMercari category and subcategory
photosArray of photo URLs (up to 12 per listing)
likesNumber of likes/favorites on the listing
sellerUsernameSeller's Mercari username
sellerRatingSeller's star rating (0-5)
sellerReviewsNumber of seller reviews
shippingCostShipping cost in USD
shippingPayerWho pays shipping (seller or buyer)
urlDirect URL to the listing
itemIdUnique Mercari item identifier
postedAtWhen the listing was posted
itemStatusWhether the item is active or sold
scrapedAtTimestamp of when data was collected

Use Cases

1. Reselling and Flipping

Find underpriced items to resell at a profit. Compare Mercari prices against eBay, Poshmark, and other marketplaces to identify arbitrage opportunities.

{
"searchQuery": "Nintendo Switch OLED",
"sortBy": "price_low",
"condition": "good",
"maxResults": 200
}

2. Price Research and Market Analysis

Understand fair market value for secondhand items. Track pricing trends over time by running regular scrapes and comparing historical data.

{
"searchQuery": "iPhone 15 Pro Max",
"sortBy": "newest",
"maxResults": 500,
"itemStatus": "sold"
}

3. Inventory Sourcing

Source inventory for your reselling business. Filter by condition, price range, and category to find items that match your sourcing criteria.

{
"searchQuery": "vintage Levi's",
"condition": "good",
"minPrice": 5,
"maxPrice": 30,
"maxResults": 300
}

4. Competitive Analysis

Monitor competitor listings and pricing strategies. Track specific brands or product categories to understand market positioning.

{
"searchQuery": "Dyson V15",
"maxResults": 100,
"sortBy": "newest"
}

5. Deal Hunting and Bargain Alerts

Find deals on specific items by monitoring new listings with low prices. Combine with Apify scheduling to get alerts when new deals appear.

{
"searchQuery": "PS5 console",
"sortBy": "price_low",
"maxPrice": 300,
"condition": "like_new",
"maxResults": 50
}

6. Brand Monitoring

Track how your brand's products are being resold. Understand resale pricing, volume, and condition distribution for brand protection and market intelligence.

{
"searchQuery": "Yeti Rambler",
"maxResults": 1000,
"sortBy": "newest"
}

7. Academic and Market Research

Collect structured data on secondhand marketplace dynamics for academic research, journalism, or market reports.

{
"searchQuery": "vintage clothing",
"maxResults": 5000,
"sortBy": "relevance",
"itemStatus": "all"
}

Input Configuration

Required

ParameterTypeDescription
searchQueryStringSearch term to look for on Mercari

Optional

ParameterTypeDefaultDescription
maxResultsInteger50Maximum listings to scrape (0 = unlimited)
sortByEnumrelevanceSort order: relevance, price_low, price_high, newest, likes
categoryString(all)Filter by Mercari category
conditionEnumanyItem condition: any, new, like_new, good, fair, poor
minPriceInteger(none)Minimum price in USD
maxPriceInteger(none)Maximum price in USD
itemStatusEnumon_saleListing status: on_sale, sold, all
shippingPayerEnumanyWho pays shipping: any, seller, buyer
maxConcurrencyInteger3Concurrent requests (1-10)
proxyConfigurationObject(none)Apify proxy configuration

Output Example

Each listing in the output dataset looks like this:

{
"title": "Apple iPhone 15 Pro Max 256GB Natural Titanium Unlocked",
"price": 849.00,
"originalPrice": 1199.00,
"condition": "Like New",
"description": "Used for 2 months, perfect condition. Comes with original box and charger. No scratches or dents. Factory unlocked, works with all carriers.",
"brand": "Apple",
"category": "Electronics > Cell Phones & Accessories > Cell Phones & Smartphones",
"photos": [
"https://static.mercdn.net/item/detail/orig/photos/m12345_1.jpg",
"https://static.mercdn.net/item/detail/orig/photos/m12345_2.jpg",
"https://static.mercdn.net/item/detail/orig/photos/m12345_3.jpg"
],
"likes": 42,
"sellerUsername": "tech_deals_2024",
"sellerRating": 4.9,
"sellerReviews": 156,
"shippingCost": 0,
"shippingPayer": "Seller",
"url": "https://www.mercari.com/us/item/m12345678/",
"itemId": "m12345678",
"postedAt": "2026-02-28T14:30:00.000Z",
"itemStatus": "active",
"searchQuery": "iPhone 15 Pro Max",
"searchPage": 1,
"scrapedAt": "2026-03-02T10:15:30.000Z"
}

Pricing

This actor uses Pay Per Event (PPE) pricing:

  • $0.003 per listing scraped (that's $3.00 per 1,000 listings)
  • No monthly fees or subscriptions
  • You only pay for the data you actually extract

Cost examples:

ListingsCost
50$0.15
100$0.30
500$1.50
1,000$3.00
5,000$15.00
10,000$30.00

Tips for Best Results

Use Proxies for Large Scrapes

For scraping more than 100 listings, enable Apify proxy configuration. Residential proxies provide the best success rate.

Filter by Condition

If you only want items in good condition or better, set the condition filter. This reduces noise and gives you more relevant results.

Check Sold Listings for Pricing

Set itemStatus to sold to see completed transactions. This gives you actual market prices rather than asking prices, which is much more useful for price research.

Schedule Regular Scrapes

Use Apify scheduling to run this actor daily or weekly. Compare results over time to track pricing trends and market dynamics.

Combine with Other Scrapers

Pair this with our eBay, Poshmark, or Facebook Marketplace scrapers to get a complete picture of secondhand market pricing across platforms.

Frequently Asked Questions

How many listings can I scrape?

There is no hard limit on the actor side. Set maxResults to your desired amount. For very large scrapes (10,000+), use proxies and moderate concurrency.

Does this scrape item descriptions?

Yes. When detail pages are visited, the full item description is extracted along with all photos, seller information, and other metadata.

Can I scrape sold listings?

Yes. Set itemStatus to sold to scrape completed transactions. This is extremely useful for price research and market analysis.

How often is the data updated?

Data is scraped in real-time from Mercari. Each run gives you the latest available listings. Schedule runs for regular updates.

Does this work with Mercari Japan?

This actor is designed for Mercari US (mercari.com). Mercari Japan (mercari.com/jp/) has a different structure and is not currently supported.

Technical Details

  • Runtime: Node.js 18 on Apify platform
  • Crawler: CheerioCrawler (fast, no browser overhead)
  • Anti-detection: 12 rotating user agents, realistic headers, rate limiting
  • Pagination: Automatic, handles all result pages
  • Error handling: Retries failed requests, detects CAPTCHAs, graceful degradation
  • Data quality: Validates all fields, normalizes prices, cleans URLs

Changelog

v1.0.0 (2026-03-02)

  • Initial release
  • Search result scraping with full pagination
  • Detail page extraction for complete listing data
  • Condition, price, category, and status filters
  • Sort by relevance, price, date, or likes
  • PPE pricing at $0.003 per listing
  • 12 rotating user agents
  • Proxy support for reliable large-scale scraping

Support

If you have questions or need help, open an issue on GitHub or contact us through the Apify platform. We typically respond within 24 hours.

Integration — Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("sovereigntaylor/mercari-scraper").call(run_input={
"searchTerm": "mercari",
"maxResults": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item.get('title', item.get('name', 'N/A'))}")

Integration — JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('sovereigntaylor/mercari-scraper').call({
searchTerm: 'mercari',
maxResults: 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(item.title || item.name || 'N/A'));