{
  "openapi": "3.0.1",
  "info": {
    "title": "Mercari Japan Scraper: Listings, Sold Comps, Sellers",
    "description": "Scrape Mercari Japan (jp.mercari.com) by keyword, search URL, item URL, or seller: live and sold listings, item details, seller profiles, buyer reviews, and price statistics with median and days to sell. Real shipping fees, English translation, Mercari Shops. From $0.99 per 1,000 results.",
    "version": "0.1",
    "x-build-id": "VxtkpJRnIaRUSjS0A"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sourabhbgp~mercari-japan-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sourabhbgp-mercari-japan-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/sourabhbgp~mercari-japan-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sourabhbgp-mercari-japan-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/sourabhbgp~mercari-japan-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sourabhbgp-mercari-japan-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "item",
              "seller",
              "stats"
            ],
            "type": "string",
            "description": "What to scrape.",
            "default": "search"
          },
          "keyword": {
            "title": "Search keyword",
            "type": "string",
            "description": "Keyword to search for. Combined with any Search URLs you supply, so clear this if you want the URLs alone."
          },
          "startUrls": {
            "title": "Mercari search URLs",
            "type": "array",
            "description": "Mercari JP search URLs or seller profile URLs. Every filter on a pasted search URL is applied: keyword, exclude keyword, category, brand, price range, condition, shipping payer, size, status, sort and order. A Search keyword, if set, is combined with them.",
            "items": {
              "type": "string"
            }
          },
          "itemUrls": {
            "title": "Item URLs or IDs",
            "type": "array",
            "description": "Mercari JP item URLs or IDs (item mode).",
            "items": {
              "type": "string"
            }
          },
          "sellerUrls": {
            "title": "Seller URLs or IDs",
            "type": "array",
            "description": "Mercari JP seller profile URLs or numeric IDs (seller mode).",
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Listing status",
            "enum": [
              "on_sale",
              "sold_out",
              "all"
            ],
            "type": "string",
            "description": "Filter by status. Use sold_out for sold comps.",
            "default": "on_sale"
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "score",
              "created",
              "price",
              "likes"
            ],
            "type": "string",
            "description": "Sort order for search results. Newest ranks by the time a listing was last bumped or relisted, which is the `updated` field, not `created`.",
            "default": "score"
          },
          "order": {
            "title": "Sort order",
            "enum": [
              "desc",
              "asc"
            ],
            "type": "string",
            "description": "Ascending or descending. Mercari ignores this for the Newest sort, which always returns most recently bumped first.",
            "default": "desc"
          },
          "priceMin": {
            "title": "Min price (JPY)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price filter in Japanese yen."
          },
          "priceMax": {
            "title": "Max price (JPY)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price filter in Japanese yen."
          },
          "categoryId": {
            "title": "Category IDs",
            "type": "array",
            "description": "Filter search by Mercari category IDs.",
            "items": {
              "type": "string"
            }
          },
          "brandId": {
            "title": "Brand IDs",
            "type": "array",
            "description": "Filter search by Mercari brand IDs.",
            "items": {
              "type": "string"
            }
          },
          "itemConditionId": {
            "title": "Condition IDs (1-6)",
            "type": "array",
            "description": "Filter by item condition IDs, 1 (new) to 6 (poor).",
            "items": {
              "type": "string"
            }
          },
          "shippingPayerId": {
            "title": "Shipping payer IDs (1-2)",
            "type": "array",
            "description": "Filter by who pays shipping: 1 is paid on delivery by the buyer, 2 is included in the price by the seller. Most listings are 2.",
            "items": {
              "type": "string"
            }
          },
          "sizeId": {
            "title": "Size IDs",
            "type": "array",
            "description": "Filter search by Mercari size IDs, for example 9 for 26cm shoes.",
            "items": {
              "type": "string"
            }
          },
          "includeListings": {
            "title": "Include seller listings",
            "type": "boolean",
            "description": "Seller mode: also fetch the seller's items.",
            "default": true
          },
          "listingStatus": {
            "title": "Seller listing status",
            "enum": [
              "active",
              "sold",
              "both"
            ],
            "type": "string",
            "description": "Which seller listings to fetch.",
            "default": "active"
          },
          "maxItemsPerSeller": {
            "title": "Max items per seller",
            "minimum": 1,
            "type": "integer",
            "description": "Listings per seller for each status. Mercari returns at most 120 per status in one run, so active and sold together can reach twice this number. The overall Max items cap applies on top.",
            "default": 50
          },
          "includeTranslation": {
            "title": "Include English translation",
            "type": "boolean",
            "description": "Item mode: add EN title/description.",
            "default": false
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum records for the whole run, across every mode. In seller mode this covers the profile, listings, reviews and followers together, so it is a hard ceiling on what you are charged.",
            "default": 100
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "Parallel requests: item URLs, sellers, and search URLs run concurrently up to this limit.",
            "default": 8
          },
          "useResidentialProxy": {
            "title": "Use residential proxy fallback",
            "type": "boolean",
            "description": "Escalate to JP residential on failure. Not normally needed.",
            "default": false
          },
          "enrichedOutput": {
            "title": "Add resolved names and extra fields",
            "type": "boolean",
            "description": "Turn raw Mercari IDs into readable names (condition, category breadcrumb, shipping payer, size) and add shipping fee and carrier, offer flags, ISO dates, seller profile URL, and days to sell. Off by default so existing CSV columns stay in the same order.",
            "default": false
          },
          "priceCurrencyCountry": {
            "title": "Also show prices in this country's currency",
            "type": "string",
            "description": "Two letter country code, for example US. Adds a converted price and the exchange rate used. Leave empty for JPY only."
          },
          "includeSimilar": {
            "title": "Include similar listings (item mode)",
            "type": "boolean",
            "description": "For each item, also return the listings Mercari shows as similar.",
            "default": false
          },
          "similarPerItem": {
            "title": "Similar listings per item",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "How many similar listings to return per item. 1 to 60.",
            "default": 10
          },
          "availabilityCountry": {
            "title": "Check shipping availability for this country (item mode)",
            "type": "string",
            "description": "Two letter country code, for example US. Adds whether Mercari will ship the item there."
          },
          "includeSellerVerification": {
            "title": "Include seller identity verification (seller mode)",
            "type": "boolean",
            "description": "Adds whether the seller has completed Mercari identity verification.",
            "default": false
          },
          "belowSoldMedian": {
            "title": "Only listings under the sold median (search mode)",
            "type": "boolean",
            "description": "Samples recent sold prices for the same search, then keeps only live listings priced below that median. Useful for spotting underpriced stock.",
            "default": false
          },
          "statsSampleSize": {
            "title": "Listings to sample (stats mode)",
            "minimum": 20,
            "maximum": 1000,
            "type": "integer",
            "description": "How many sold listings to sample when calculating the price statistics. 20 to 1000.",
            "default": 200
          },
          "includeReviews": {
            "title": "Include buyer reviews (seller mode)",
            "type": "boolean",
            "description": "Adds one row per buyer review with the rating, the review text, and who left it. Also adds a seller only rating breakdown to the profile row, which the profile alone does not give.",
            "default": false
          },
          "maxReviewsPerSeller": {
            "title": "Reviews per seller",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "How many reviews to pull per seller. 1 to 2000.",
            "default": 50
          },
          "includeFollowers": {
            "title": "Include followers (seller mode)",
            "type": "boolean",
            "description": "Adds one row per follower with their ID, name, and when they followed.",
            "default": false
          },
          "maxFollowersPerSeller": {
            "title": "Followers per seller",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "How many followers to pull per seller. 1 to 2000.",
            "default": 100
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}