{
  "openapi": "3.0.1",
  "info": {
    "title": "Broken Link Checker: Find Dead Links & 404s on Any Website",
    "description": "Crawl a website and check every internal and external link, image, script and stylesheet. Finds 404s, 5xx errors, dead domains, timeouts and redirect chains, with the pages and anchor text where each link appears. $0.50 per 1,000 links.",
    "version": "1.0",
    "x-build-id": "QWdCWUuMrLNMdiXrF"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/globose_talent_mn9~broken-link-checker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-globose_talent_mn9-broken-link-checker",
        "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/globose_talent_mn9~broken-link-checker/runs": {
      "post": {
        "operationId": "runs-sync-globose_talent_mn9-broken-link-checker",
        "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/globose_talent_mn9~broken-link-checker/run-sync": {
      "post": {
        "operationId": "run-sync-globose_talent_mn9-broken-link-checker",
        "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": "Websites to check",
            "type": "array",
            "description": "One website or start page per line, e.g. https://example.com. The Actor crawls each site and checks every link it finds.",
            "items": {
              "type": "string"
            }
          },
          "startUrlsText": {
            "title": "Bulk list (optional)",
            "type": "string",
            "description": "Paste many websites separated by new lines, spaces or commas."
          },
          "maxPagesPerSite": {
            "title": "Max pages to crawl per website",
            "minimum": 1,
            "type": "integer",
            "description": "How many pages of each site to scan for links. Pages are free; you pay per link checked.",
            "default": 100
          },
          "maxLinksPerSite": {
            "title": "Max links to check per website",
            "minimum": 1,
            "type": "integer",
            "description": "Unique links (URLs) to check on each site.",
            "default": 2000
          },
          "maxLinksTotal": {
            "title": "Max links in total",
            "minimum": 0,
            "type": "integer",
            "description": "0 = no limit.",
            "default": 0
          },
          "maxDepth": {
            "title": "Max link depth",
            "minimum": 0,
            "type": "integer",
            "description": "How many clicks away from the start page to crawl. 0 = check only the links on the start pages.",
            "default": 10
          },
          "checkExternalLinks": {
            "title": "Check external links",
            "type": "boolean",
            "description": "Also check links to other websites (outbound links).",
            "default": true
          },
          "checkResources": {
            "title": "Check images, scripts, stylesheets and iframes",
            "type": "boolean",
            "description": "Find broken images and assets, not only <a> links.",
            "default": true
          },
          "includeSubdomains": {
            "title": "Crawl subdomains",
            "type": "boolean",
            "description": "Also crawl pages on blog.example.com, docs.example.com and so on.",
            "default": false
          },
          "includePatterns": {
            "title": "Only crawl pages matching",
            "type": "array",
            "description": "Optional. Only crawl pages whose URL contains one of these patterns (* wildcard or /regex/), e.g. /docs/*.",
            "items": {
              "type": "string"
            }
          },
          "excludePatterns": {
            "title": "Don't crawl pages matching",
            "type": "array",
            "description": "Optional. Pages to skip when crawling (their links are still checked if found elsewhere).",
            "items": {
              "type": "string"
            }
          },
          "skipLinksMatching": {
            "title": "Don't check links matching",
            "type": "array",
            "description": "Optional. Links to ignore entirely, e.g. linkedin.com or /cdn-cgi/.",
            "items": {
              "type": "string"
            }
          },
          "respectRobotsTxt": {
            "title": "Respect robots.txt when crawling",
            "type": "boolean",
            "description": "Skip pages disallowed by robots.txt (and honour crawl-delay).",
            "default": true
          },
          "onlyProblems": {
            "title": "Only save problem links",
            "type": "boolean",
            "description": "Save only broken, server-error and timed-out links (plus redirects if enabled below). Every checked link is still charged.",
            "default": false
          },
          "reportRedirects": {
            "title": "Treat redirects as problems",
            "type": "boolean",
            "description": "With 'Only save problem links', also save links that redirect (useful for SEO clean-ups).",
            "default": false
          },
          "maxConcurrency": {
            "title": "Parallel page requests",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Parallel requests while crawling the site.",
            "default": 5
          },
          "linkConcurrency": {
            "title": "Parallel link checks",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Parallel link checks (at most 2 at a time per host).",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}