{
  "openapi": "3.0.1",
  "info": {
    "title": "Into The Darkweb",
    "description": "Scrape and interact with darkweb .onion sites via Tor. Easy Access mode fetches any page in one call. Browser Experience mode runs full sessions — navigate, click, type, screenshot, extract data. All traffic\n  routed through Tor with unique exit IPs and randomized fingerprints.",
    "version": "1.0",
    "x-build-id": "E46euS8A1GMDbTEPB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/olibai~into-the-darkweb/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-olibai-into-the-darkweb",
        "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/olibai~into-the-darkweb/runs": {
      "post": {
        "operationId": "runs-sync-olibai-into-the-darkweb",
        "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/olibai~into-the-darkweb/run-sync": {
      "post": {
        "operationId": "run-sync-olibai-into-the-darkweb",
        "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",
          "region"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "easy",
              "browser"
            ],
            "type": "string",
            "description": "Choose the operating mode. Easy Access fetches a single page and returns its HTML. Browser Experience gives you full control with a sequence of browser actions (navigate, click, type, screenshot, etc.).",
            "default": "easy"
          },
          "region": {
            "title": "Region",
            "enum": [
              "US",
              "EU"
            ],
            "type": "string",
            "description": "Select the geographic region for the Owl Browser instance. Choose the region closest to your target for best performance.",
            "default": "US"
          },
          "os": {
            "title": "OS Fingerprint",
            "enum": [
              "windows",
              "macos",
              "linux"
            ],
            "type": "string",
            "description": "Operating system fingerprint for the browser context. This affects the User-Agent string and other browser fingerprinting signals. Leave empty for the default."
          },
          "url": {
            "title": "URL",
            "type": "string",
            "description": "The .onion URL (or any URL) to navigate to. Required for Easy Access mode. For Browser Experience mode, use the navigate action in the actions array instead."
          },
          "outputFormat": {
            "title": "Output Format",
            "enum": [
              "html",
              "text",
              "markdown"
            ],
            "type": "string",
            "description": "Format of the returned page content. 'html' returns raw HTML, 'text' returns extracted plain text, 'markdown' returns markdown conversion.",
            "default": "html"
          },
          "waitUntil": {
            "title": "Wait Until",
            "enum": [
              "",
              "load",
              "domcontentloaded",
              "networkidle",
              "fullscroll"
            ],
            "type": "string",
            "description": "When to consider the page navigation complete. 'load' waits for the load event, 'domcontentloaded' waits for DOMContentLoaded, 'networkidle' waits until no network connections for 500ms, 'fullscroll' scrolls the entire page first."
          },
          "timeout": {
            "title": "Timeout (ms)",
            "minimum": 5000,
            "maximum": 120000,
            "type": "integer",
            "description": "Navigation timeout in milliseconds. Tor connections can be slow, so consider using a higher value (30000-60000ms). Default: 30000ms.",
            "default": 30000
          },
          "timezone": {
            "title": "Timezone",
            "type": "string",
            "description": "IANA timezone identifier for the browser context (e.g. 'America/New_York', 'Europe/London', 'Asia/Tokyo'). Only used in Browser Experience mode."
          },
          "actions": {
            "title": "Browser Actions",
            "type": "array",
            "description": "Array of browser actions to execute sequentially. Each action is an object with an 'action' field (the action name) and action-specific parameters.\n\nAvailable actions:\n- navigate: {action: 'navigate', url: '...', wait_until: '...', timeout: 30000}\n- reload: {action: 'reload', wait_until: '...', timeout: 30000}\n- go_back / go_forward: {action: 'go_back'}\n- click: {action: 'click', selector: '#btn or 100x200 or \"Login button\"'}\n- type: {action: 'type', selector: '#input', text: 'hello'}\n- pick: {action: 'pick', selector: '#dropdown', value: 'option1'}\n- submit_form: {action: 'submit_form', selector: '#form'}\n- extract_text: {action: 'extract_text', selector: '#content'}\n- screenshot: {action: 'screenshot'}\n- get_html: {action: 'get_html'}\n- scroll_by: {action: 'scroll_by', x: 0, y: 500}\n- scroll_to_element: {action: 'scroll_to_element', selector: '#footer'}\n- scroll_to_top / scroll_to_bottom: {action: 'scroll_to_top'}\n- wait_for_selector: {action: 'wait_for_selector', selector: '#loaded', timeout: 10000}\n- get_page_info: {action: 'get_page_info'}\n- get_cookies / delete_cookies: {action: 'get_cookies'}\n- set_cookie: {action: 'set_cookie', name: 'key', value: 'val', domain: '.example.onion'}\n- evaluate: {action: 'evaluate', script: 'document.title'}"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}