{
  "openapi": "3.0.1",
  "info": {
    "title": "CNN Sections & Tags Scraper",
    "description": "Enumerates the section and tag taxonomy of six CNN editions -- slug, URL, hierarchy depth and last-modified date -- so you know which section values the other CNN scrapers accept. Covers 198 US sections, 1,137 Espanol sections and 2,236 Arabic tags.",
    "version": "0.1",
    "x-build-id": "ljPJLVXEJiT2ateGa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapyx~cnn-sections-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapyx-cnn-sections-scraper",
        "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/scrapyx~cnn-sections-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapyx-cnn-sections-scraper",
        "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/scrapyx~cnn-sections-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapyx-cnn-sections-scraper",
        "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": {
          "editions": {
            "title": "CNN editions",
            "type": "array",
            "description": "Six editions publish a section or tag sitemap. The other six are listed here so that asking for one returns a clear ERROR row naming why, rather than a silent miss.",
            "items": {
              "type": "string",
              "enum": [
                "us",
                "intl",
                "espanol",
                "arabic",
                "greece",
                "indonesia",
                "brasil",
                "chile",
                "czech",
                "portugal",
                "japan",
                "turkiye"
              ],
              "enumTitles": [
                "CNN US (198 sections)",
                "CNN International (198 sections)",
                "CNN en Espanol (1,137 sections)",
                "CNN Arabic (53 sections, 2,236 tags)",
                "CNN Greece (53 sections, tags)",
                "CNN Indonesia (9 sections)",
                "CNN Brasil (NONE)",
                "CNN Chile (NONE)",
                "CNN Prima News (NONE)",
                "CNN Portugal (NONE)",
                "CNN.co.jp (NONE)",
                "CNN Turk (NONE)"
              ]
            },
            "default": [
              "us"
            ]
          },
          "taxonomyKinds": {
            "title": "What to enumerate",
            "type": "array",
            "description": "Sections are the site's navigation hierarchy; tags are topic and entity pages. Only CNN Arabic and CNN Greece publish a tag sitemap -- asking for tags on another edition returns an ERROR row saying exactly that.",
            "items": {
              "type": "string",
              "enum": [
                "section",
                "tag"
              ],
              "enumTitles": [
                "Sections",
                "Tags / topics"
              ]
            },
            "default": [
              "section"
            ]
          },
          "keywords": {
            "title": "Keyword filter (client-side)",
            "type": "array",
            "description": "Optional. Keep only entries whose slug, URL or (when detail is fetched) page title or description contains one of these words, case-insensitive.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItemsPerEdition": {
            "title": "Max entries per edition",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on entries returned per edition per kind. Defaults to 0 (unlimited) because taxonomy feeds are small and a truncated list defeats the point of a discovery actor.",
            "default": 0
          },
          "includeTaxonomyDetail": {
            "title": "Fetch each taxonomy page",
            "type": "boolean",
            "description": "Fetch each section or tag page for its title, heading and description. Off by default: the slug and URL alone answer 'what sections exist', and CNN Arabic alone has 2,236 tags, which would mean 2,236 extra requests.",
            "default": false
          },
          "maxIndexChildren": {
            "title": "Max child sitemaps to read",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "CNN Greece splits its tag sitemap into 106 child files. This caps how many are read; the SEARCH_SUMMARY row records when more were available, so a partial listing is never silent.",
            "default": 5
          },
          "maxConcurrency": {
            "title": "Max concurrent requests",
            "minimum": 1,
            "maximum": 16,
            "type": "integer",
            "description": "Upper bound on requests in flight at once across all editions in this run.",
            "default": 5
          },
          "minRequestInterval": {
            "title": "Min seconds between request starts",
            "minimum": 0,
            "type": "number",
            "description": "Shared pacing floor across every request this run makes. Once this cap binds, raising concurrency buys nothing.",
            "default": 0.25
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy on the shared datacenter pool. This is the default because it is included in your plan at no extra cost and this target works through it. If you start seeing blocks, challenges or empty results, switch the group here to Residential -- it uses real consumer IPs and gets through more, but Apify bills residential traffic per gigabyte, so leave it off unless you need it.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}