{
  "openapi": "3.0.1",
  "info": {
    "title": "Japan Stationery Rankings & Prices (文房具ランキング)",
    "description": "Pick a stationery category (pens, notebooks, planners, office, stickers...) and get Japanese bestseller rankings and prices from Rakuten, Amazon.co.jp, LOFT, MUJI, Hands and Itoya in one table: rank, JAN, maker, price in yen, rating, reviews, stock, with rank and price change since your last run.",
    "version": "0.1",
    "x-build-id": "jjF2NZwOFFPc5eK3n"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/magenta_courser~japan-stationery-rankings/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-magenta_courser-japan-stationery-rankings",
        "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/magenta_courser~japan-stationery-rankings/runs": {
      "post": {
        "operationId": "runs-sync-magenta_courser-japan-stationery-rankings",
        "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/magenta_courser~japan-stationery-rankings/run-sync": {
      "post": {
        "operationId": "run-sync-magenta_courser-japan-stationery-rankings",
        "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": {
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Stationery categories, mapped to the matching ranking or category list of every selected source. Sources without a matching list are skipped (free).",
            "items": {
              "type": "string",
              "enum": [
                "all",
                "writing",
                "notebooks",
                "planners",
                "office",
                "stickersTapes",
                "pencases",
                "lettersCards",
                "calendars"
              ],
              "enumTitles": [
                "All stationery (文房具 総合)",
                "Pens & pencils (筆記具)",
                "Notebooks & memo pads (ノート・メモ)",
                "Planners & diaries (手帳)",
                "Office supplies & files (事務用品・ファイル)",
                "Stickers, masking tape & stamps (シール・マスキングテープ)",
                "Pen cases (ペンケース)",
                "Letters, cards & envelopes (レター・カード)",
                "Calendars (カレンダー)"
              ]
            }
          },
          "sources": {
            "title": "Sources",
            "type": "array",
            "description": "Which stores to read. rakuten = Rakuten Ichiba ranking (楽天ランキング), amazon = Amazon.co.jp best sellers (売れ筋ランキング), loft = LOFT net store ranking, muji = MUJI net store in best-selling order, hands = Hands net store category list (needs a Japanese residential proxy, used automatically), itoya = Itoya (伊東屋) online store, newest first. Leave empty for all six.",
            "items": {
              "type": "string",
              "enum": [
                "rakuten",
                "amazon",
                "loft",
                "muji",
                "hands",
                "itoya"
              ],
              "enumTitles": [
                "Rakuten Ichiba ranking (楽天市場)",
                "Amazon.co.jp best sellers",
                "LOFT ranking (ロフト)",
                "MUJI best-selling (無印良品)",
                "Hands (ハンズ)",
                "Itoya (伊東屋)"
              ]
            }
          },
          "maxItems": {
            "title": "Max products per list",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum products per source and category. Natural limits: Amazon 100, LOFT 40 (overall stationery 10), Rakuten 1,000. 6 sources x 1 category x 50 = up to about 290 rows.",
            "default": 50
          },
          "listUrls": {
            "title": "Ranking or category URLs (optional)",
            "type": "array",
            "description": "Any supported list, e.g. https://ranking.rakuten.co.jp/daily/100926/, https://www.amazon.co.jp/gp/bestsellers/office-products/89088051/, https://www.loft.co.jp/store/r/rr30104/, https://www.muji.com/jp/ja/store/cmdty/section/S1070105, https://hands.net/cate/stationery/seal/ or https://www.ito-ya.co.jp/category/E5/.",
            "items": {
              "type": "string"
            }
          },
          "rakutenPeriod": {
            "title": "Rakuten ranking period",
            "enum": [
              "daily",
              "weekly",
              "realtime"
            ],
            "type": "string",
            "description": "Rakuten ranking type for preset categories (a pasted Rakuten URL keeps its own period).",
            "default": "daily"
          },
          "compareWithLastRun": {
            "title": "Compare with last run",
            "type": "boolean",
            "description": "Adds previousRank, rankChange (positive = moved up), previousPrice, priceChange, priceChangePercent, previousInStock and isNewEntry compared with the last completed run of the same list (kept in a named key-value store).",
            "default": true
          },
          "outputMode": {
            "title": "Output",
            "enum": [
              "all",
              "changesOnly"
            ],
            "type": "string",
            "description": "changesOnly saves (and charges) only products that are new in the list or whose rank, price or stock changed since the last run. The first run of each list saves everything.",
            "default": "all"
          },
          "historyStoreName": {
            "title": "History store name",
            "type": "string",
            "description": "Named key-value store that keeps the last ranks and prices. Use a different name to keep separate histories (e.g. per schedule).",
            "default": "japan-stationery-rank-history"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy for Rakuten, Amazon, LOFT, MUJI and Itoya. The default datacenter proxy works for them.",
            "default": {
              "useApifyProxy": true
            }
          },
          "useJapanResidentialForHands": {
            "title": "Use Japanese residential proxy for Hands",
            "type": "boolean",
            "description": "Hands refuses datacenter IPs, so its requests go through Apify RESIDENTIAL proxy with country JP. Turn off only if your account has no residential proxy (Hands lists will then fail, free of charge).",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}