{
  "openapi": "3.0.1",
  "info": {
    "title": "Mercari Scraper | Listings, Sold Prices and Sellers",
    "description": "Mercari scraper for Mercari Japan (メルカリ): 100 listings in 13 seconds, 47 fields each. Get the price in yen, real sold prices, condition, full description, category, brand, seller name, ratings and sales, shipping origin and every photo. Search by keyword, URL or id, no Mercari account needed.",
    "version": "1.0",
    "x-build-id": "xcQ9VGoRid2dA295e"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/silentflow~mercari-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-silentflow-mercari-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/silentflow~mercari-scraper/runs": {
      "post": {
        "operationId": "runs-sync-silentflow-mercari-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/silentflow~mercari-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-silentflow-mercari-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",
        "properties": {
          "keywords": {
            "title": "🔎 Keywords",
            "type": "array",
            "description": "What to search on Mercari Japan, one keyword per line, in Japanese or English (<code>nintendo switch</code>, <code>ポケモンカード</code>). Put a minus before a word to leave it out: <code>nintendo switch -ジャンク</code> skips broken, for-parts listings. Every keyword runs its own search with the same filters below and the results are combined without duplicates. A popular keyword has thousands of listings: set <b>Max listings</b> to what you need.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "🔗 Mercari URLs",
            "type": "array",
            "description": "Paste jp.mercari.com addresses: a filtered search, a listing (<code>/item/m…</code>), a Mercari Shops product, a seller profile (<code>/user/profile/123</code>: whole inventory, or only the statuses picked below), a category or a brand page. Filters written in a URL win over the filters below for that URL.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "🔢 Max listings",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many listings across all keywords, URLs and sellers. Each listing is one row, so the run cost scales with this number. A search page holds 120 listings; 100 rows take about 30 seconds.",
            "default": 100
          },
          "maxItemsPerSeller": {
            "title": "👤 Max listings per seller",
            "minimum": 1,
            "type": "integer",
            "description": "At most this many listings from one seller or shop. On a seller profile the run stops reading that inventory there, so ten sellers at 20 each give 200 rows; on a keyword search it keeps one big reseller from filling your results. Leave empty for no cap."
          },
          "status": {
            "title": "📦 Status, condition and shipping",
            "type": "array",
            "description": "Pick any mix, for every keyword and seller profile: status (<b>On sale</b>; <b>Sold</b> and <b>Trading</b> are the real sold comps), item condition (new to poor) and who pays shipping. With no status picked, keywords keep on-sale listings and a seller profile returns its whole inventory, sold included.",
            "items": {
              "type": "string",
              "enum": [
                "on_sale",
                "sold_out",
                "trading",
                "new",
                "like_new",
                "good",
                "fair",
                "poor",
                "bad",
                "shipping_included",
                "buyer_pays"
              ],
              "enumTitles": [
                "On sale",
                "Sold",
                "Trading (sold, in transit)",
                "Condition: New, unused",
                "Condition: Like new",
                "Condition: No noticeable scratches or stains",
                "Condition: Some scratches or stains",
                "Condition: Damaged or stained",
                "Condition: Poor condition",
                "Shipping included (seller pays)",
                "Buyer pays shipping"
              ]
            }
          },
          "brandOrCategory": {
            "title": "🏷️ Brand or category",
            "type": "array",
            "description": "Keep one brand or category, named as Mercari writes it in English or Japanese (<code>Nintendo</code>, <code>任天堂</code>, <code>Video Games > Nintendo Switch</code>) or as its jp.mercari.com address. One per line; alone, it lists that brand or category.",
            "items": {
              "type": "string"
            }
          },
          "sort": {
            "title": "↕️ Sort by",
            "enum": [
              "relevance",
              "newest",
              "oldest",
              "price_asc",
              "price_desc",
              "most_liked"
            ],
            "type": "string",
            "description": "Order Mercari returns the listings in. <b>Newest first</b> is the right choice for a monitoring schedule, <b>Most liked</b> surfaces the listings buyers are watching.",
            "default": "relevance"
          },
          "priceMin": {
            "title": "💴 Min price (JPY)",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings priced at or above this amount in yen. Leave empty for no minimum."
          },
          "priceMax": {
            "title": "💴 Max price (JPY)",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings priced at or below this amount in yen. Leave empty for no maximum."
          },
          "convertCurrency": {
            "title": "💱 Also show prices in",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "CNY",
              "TWD",
              "HKD",
              "KRW",
              "AUD",
              "CAD",
              "SGD",
              "THB",
              "MYR",
              "PHP",
              "BRL"
            ],
            "type": "string",
            "description": "Every row keeps its price in yen and adds it in this currency, at the rate Mercari itself shows buyers abroad (<code>convertedPrice</code>, <code>convertedCurrency</code>). Compare with eBay or your local market, or budget an import before you buy from abroad. The price filters above stay in yen.",
            "default": "USD"
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}