Mercari Listings Scraper avatar

Mercari Listings Scraper

Pricing

from $2.99 / 1,000 listings

Go to Apify Store
Mercari Listings Scraper

Mercari Listings Scraper

Extract public Mercari Japan marketplace listings for resale research and price tracking.

Pricing

from $2.99 / 1,000 listings

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Categories

Share

Collect bounded public Mercari Japan listings through the anonymous public search API used by the Mercari Japan web page. Saved rows include item identity, JPY price, sale status, brand and category labels, seller, condition and shipping identifiers, images, canonical item URLs, and source provenance when Mercari publishes them.

Get started

  1. Open the Actor Store page and select Try for free or open the Input tab.
  2. Set query to the keyword you need, or supply one or more public startUrls. URLs take precedence over the query.
  3. Lower maxItems for a first test and keep maxPages at 1 while checking result quality.
  4. Start the Actor, open the dataset, and export the saved records as JSON, CSV, or Excel. Open Run summary (OUTPUT) to check the outcome and counts.

Input

All fields are optional; the defaults below are ready to use. Unsupported field names and out-of-range values are rejected before requests start.

FieldTypeRequired?DefaultMeaning
querystringOptionaliphoneKeyword used to build a public search URL when startUrls is absent, up to 300 characters.
startUrlsobject arrayOptionalNot suppliedPublic jp.mercari.com URLs to inspect; these take precedence over query. 1–20 entries.
maxItemsintegerOptional50Maximum listing records to emit across all sources, 1–500.
maxPagesintegerOptional1Maximum public search API pages per source, 1–20.
timeoutMsintegerOptional30000Maximum wait for each public request, 5,000–120,000 ms.
maxBytesintegerOptional5000000Maximum response size accepted for parsing, 1,000–15,000,000 bytes.
proxyConfigurationobjectOptional{"useApifyProxy":false}Optional standard Apify Proxy routing. It does not bypass access challenges.

Example input matching the saved iphone run:

{
"query": "iphone",
"maxItems": 3,
"maxPages": 1,
"timeoutMs": 30000,
"maxBytes": 5000000,
"proxyConfiguration": {
"useApifyProxy": false
}
}

The Actor reads the public Mercari Japan search API. It does not log in, use an account token, call a private endpoint, impersonate a browser, or bypass CAPTCHA and anti-automation controls.

Output

The dataset contains one row per saved listing. Optional values are omitted when Mercari does not publish them; they are not inferred. No diagnostic or placeholder rows are written.

FieldTypeAvailabilityMeaning
recordTypestring enumAlwaysRecord type; always listing.
recordIdstringAlwaysStable anonymized row identifier.
itemIdstringAlwaysMercari item identifier.
titlestringAlwaysPublic listing title.
pricenumberAlwaysPublic listing price in JPY.
currencystringAlwaysCurrency published by Mercari Japan.
statusstringAlwaysPublic listing status, such as ITEM_STATUS_ON_SALE.
brandstringWhen publishedBrand label when exposed.
categorystringAlwaysPublic category label or identifier.
conditionIdstringAlwaysPublished condition identifier.
shippingPayerIdstringAlwaysPublished shipping-payer identifier.
shippingMethodIdstringAlwaysPublished shipping-method identifier.
sellerNamestringWhen publishedSeller or shop name when exposed.
sellerIdstringAlwaysPublic seller identifier.
likesintegerAlwaysPublic like count as reported for the row.
imageUrlsstring arrayAlwaysBounded public item image URLs.
itemUrlstringAlwaysCanonical public Mercari item URL.
sourceUrlstringAlwaysPublic search URL that produced the row.
finalUrlstringAlwaysFinal public request URL.
httpStatusintegerAlwaysHTTP status observed for the response.
sourceTransportstring enumAlwaysofficial_public_api, apify_proxy, or fixture.
proxyConfiguredbooleanAlwaysWhether standard Apify Proxy routing was configured.
fingerprintAppliedbooleanAlwaysWhether a browser fingerprint was applied; this Actor does not apply one.
accessStatusstringAlwaysNormalized access outcome.
successbooleanAlwaysWhether the row is a successful listing extraction.
dataAvailablebooleanAlwaysWhether usable listing data is present.
resultStatusstringAlwaysListing result status.
positionintegerAlwaysOne-based position after deduplication.
extractionMethodstringAlwaysParser representation used for extraction.
inventoryRankintegerAlwaysCatalog inventory rank recorded for provenance.
actorNamestringAlwaysDisplay name of this Actor.
actorSlugstringAlwaysStore slug of this Actor.
actorStoreUrlstringAlwaysStore URL recorded for provenance.
targetHintstringAlwaysPublic target scope recorded for provenance.
accessPolicystringAlwaysPublic-access and no-bypass policy recorded for the row.
observedAtstringAlwaysUTC observation timestamp.
scrapedAtstringAlwaysUTC extraction timestamp.
generatedBystringAlwaysGenerator metadata.
fieldCoveragestring arrayAlwaysTop-level fields populated before sanitization.
dataQualityobjectAlwaysBounded non-empty field quality metadata.

dataQuality contains recordStatus, targetSpecificFieldsClaimed, nonEmptyTopLevelFields, emptyTopLevelFields, and nullTopLevelFields.

The example below is a real saved row from the 2026-10-25 run. actorStoreUrl, targetHint, accessPolicy, and fieldCoverage are omitted for length; every value shown is unchanged.

