{
  "openapi": "3.0.1",
  "info": {
    "title": "ExamTopics Scraper",
    "description": "Scrape free IT certification exam questions, answer choices, correct answers, and community vote tallies from examtopics.com - AWS, Microsoft, Cisco, CompTIA, Google, and 180+ other vendors.",
    "version": "1.0",
    "x-build-id": "M0LkM21BCWZfFptLm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~examtopics-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-examtopics-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/crawlerbros~examtopics-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-examtopics-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/crawlerbros~examtopics-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-examtopics-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",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "questions",
              "vendors",
              "exams",
              "searchExams"
            ],
            "type": "string",
            "description": "What to fetch.",
            "default": "questions"
          },
          "examSearchQuery": {
            "title": "Exam search keywords (mode=searchExams)",
            "type": "string",
            "description": "Keyword(s) to find exams across ALL vendors, e.g. `cloud practitioner` or `security+`. Matches examtopics.com's own site-wide exam search. Required for `searchExams` mode (minimum 2 characters)."
          },
          "vendorSlug": {
            "title": "Vendor (mode=exams, questions)",
            "enum": [
              "",
              "a10-networks",
              "aacn",
              "aafm-india",
              "aapc",
              "aba",
              "acams",
              "acfe",
              "acsm",
              "ahima",
              "ahip",
              "ahlei",
              "aicpa",
              "aiwmi",
              "alcatel-lucent",
              "alibaba",
              "amazon",
              "androidatc",
              "anthropic",
              "api",
              "apics",
              "appian",
              "apple",
              "apse",
              "ardms",
              "arista",
              "aruba",
              "asq",
              "atlassian",
              "autodesk",
              "avaya",
              "avixa",
              "axis-communications",
              "bacb",
              "bcs",
              "bicsi",
              "blockchain",
              "blue-coat",
              "blue-prism",
              "brightest",
              "c-plus-plus-institute",
              "ca-technologies",
              "canadian-securities-institute",
              "cdmp",
              "certinia",
              "certiport",
              "certnexus",
              "checkpoint",
              "cips",
              "cisco",
              "citrix",
              "ciw",
              "cloudera",
              "cmaa",
              "cncf",
              "comptia",
              "confluent",
              "crowdstrike",
              "csa",
              "cwnp",
              "cyber-ab",
              "cyberark",
              "databricks",
              "datadog",
              "dell",
              "dmi",
              "dsci",
              "eccouncil",
              "elastic",
              "english-test-preparation",
              "exin",
              "f5",
              "filemaker",
              "finra",
              "fortinet",
              "fsmtb",
              "gaqm",
              "garp",
              "genesys",
              "giac",
              "github",
              "gmac",
              "google",
              "guidance-software",
              "haad",
              "hashicorp",
              "hcl-software-academy",
              "hitachi",
              "hp",
              "hrci",
              "huawei",
              "iaap",
              "iapp",
              "ibm",
              "icf",
              "ifpug",
              "iia",
              "iiba",
              "iica",
              "infor",
              "isa",
              "isaca",
              "isaqb",
              "isc",
              "ism",
              "isqi",
              "istqb",
              "itil",
              "juniper",
              "linux-foundation",
              "lpi",
              "magento",
              "mcafee",
              "microsoft",
              "mirantis",
              "mongodb",
              "mulesoft",
              "nacva",
              "nadca",
              "ncino",
              "ncma",
              "netapp",
              "netskope",
              "nfpa",
              "ni",
              "nmims",
              "nmls",
              "nokia",
              "novell",
              "nutanix",
              "nvidia",
              "oceg",
              "omnissa",
              "omsb",
              "palo-alto-networks",
              "payroll",
              "pecb",
              "pegasystems",
              "peoplecert",
              "pmi",
              "prince2",
              "prmia",
              "proofpoint",
              "pure-storage",
              "python-institute",
              "qlikview",
              "redhat",
              "riverbed",
              "ruckus-networks",
              "sailpoint",
              "salesforce",
              "sans",
              "sap",
              "sas-institute",
              "scaled-agile",
              "scrum",
              "scrum-alliance",
              "sdi",
              "secops-group",
              "servicenow",
              "shrm",
              "sitecore",
              "six-sigma",
              "slack",
              "snia",
              "snowflake",
              "soa",
              "solarwinds",
              "splunk",
              "symantec",
              "tableau",
              "talend",
              "teradata",
              "test-prep",
              "the-open-group",
              "tibco",
              "uipath",
              "usgbc",
              "veeam",
              "veritas",
              "versa-networks",
              "vmedu",
              "vmware",
              "watchguard",
              "wgu-university",
              "workday",
              "worldatwork",
              "zend",
              "zscaler"
            ],
            "type": "string",
            "description": "Exam vendor/provider, e.g. Amazon, Microsoft, Cisco. Required for `exams` and `questions` modes.",
            "default": ""
          },
          "examSlug": {
            "title": "Exam slug (mode=questions)",
            "type": "string",
            "description": "The specific exam's URL slug, e.g. `aws-certified-cloud-practitioner-clf-c02`. Find it via `mode=exams` first, or copy it from an examtopics.com exam URL. Required for `questions` mode. Note: ExamTopics only exposes each exam's first 10 questions to anonymous visitors (the rest require a paid login) — this actor reliably returns up to those 10 questions per exam."
          },
          "topicFilter": {
            "title": "Topic number filter (mode=questions)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Only emit questions from this topic number (large exams are sometimes split into multiple topics/versions). Leave empty for all topics."
          },
          "multipleChoiceOnly": {
            "title": "Multiple-answer questions only (mode=questions)",
            "type": "boolean",
            "description": "Only emit questions that require selecting more than one correct answer (e.g. \"Select TWO\"). HOTSPOT/drag-drop questions are excluded since they have no letter-based answer to evaluate.",
            "default": false
          },
          "questionTypeFilter": {
            "title": "Question type filter (mode=questions)",
            "enum": [
              "",
              "standard",
              "hotspot",
              "dragDrop",
              "simulation"
            ],
            "type": "string",
            "description": "Only emit questions of this UI type. Most exams are all `standard`; some (esp. Microsoft, AWS) include HOTSPOT or drag-and-drop questions where the answer is a diagram image instead of lettered choices.",
            "default": ""
          },
          "containsKeyword": {
            "title": "Must contain keyword",
            "type": "string",
            "description": "Only emit questions whose question text or answer choices contain this keyword (case-insensitive)."
          },
          "includeComments": {
            "title": "Include discussion comments (mode=questions)",
            "type": "boolean",
            "description": "Also fetch each question's community discussion comments (username, date, their selected answer, comment text, upvote count). Adds one extra request per question.",
            "default": false
          },
          "maxCommentsPerQuestion": {
            "title": "Max comments per question (mode=questions)",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Cap on the number of discussion comments attached to each question when `includeComments` is enabled.",
            "default": 10
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Hard cap on the number of records emitted. For mode=questions, ExamTopics only exposes ~10 free questions per exam to anonymous visitors, so higher values just mean \"return all available questions\" rather than exactly maxItems.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}