{
  "openapi": "3.0.1",
  "info": {
    "title": "Hreflang & Sitemap Auditor",
    "description": "Audit multilingual sites for missing hreflang return links, invalid locale codes, canonical conflicts and noindex. Export page evidence as JSON, CSV and HTML.",
    "version": "0.0",
    "x-build-id": "da5bqrpdfHG4tP048"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ect200~hreflang-sitemap-auditor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ect200-hreflang-sitemap-auditor",
        "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/ect200~hreflang-sitemap-auditor/runs": {
      "post": {
        "operationId": "runs-sync-ect200-hreflang-sitemap-auditor",
        "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/ect200~hreflang-sitemap-auditor/run-sync": {
      "post": {
        "operationId": "run-sync-ect200-hreflang-sitemap-auditor",
        "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": [
          "permissionConfirmed",
          "allowedHosts",
          "pageUrls",
          "sitemapUrls",
          "maxPages",
          "maxResults",
          "maxSitemaps",
          "pageOffset",
          "maxRequests",
          "maxDurationSecs",
          "maxConcurrency",
          "maxRetries",
          "requestTimeoutMs",
          "requestDelayMs",
          "maxResponseBytes",
          "maxTotalBytes"
        ],
        "properties": {
          "permissionConfirmed": {
            "title": "I have permission to audit these sites",
            "type": "boolean",
            "description": "Required. Must be true at runtime. The prefilled confirmation covers only the example.com demo. Before changing hosts, confirm you have permission to audit every site. Only public pages and explicitly allowed hosts are fetched.",
            "default": false
          },
          "allowedHosts": {
            "title": "Allowed Hosts",
            "minItems": 1,
            "maxItems": 20,
            "type": "array",
            "description": "Exact hostnames, including each www/subdomain used. No wildcards, schemes or ports.",
            "items": {
              "type": "string",
              "minLength": 3,
              "maxLength": 253,
              "pattern": "^[a-zA-Z0-9.-]+$"
            }
          },
          "pageUrls": {
            "title": "Page Urls",
            "maxItems": 1000,
            "type": "array",
            "description": "Explicit public page URLs. Combined with sitemap URLs; at least one source is required.",
            "items": {
              "type": "string",
              "maxLength": 2048
            },
            "default": []
          },
          "sitemapUrls": {
            "title": "Sitemap Urls",
            "maxItems": 10,
            "type": "array",
            "description": "Direct XML or XML.gz sitemap URLs. Indexes are followed within maxSitemaps.",
            "items": {
              "type": "string",
              "maxLength": 2048
            },
            "default": []
          },
          "maxPages": {
            "title": "Max Pages",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Max Pages. Allowed range: 1 to 1000. Default: 100.",
            "default": 100
          },
          "maxResults": {
            "title": "Max Results",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Max Results. Allowed range: 1 to 1000. Default: 100.",
            "default": 100
          },
          "maxSitemaps": {
            "title": "Max Sitemaps",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Max Sitemaps. Allowed range: 1 to 20. Default: 10.",
            "default": 10
          },
          "pageOffset": {
            "title": "Page Offset",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Skip this many unique discovered page URLs; stable sources required across runs. SUMMARY provides the next offset when known.",
            "default": 0
          },
          "maxRequests": {
            "title": "Max Requests",
            "minimum": 1,
            "maximum": 3000,
            "type": "integer",
            "description": "Max Requests. Allowed range: 1 to 3000. Default: 500.",
            "default": 500
          },
          "maxDurationSecs": {
            "title": "Max Duration Secs",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Max Duration Secs. Allowed range: 1 to 300. Default: 120.",
            "default": 120
          },
          "maxConcurrency": {
            "title": "Max Concurrency",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Max Concurrency. Allowed range: 1 to 5. Default: 2.",
            "default": 2
          },
          "maxRetries": {
            "title": "Max Retries",
            "minimum": 0,
            "maximum": 2,
            "type": "integer",
            "description": "Max Retries. Allowed range: 0 to 2. Default: 1.",
            "default": 1
          },
          "requestTimeoutMs": {
            "title": "Request Timeout Ms",
            "minimum": 100,
            "maximum": 15000,
            "type": "integer",
            "description": "Request Timeout Ms. Allowed range: 100 to 15000. Default: 5000.",
            "default": 5000
          },
          "requestDelayMs": {
            "title": "Request Delay Ms",
            "minimum": 200,
            "maximum": 5000,
            "type": "integer",
            "description": "Request Delay Ms. Allowed range: 200 to 5000. Default: 500.",
            "default": 500
          },
          "maxResponseBytes": {
            "title": "Max Response Bytes",
            "minimum": 1024,
            "maximum": 1048576,
            "type": "integer",
            "description": "Max Response Bytes. Allowed range: 1024 to 1048576. Default: 524288.",
            "default": 524288
          },
          "maxTotalBytes": {
            "title": "Max Total Bytes",
            "minimum": 1024,
            "maximum": 67108864,
            "type": "integer",
            "description": "Max Total Bytes. Allowed range: 1024 to 67108864. Default: 16777216.",
            "default": 16777216
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}