{
"recordType": "listing",
"recordId": "listing:f84ccb2354c0a71ece188835",
"itemId": "m90523833212",
"title": "【ジャンク品】 Apple iPhone15 本体",
"price": 400,
"currency": "JPY",
"status": "ITEM_STATUS_ON_SALE",
"brand": "Apple",
"category": "859",
"conditionId": "4",
"shippingPayerId": "2",
"shippingMethodId": "14",
"sellerId": "813968375",
"likes": 0,
"imageUrls": [
"https://static.mercdn.net/item/detail/webp/photos/m90523833212_1.jpg?1792939349",
"https://static.mercdn.net/thumb/item/webp/m90523833212_1.jpg?1792939349"
],
"itemUrl": "https://jp.mercari.com/item/m90523833212",
"sourceUrl": "https://jp.mercari.com/search/?keyword=iphone",
"finalUrl": "https://jp.mercari.com/search/?keyword=iphone",
"httpStatus": 200,
"sourceTransport": "official_public_api",
"proxyConfigured": false,
"fingerprintApplied": false,
"accessStatus": "success",
"success": true,
"dataAvailable": true,
"resultStatus": "success",
"position": 1,
"extractionMethod": "public-structured-data",
"inventoryRank": 231,
"actorName": "Mercari Listings Scraper",
"actorSlug": "mercari-listings-scraper",
"observedAt": "2026-10-25T20:48:23.308Z",
"scrapedAt": "2026-10-25T20:48:23.308Z",
"generatedBy": "Codex with GPT-5.6 Luna",
"dataQuality": {
"recordStatus": "non_empty",
"targetSpecificFieldsClaimed": true,
"nonEmptyTopLevelFields": 38,
"emptyTopLevelFields": 0,
"nullTopLevelFields": 0
}
}

Run summary

Run summary is stored separately from the dataset in the run's key-value store under OUTPUT.

FieldMeaning
statusRun outcome: SUCCEEDED or FAILED.
runStatusCanonical run status; matches status.
dataStatusDataset completeness: COMPLETE, PARTIAL, NO_RESULTS, or FAILED.
actorNameActor display name.
actorSlugActor store slug.
inventoryRankCatalog inventory rank recorded for provenance.
recordCountListing rows saved to the dataset.
listingCountAlias of recordCount.
diagnosticCountRequest or extraction issues recorded outside the dataset.
diagnosticCodesDiagnostic codes collected during the run.
uniqueRecordCountDistinct listing keys after deduplication.
duplicateCountRows discarded as duplicate listing keys.
requestedMaxItemsConfigured global listing cap.
requestedMaxPagesConfigured API page cap per source.
sourceCountUnique public source URLs processed.
requestCountPublic requests attempted.
successfulRequestsSuccessful public responses.
pagesFetchedSuccessful public pages fetched.
sourceTransportTransport used for the run.
proxyConfiguredWhether standard Apify Proxy routing was configured.
fixtureModeWhether a repository-local fixture was used.
fingerprintAppliedWhether a browser fingerprint was applied; always false here.
apiEndpointAnonymous public API endpoint used for live requests.
sourceUrlsUnique public source URLs processed.
generatedByGenerator metadata.
generatedAtUTC summary creation time.
StatusData statusMeaning
SUCCEEDEDCOMPLETEListings were saved without an extraction problem.
SUCCEEDEDPARTIALListings were saved, but a later problem prevented a complete run. Saved rows remain available.
SUCCEEDEDNO_RESULTSThe source completed cleanly and returned no matching listings.
FAILEDFAILEDA fatal error occurred before any usable listing was saved.

Example OUTPUT from the 2026-10-25 run:

{
"status": "SUCCEEDED",
"runStatus": "SUCCEEDED",
"dataStatus": "COMPLETE",
"actorName": "Mercari Listings Scraper",
"actorSlug": "mercari-listings-scraper",
"inventoryRank": 231,
"recordCount": 3,
"listingCount": 3,
"diagnosticCount": 0,
"diagnosticCodes": [],
"uniqueRecordCount": 3,
"duplicateCount": 0,
"requestedMaxItems": 3,
"requestedMaxPages": 1,
"sourceCount": 1,
"requestCount": 1,
"successfulRequests": 1,
"pagesFetched": 1,
"sourceTransport": "official_public_api",
"proxyConfigured": false,
"fixtureMode": false,
"fingerprintApplied": false,
"apiEndpoint": "https://api.mercari.jp/v2/entities:search",
"sourceUrls": [
"https://jp.mercari.com/search/?keyword=iphone"
],
"generatedBy": "Codex with GPT-5.6 Luna",
"generatedAt": "2026-10-25T20:48:23.486Z"
}

Coverage and limitations

The Actor reads public Mercari Japan search results through the official public API used by the web page. It does not log in, use account credentials, call private endpoints, impersonate a browser, or bypass CAPTCHA and anti-automation controls. proxyConfiguration.useApifyProxy enables ordinary Apify Proxy routing; groups and country are optional, and Proxy does not bypass challenges. Prices and statuses are point-in-time values. Optional fields are omitted when the source does not publish them, and blocked, empty, or partial responses are reported in the run summary rather than written as data rows.

Usage and support

Apify charges standard Actor compute, network, and storage usage. Start with a small maxItems and one query, inspect the dataset and OUTPUT, then scale pages and sources gradually. See the Actor's Pricing tab for current account rates. Use the Actor Issues page to report a problem. Include the run ID, the input used, and the run summary; do not include tokens, cookies, or private data. This Actor is not affiliated with or endorsed by Mercari. Use it only for public data and in accordance with Mercari's terms, robots guidance, and applicable law.