{
  "openapi": "3.0.1",
  "info": {
    "title": "Japan Used Camera Sold Price vs Dealer Ask — Lens Resale Value",
    "description": "Sold comps for any camera or lens model in Japan: what it actually sold for at auction next to the Japanese dealer ask per condition rank (未使用/A/AB+/AB/B), and the spread between them — the used-gear export and proxy-buying decision in one call. From $0.02. 中古カメラの業者ask×落札実売の差を1コールで。",
    "version": "0.1",
    "x-build-id": "O7UYYbjnMMSqKRJQr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/jpmarketdata~japan-camera-gear-sold-comps/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-jpmarketdata-japan-camera-gear-sold-comps",
        "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~japan-camera-gear-sold-comps/runs": {
      "post": {
        "operationId": "runs-sync-jpmarketdata-japan-camera-gear-sold-comps",
        "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~japan-camera-gear-sold-comps/run-sync": {
      "post": {
        "operationId": "run-sync-jpmarketdata-japan-camera-gear-sold-comps",
        "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": [
          "models"
        ],
        "properties": {
          "models": {
            "title": "Camera / lens models",
            "type": "array",
            "description": "One or more model names — the model number is the search key on every site, so no name matching is involved (Nikon Z6, Canon RF 24-70mm F2.8, SIGMA 35mm F1.4 DG DN, Leica M6). Latin script works everywhere; Japanese also works. Each model costs $0.02.",
            "default": [
              "Canon EOS R6"
            ],
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "title": "Sources to price",
            "type": "array",
            "description": "Which side of the market to measure. Fujiya Camera is the DEALER ASK (graded by condition rank), Yahoo! Auctions is the realized SOLD price, Mercari can be either, PayPay Flea Market is a consumer ASK only. The spread needs at least Fujiya plus one sold source. The price per model does not change with the number of sources.",
            "items": {
              "type": "string",
              "enum": [
                "fujiya",
                "yahoo_auction",
                "mercari",
                "paypay_flea"
              ],
              "enumTitles": [
                "Fujiya Camera — dealer ask by condition rank (フジヤカメラ中古)",
                "Yahoo! Auctions — sold / winning bids (ヤフオク落札)",
                "Mercari Japan — sold out and/or on sale (メルカリ)",
                "PayPay Flea Market — consumer ask (PayPayフリマ)"
              ]
            },
            "default": [
              "fujiya",
              "yahoo_auction",
              "mercari"
            ]
          },
          "conditionRanks": {
            "title": "Dealer condition ranks to price",
            "type": "array",
            "description": "Which of the dealer's condition ranks to price. Each rank costs 1-2 extra requests, so narrowing this speeds up multi-model runs. Codes: 1000=未使用/未開封品 (unused), 1001=A, 1002=AB+, 1003=AB, 1004=AB-, 1005=B, 1006=現状品 (as-is), 1007=コレクション (collection). Leave empty for the whole ladder.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "mercariStatus": {
            "title": "Mercari listing status",
            "enum": [
              "sold_out",
              "on_sale",
              "both"
            ],
            "type": "string",
            "description": "What Mercari should contribute. 'Sold out' (default) is a second realized sold reference next to Yahoo! Auctions. 'On sale' is a consumer asking price. 'Both' returns them as two separate blocks so each keeps a single, honest price basis.",
            "default": "sold_out"
          },
          "includeNewReference": {
            "title": "Include the new-price ceiling",
            "type": "boolean",
            "description": "Also measure the dealer's new/outlet price for the same model, so the used discount against new (usedVsNewDiscountPct) can be reported. Costs 1-2 extra requests per model.",
            "default": false
          },
          "priceMinJpy": {
            "title": "Minimum price (JPY, optional)",
            "minimum": 0,
            "type": "integer",
            "description": "Drop auction/flea-market listings priced below this before computing the sold and consumer-ask statistics. This is the de-junking tool: a model name like 'Canon EOS R6' also matches straps, caps and batteries, which drags the sold median far below the body itself — watch spread.mixWarning. Not applied to the dealer block: those counts and rank medians come from the shop's own filters and were never enumerated here."
          },
          "priceMaxJpy": {
            "title": "Maximum price (JPY, optional)",
            "minimum": 0,
            "type": "integer",
            "description": "Drop auction/flea-market listings priced above this before computing the sold and consumer-ask statistics. Useful to cut bundles, full kits and lot sales out of a model."
          },
          "maxListingsPerSource": {
            "title": "Max listings sampled per source",
            "minimum": 30,
            "maximum": 300,
            "type": "integer",
            "description": "How many listings to sample per source before computing the statistics. The dealer rank counts and rank medians are read from the site's own filtered result sets and are NOT affected by this. Yahoo returns 50 per request, Mercari 120, PayPay 100, Fujiya 50, and requests are throttled to one per 1.5 s.",
            "default": 60
          },
          "includeIndividualListings": {
            "title": "Include individual listings",
            "type": "boolean",
            "description": "Off by default: a run costs a flat $0.02 per model, whatever the number of sources. Enable to also get every sampled listing from every source (title, price, condition rank, URL, price basis) at +$0.002 per listing.",
            "default": false
          },
          "convertToUsd": {
            "title": "Convert prices to USD",
            "type": "boolean",
            "description": "Adds USD statistics next to JPY using the current exchange rate (open.er-api.com, looked up once per run).",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}