{
  "openapi": "3.0.1",
  "info": {
    "title": "SEO Page Audit: Meta, Headings, Links, Schema & Redirects",
    "description": "SEO page audit over plain HTTP: meta, headings, canonical, schema, hreflang, redirects, links and a 0-100 score per page. $6 per 1,000 pages. Errors are free.",
    "version": "0.1",
    "x-build-id": "z7yLA9HuQYq3o0xCJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/ataism~seo-page-audit/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-ataism-seo-page-audit",
        "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/ataism~seo-page-audit/runs": {
      "post": {
        "operationId": "runs-sync-ataism-seo-page-audit",
        "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/ataism~seo-page-audit/run-sync": {
      "post": {
        "operationId": "run-sync-ataism-seo-page-audit",
        "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": {
          "startUrls": {
            "title": "Page URLs / start URLs",
            "type": "array",
            "description": "One URL per line (http or https; a bare host gets https://). Each URL is audited as one page. With \"Crawl the whole site\" on, they are the places the crawl starts from. At most 500. Private, local and internal addresses are blocked.",
            "items": {
              "type": "string"
            }
          },
          "crawlSite": {
            "title": "Crawl the whole site",
            "type": "boolean",
            "description": "Off (default): audit only the URLs listed above. On: follow links to other pages on the same host (exact host name, no subdomains) until Max pages is reached. Links to pages disallowed by robots.txt become \"blocked-by-robots\" rows that are not charged.",
            "default": false
          },
          "maxPages": {
            "title": "Max pages (crawl only)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Crawl limit: the most page rows the whole run produces when \"Crawl the whole site\" is on (audited pages and uncharged rows together). Default 1, maximum 500. Ignored when crawling is off, where every listed URL is audited (up to 500).",
            "default": 1
          },
          "requestsPerSecond": {
            "title": "Requests per second per host",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "Politeness limit for every request sent to one host (pages, robots.txt, sitemaps, link checks). Default 1, maximum 4. A Crawl-delay in robots.txt is honoured in full (never shortened) when it is longer than this gap; see Allow slow hosts.",
            "default": 1
          },
          "allowSlowHosts": {
            "title": "Allow slow hosts",
            "type": "boolean",
            "description": "Off: a site whose robots.txt asks for a Crawl-delay over 2 seconds is skipped (free \"slow-host\" rows), because waiting between requests makes the run slow and the compute cost can exceed the page price. On: sites with a delay of 2 to 10 seconds are audited and the delay is honoured in full for every request to the host (pages, link checks, hreflang checks, sitemaps), so the run takes longer and the waiting is billed as run time (a 10 second delay costs about 9% of the page price in compute at $0.20 per compute unit). Sites that ask for more than 10 seconds are still skipped. Default off.",
            "default": false
          },
          "checkLinks": {
            "title": "Check link status",
            "type": "boolean",
            "description": "Sends HEAD requests (GET if HEAD fails) to links found on each audited page and reports broken ones. Included in the page price, but it makes the run slower because of the per-host delay. Links disallowed by robots.txt are skipped. Default off.",
            "default": false
          },
          "maxLinksPerPage": {
            "title": "Links to check per page",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "Only the first N unique links of each page are checked (internal links first). Default 10, maximum 25. At most 5,000 link requests per run; repeated links are checked once.",
            "default": 10
          },
          "checkHreflang": {
            "title": "Check hreflang return links",
            "type": "boolean",
            "description": "Fetches up to 10 alternate pages named in each page's hreflang tags and checks that they link back. Default off.",
            "default": false
          },
          "siteFiles": {
            "title": "Summarise robots.txt and sitemap.xml",
            "type": "boolean",
            "description": "Adds one extra row per site (rowType \"site\") with the robots.txt rules that apply to this Actor and a summary of up to 8 sitemap files. Not charged. Default off.",
            "default": false
          },
          "timeoutSecs": {
            "title": "Timeout per page (seconds)",
            "minimum": 5,
            "maximum": 60,
            "type": "integer",
            "description": "Per page, including redirects. Default 30, maximum 60.",
            "default": 30
          },
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "Internal: \"selfTest\" runs the maintainer health check and saves no items.",
            "default": "run"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}