{
  "openapi": "3.0.1",
  "info": {
    "title": "Mercari Japan Underpriced Deals — Under the Sold Price",
    "description": "Type a keyword and get the Mercari Japan listings on sale now for less than the item usually sells for. Returns each deal with price, discount vs the sold median, condition and link, plus the sold median behind it. $0.02 per keyword + $0.002 per deal; unusable sold prices = no charge. Unofficial.",
    "version": "0.1",
    "x-build-id": "SqjadRyqshSo81qES"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jpmarketdata~mercari-japan-underpriced-deals/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jpmarketdata-mercari-japan-underpriced-deals",
        "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/jpmarketdata~mercari-japan-underpriced-deals/runs": {
      "post": {
        "operationId": "runs-sync-jpmarketdata-mercari-japan-underpriced-deals",
        "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/jpmarketdata~mercari-japan-underpriced-deals/run-sync": {
      "post": {
        "operationId": "run-sync-jpmarketdata-mercari-japan-underpriced-deals",
        "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": [
          "keywords"
        ],
        "properties": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Search terms, e.g. \"Nikon Z6\". Each keyword gets its own sold-comp basis.",
            "items": {
              "type": "string"
            }
          },
          "dealThresholdPct": {
            "title": "Deal threshold (% of sold median)",
            "minimum": 10,
            "maximum": 100,
            "type": "integer",
            "description": "A live listing counts as a deal when its price is at or below this percentage of the sold-comp median. 80 means \"20% under the going rate\".",
            "default": 80
          },
          "maxSoldComps": {
            "title": "Max sold comps",
            "minimum": 20,
            "maximum": 600,
            "type": "integer",
            "description": "How many sold listings to sample for the basis. More comps mean a steadier median.",
            "default": 120
          },
          "maxLiveListings": {
            "title": "Max live listings",
            "minimum": 20,
            "maximum": 600,
            "type": "integer",
            "description": "How many on-sale listings to score against the basis.",
            "default": 120
          },
          "minComps": {
            "title": "Min comps required",
            "minimum": 2,
            "maximum": 100,
            "type": "integer",
            "description": "Refuse to score a keyword with fewer sold comps than this. Guards against a median built on two data points.",
            "default": 8
          },
          "maxCompSpread": {
            "title": "Max comp spread (p75 / p25)",
            "type": "string",
            "description": "Coherence ceiling for the basis. A keyword whose sold comps span more than this ratio from p25 to p75 is mixing price tiers (a camera search also returns its batteries and manuals) and is refused rather than scored. Raise it only if you know the keyword is one product tier.",
            "default": "4.0"
          },
          "priceMinJpy": {
            "title": "Min price (JPY)",
            "minimum": 0,
            "type": "integer",
            "description": "Applied to both the sold comps and the live listings. The way to pin a wide keyword to one product tier, and in practice the input that decides whether a keyword can be scored at all: measured 2026-08-18, \"Nikon Z6\" alone is refused (its sold comps span 13.9x, because adapters and guide books share the name) while \"Nikon Z6\" with 50000 here spans 1.66x and finds 37 deals."
          },
          "priceMaxJpy": {
            "title": "Max price (JPY)",
            "minimum": 0,
            "type": "integer",
            "description": "Applied to both sides, like the minimum."
          },
          "includeIndividualDeals": {
            "title": "Include individual deals",
            "type": "boolean",
            "description": "Also return each matching listing (charged per deal).",
            "default": true
          },
          "convertToUsd": {
            "title": "Convert to USD",
            "type": "boolean",
            "description": "Add USD figures alongside JPY.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}