{
  "openapi": "3.0.1",
  "info": {
    "title": "JACKROAD Japan Watch Prices — New, Used, Vintage, In Stock",
    "description": "Type a watch model or reference number like 116500LN and get what JACKROAD in Tokyo asks for it. Returns the typical price and lowest–highest in yen, how many are new, used or vintage, how many are in stock, and how many are already sold out. $0.02 per keyword, no results = no charge. Unofficial.",
    "version": "0.1",
    "x-build-id": "6N8AgGITgZAHRkRRx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jpmarketdata~jackroad-watch-price-checker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jpmarketdata-jackroad-watch-price-checker",
        "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~jackroad-watch-price-checker/runs": {
      "post": {
        "operationId": "runs-sync-jpmarketdata-jackroad-watch-price-checker",
        "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~jackroad-watch-price-checker/run-sync": {
      "post": {
        "operationId": "run-sync-jpmarketdata-jackroad-watch-price-checker",
        "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": "Watch models or reference numbers",
            "type": "array",
            "description": "One line per watch to look up at JACKROAD: a reference number (`116500LN`), a model name (`daytona`), or a brand (`rolex` or `ロレックス`). Japanese and Latin spellings both work, and Japanese words are sent in the shop's own Japanese character set for you. Each keyword is charged $0.02, and a keyword that finds nothing is not charged.",
            "default": [
              "daytona"
            ],
            "items": {
              "type": "string"
            }
          },
          "watchesOnly": {
            "title": "Watches only",
            "type": "boolean",
            "description": "On by default: only JACKROAD's watch section is counted, so the jewellery, bags and apparel that happen to match the same word stay out of every number. Turn it off to count the whole shop, which usually raises the item count and widens the lowest-highest range. Does not change what a run costs.",
            "default": true
          },
          "conditionFilter": {
            "title": "Condition",
            "enum": [
              "all",
              "new",
              "used",
              "vintage"
            ],
            "type": "string",
            "description": "Which listings the price figures are measured on. Every condition covers the whole result; the other three narrow it to JACKROAD's own new, used or vintage section. The new / used / vintage counts come back either way, so narrowing only changes what the prices describe. Does not change what a run costs.",
            "default": "all"
          },
          "availabilityFilter": {
            "title": "In stock or sold out",
            "enum": [
              "all",
              "in_stock",
              "sold_out"
            ],
            "type": "string",
            "description": "Which listings the price figures are measured on. Everything listed includes the sold-out watches, which stay on the site with the price they were asking. The in stock / on request / sold out counts come back either way, so narrowing only changes what the prices describe. Does not change what a run costs.",
            "default": "all"
          },
          "maxItemsPerKeyword": {
            "title": "Listings measured per keyword",
            "minimum": 1,
            "maximum": 360,
            "type": "integer",
            "description": "How many listings the price figures are measured on, 1 to 360, read 120 at a time. With Include individual listings on it is also the cap on how many rows come back, and each row is charged $0.002 on top of the $0.02 for the keyword; 360 rows stays far below the $3.00 Maximum cost per run. Every extra 120 is one more read, so a high number makes the run slower.",
            "default": 120
          },
          "itemOrder": {
            "title": "Order of the listings",
            "enum": [
              "price_asc",
              "price_desc",
              "newest"
            ],
            "type": "string",
            "description": "The order JACKROAD returns the listings in; it comes back as `sortUsed`. It decides which listings are read first and so which ones fall inside the limit above, which moves the price figures whenever a keyword has more listings than you measure. The shop's own default order is never used, because it is not a price order. Does not change what a run costs.",
            "default": "price_asc"
          },
          "priceLadder": {
            "title": "Price bands (yen)",
            "type": "array",
            "description": "Upper limits in yen, at most 6, e.g. `[1000000, 3000000, 10000000]`. For each one you get JACKROAD's own count of every listing at or below that price, as `priceBands` — a count of the whole result, not of the listings read. Leave it empty for no bands. Each limit is one more read, so a long list makes the run slower. Does not change what a run costs.",
            "default": []
          },
          "includeIndividualItems": {
            "title": "Include individual listings",
            "type": "boolean",
            "description": "Off by default: a run costs a flat $0.02 per keyword summary. Turn it on to also get one row per listing — brand, model name, reference number, new / used / vintage, in stock or sold out, price in yen, case size, movement and the product link — at +$0.002 per row.",
            "default": false
          },
          "convertToUsd": {
            "title": "Convert prices to USD",
            "type": "boolean",
            "description": "Adds USD figures next to the yen ones at the current exchange rate (open.er-api.com). A failed rate lookup never fails the run — the yen numbers simply come back on their own.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}