{
  "openapi": "3.0.1",
  "info": {
    "title": "Japanese Text Analyzer - Tokenizer, Furigana, Romaji & Keywords",
    "description": "Analyze Japanese text offline: morphological tokenizer (part of speech, base form), kana reading, furigana, romaji, keyword extraction and text stats. Batch texts or enrich any dataset such as reviews or comments. No API key.",
    "version": "0.1",
    "x-build-id": "PoqCvmLJ3YIbCrqvy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/panda_studio~japanese-text-analyzer/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-panda_studio-japanese-text-analyzer",
        "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/panda_studio~japanese-text-analyzer/runs": {
      "post": {
        "operationId": "runs-sync-panda_studio-japanese-text-analyzer",
        "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/panda_studio~japanese-text-analyzer/run-sync": {
      "post": {
        "operationId": "run-sync-panda_studio-japanese-text-analyzer",
        "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": {
          "texts": {
            "title": "Texts",
            "type": "array",
            "description": "Japanese texts to analyze, one per line/item. Names, sentences, reviews, titles, etc.",
            "default": [
              "東京都で美味しいラーメンを食べました。とても良かったです！",
              "私は日本語を勉強しています。",
              "鈴木一郎"
            ],
            "items": {
              "type": "string"
            }
          },
          "datasetId": {
            "title": "Or: analyze a dataset",
            "type": "string",
            "description": "Dataset to enrich (for example the output of a Google Maps review, YouTube comment or product scraper run). Pick it from your storages or paste its ID. Each item is analyzed."
          },
          "textField": {
            "title": "Text field in the dataset",
            "type": "string",
            "description": "Field that holds the Japanese text. Dot notation works, e.g. \"review.text\".",
            "default": "text"
          },
          "idField": {
            "title": "ID field to copy (optional)",
            "type": "string",
            "description": "Field copied to the output as sourceId so you can join the results back, e.g. \"reviewId\"."
          },
          "keepOriginalFields": {
            "title": "Keep all original fields",
            "type": "boolean",
            "description": "Output = original item + analysis fields.",
            "default": false
          },
          "includeReading": {
            "title": "Kana reading",
            "type": "boolean",
            "description": "readingKatakana and readingHiragana of the whole text.",
            "default": true
          },
          "includeFurigana": {
            "title": "Furigana",
            "type": "boolean",
            "description": "Kanji annotated with readings.",
            "default": true
          },
          "furiganaFormat": {
            "title": "Furigana format",
            "enum": [
              "bracket",
              "html"
            ],
            "type": "string",
            "description": "How furigana is written.",
            "default": "bracket"
          },
          "includeRomaji": {
            "title": "Romaji",
            "type": "boolean",
            "description": "Word-separated romaji (wapuro style: toukyou, raamen; particles は/を/へ as wa/o/e).",
            "default": true
          },
          "includeKeywords": {
            "title": "Keywords",
            "type": "boolean",
            "description": "Most frequent nouns and compound nouns.",
            "default": true
          },
          "maxKeywords": {
            "title": "Max keywords per text",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Number of keywords per text.",
            "default": 10
          },
          "includeStats": {
            "title": "Text statistics",
            "type": "boolean",
            "description": "Characters by script, kanji ratio, sentence count, average sentence length, token count.",
            "default": true
          },
          "includeTokens": {
            "title": "Full token list",
            "type": "boolean",
            "description": "Every token with part of speech (Japanese + English), base form, reading, pronunciation, conjugation. Makes the output much larger.",
            "default": false
          },
          "skipEmpty": {
            "title": "Skip empty texts",
            "type": "boolean",
            "description": "Do not output (or charge) rows whose text is empty.",
            "default": true
          },
          "maxItems": {
            "title": "Max texts",
            "minimum": 1,
            "type": "integer",
            "description": "Safety cap for the number of analyzed texts (and cost) of one run.",
            "default": 10000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}