{
  "openapi": "3.0.1",
  "info": {
    "title": "Keyword Coverage Gap Analyzer EN PL",
    "description": "Compare phrase coverage across up to 100 supplied pages with English or Polish rules. Get document counts, original evidence and duplicate aliases in JSON and CSV. Send your own and reference texts to prepare a review report.",
    "version": "0.1",
    "x-build-id": "4ixyOneaa2xd6OATS"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/danielmichalek~keyword-gap-analyzer/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-danielmichalek-keyword-gap-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/danielmichalek~keyword-gap-analyzer/runs": {
      "post": {
        "operationId": "runs-sync-danielmichalek-keyword-gap-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/danielmichalek~keyword-gap-analyzer/run-sync": {
      "post": {
        "operationId": "run-sync-danielmichalek-keyword-gap-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",
        "required": [
          "language",
          "ownPages",
          "referencePages"
        ],
        "properties": {
          "language": {
            "title": "Text language",
            "enum": [
              "en",
              "pl"
            ],
            "type": "string",
            "description": "Select English or Polish explicitly. Ownership and language are user-declared."
          },
          "ownPages": {
            "title": "Own supplied pages",
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "description": "Supply 1 to 50 page objects. Exact normalized text duplicates count once, with aliases retained. Total input is limited to 2 MB.",
            "items": {
              "type": "object",
              "required": [
                "id",
                "text"
              ],
              "properties": {
                "id": {
                  "title": "Page ID",
                  "type": "string",
                  "description": "Unique within this corpus, up to 160 Unicode code points, without surrounding whitespace or line separators.",
                  "editor": "textfield",
                  "minLength": 1,
                  "maxLength": 160
                },
                "text": {
                  "title": "Supplied page text",
                  "type": "string",
                  "description": "Authorized text, up to 20000 Unicode code points. Strip secrets and unnecessary personal data before upload.",
                  "editor": "textarea",
                  "minLength": 1,
                  "maxLength": 20000
                },
                "sourceUrl": {
                  "title": "Source URL identifier",
                  "type": "string",
                  "description": "Optional HTTP or HTTPS identifier. The Actor removes queries and fragments from outputs and does not fetch this address.",
                  "editor": "textfield",
                  "maxLength": 2048
                }
              }
            }
          },
          "referencePages": {
            "title": "Reference supplied pages",
            "minItems": 1,
            "maxItems": 50,
            "type": "array",
            "description": "Supply 1 to 50 page objects. Exact normalized text duplicates count once, with aliases retained. Total input is limited to 2 MB.",
            "items": {
              "type": "object",
              "required": [
                "id",
                "text"
              ],
              "properties": {
                "id": {
                  "title": "Page ID",
                  "type": "string",
                  "description": "Unique within this corpus, up to 160 Unicode code points, without surrounding whitespace or line separators.",
                  "editor": "textfield",
                  "minLength": 1,
                  "maxLength": 160
                },
                "text": {
                  "title": "Supplied page text",
                  "type": "string",
                  "description": "Authorized text, up to 20000 Unicode code points. Strip secrets and unnecessary personal data before upload.",
                  "editor": "textarea",
                  "minLength": 1,
                  "maxLength": 20000
                },
                "sourceUrl": {
                  "title": "Source URL identifier",
                  "type": "string",
                  "description": "Optional HTTP or HTTPS identifier. The Actor removes queries and fragments from outputs and does not fetch this address.",
                  "editor": "textfield",
                  "maxLength": 2048
                }
              }
            }
          },
          "minNgram": {
            "title": "Minimum words per phrase",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "From 1 to 3, at most maxNgram.",
            "default": 1
          },
          "maxNgram": {
            "title": "Maximum words per phrase",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "From 1 to 3. Punctuation and stopwords break phrase windows. Whitespace includes line breaks.",
            "default": 2
          },
          "minimumDocuments": {
            "title": "Minimum document presence",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "A phrase must occur in at least this many unique documents on one side. Duplicated text does not increase this count.",
            "default": 1
          },
          "maxPhrasesPerGroup": {
            "title": "Returned phrases per group",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "From 1 to 200 for each of referenceOnly, ownOnly and shared. Full eligible counts and truncation remain explicit.",
            "default": 50
          },
          "maxItems": {
            "title": "Complete reports per run",
            "minimum": 1,
            "maximum": 1,
            "type": "integer",
            "description": "One report includes both corpora and all returned phrase groups.",
            "default": 1
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}