{
  "openapi": "3.0.1",
  "info": {
    "title": "Sitemap URL Extractor: All Website URLs and Status Codes",
    "description": "Give a website or a sitemap link and get every URL in its sitemaps, found through robots.txt and the usual paths, indexes and .gz files followed. Each URL comes with lastmod, priority, image count and hreflang alternates. Filter by pattern or date, and optionally check each URL's HTTP status.",
    "version": "1.0",
    "x-build-id": "jY5SLOctFTvHHOQ4r"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fernandosord~sitemap-url-extractor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fernandosord-sitemap-url-extractor",
        "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/fernandosord~sitemap-url-extractor/runs": {
      "post": {
        "operationId": "runs-sync-fernandosord-sitemap-url-extractor",
        "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/fernandosord~sitemap-url-extractor/run-sync": {
      "post": {
        "operationId": "run-sync-fernandosord-sitemap-url-extractor",
        "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 or sitemap URLs",
            "type": "array",
            "description": "Any mix of websites (example.com, https://www.example.com/blog) and direct sitemap links (https://example.com/sitemap.xml, .xml.gz, .txt). For a website, the Actor reads the Sitemap lines in robots.txt and checks the usual paths such as /sitemap.xml, /sitemap_index.xml and /wp-sitemap.xml, then follows every sitemap index.",
            "items": {
              "type": "string"
            }
          },
          "maxUrls": {
            "title": "Max URLs",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops after saving this many URLs in total. Each saved URL is one result, so this also caps the cost.",
            "default": 50000
          },
          "maxUrlsPerSite": {
            "title": "Max URLs per site",
            "minimum": 1,
            "type": "integer",
            "description": "Optional. Stop reading a site after this many URLs and move on to the next one. Leave empty for no per-site limit."
          },
          "includePatterns": {
            "title": "Only URLs matching",
            "type": "array",
            "description": "Optional. Keep only URLs that match at least one pattern. Three kinds: a path start such as /blog/ (matches the URL path), a glob with * such as */products/* or https://example.com/*/2026/*, or a regular expression between slashes such as /[0-9]{4}/[0-9]{2}/$/ (it must use a regex symbol such as [ ], ( ), | or $, so a plain path like /blog/ stays a path start). A plain word such as pricing keeps URLs that contain it.",
            "items": {
              "type": "string"
            }
          },
          "excludePatterns": {
            "title": "Skip URLs matching",
            "type": "array",
            "description": "Optional. Drop URLs that match any of these patterns. Same pattern kinds as above, for example /tag/, *?page=* or /[.](pdf|jpg)$/i.",
            "items": {
              "type": "string"
            }
          },
          "modifiedAfter": {
            "title": "Only URLs modified after",
            "type": "string",
            "description": "Optional. Uses each URL's lastmod date from the sitemap. A date (2026-01-31) or a period (7 days, 3 months). Sitemap files whose own lastmod is older are skipped without downloading."
          },
          "modifiedBefore": {
            "title": "Only URLs modified before",
            "type": "string",
            "description": "Optional. A date (2026-01-31) or a period (1 year means older than a year)."
          },
          "includeUrlsWithoutLastmod": {
            "title": "Keep URLs without a lastmod date",
            "type": "boolean",
            "description": "Only matters with a date filter. Many sitemaps leave lastmod out; by default those URLs are dropped when you filter by date.",
            "default": false
          },
          "includeImageUrls": {
            "title": "Include image URLs",
            "type": "boolean",
            "description": "Adds the list of image URLs from image sitemaps to each result. The image count is always included.",
            "default": false
          },
          "checkStatus": {
            "title": "Check the HTTP status of each URL",
            "type": "boolean",
            "description": "Requests every saved URL (HEAD, with a GET fallback for servers that refuse HEAD) and adds statusCode, finalStatusCode, finalUrl and redirected. Finds broken (404) and redirecting URLs in your sitemap. Makes the run slower; the price per URL stays the same.",
            "default": false
          },
          "statusConcurrency": {
            "title": "Status checks in parallel",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many URLs are checked at the same time. Lower it if the site starts answering 429 Too Many Requests.",
            "default": 10
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "How long to wait for one status check. Sitemap downloads get twice as long.",
            "default": 30
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Optional. Most sitemaps are public and work without a proxy. Turn on Apify Proxy if a site blocks the requests (HTTP 403 in SUMMARY).",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}