{
  "openapi": "3.0.1",
  "info": {
    "title": "Playwright MCP Actor",
    "description": "The Playwright MCP Actor integrates the robust browser automation capabilities of Playwright with the Model Context Protocol (MCP), enabling AI agents and language models to perform web scraping, testing, and automation tasks through a standardized interface.",
    "version": "1.1",
    "x-build-id": "VQGadP3MGVbHP0aTR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/aluminum_jam~playwright-mcp-actor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-aluminum_jam-playwright-mcp-actor",
        "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/aluminum_jam~playwright-mcp-actor/runs": {
      "post": {
        "operationId": "runs-sync-aluminum_jam-playwright-mcp-actor",
        "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/aluminum_jam~playwright-mcp-actor/run-sync": {
      "post": {
        "operationId": "run-sync-aluminum_jam-playwright-mcp-actor",
        "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": {
          "browser_type": {
            "title": "Browser Type",
            "enum": [
              "chromium",
              "firefox",
              "webkit"
            ],
            "type": "string",
            "description": "Browser to use for automation (chromium, firefox, or webkit)",
            "default": "chromium"
          },
          "headless": {
            "title": "Headless Mode",
            "type": "boolean",
            "description": "Run browser in headless mode (without UI). Faster and uses less resources.",
            "default": true
          },
          "stealth_mode": {
            "title": "Stealth Mode",
            "type": "boolean",
            "description": "Enable advanced anti-detection features to avoid bot detection. Recommended for social media and e-commerce sites.",
            "default": false
          },
          "proxy": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Configure proxy settings for requests. Use proxies to avoid rate limits and geo-restrictions."
          },
          "template": {
            "title": "Pre-built Template",
            "enum": [
              "",
              "amazon_product_search",
              "google_search",
              "linkedin_profile",
              "twitter_scrape",
              "google_maps_business"
            ],
            "type": "string",
            "description": "Use a pre-built automation template. Templates provide optimized workflows for common use cases."
          },
          "template_params": {
            "title": "Template Parameters",
            "type": "object",
            "description": "Parameters for the selected template. Each template has its own required parameters."
          },
          "actions": {
            "title": "Custom Automation Actions",
            "type": "array",
            "description": "Array of browser automation actions to execute sequentially. Required if not using a template.",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "title": "Action Type",
                  "description": "Type of action: navigate, click, fill, select, screenshot, extract_text, evaluate, etc."
                },
                "selector": {
                  "type": "string",
                  "title": "Element Selector",
                  "description": "CSS selector, XPath, or text to identify the element"
                },
                "value": {
                  "type": "string",
                  "title": "Value",
                  "description": "Value for the action (URL for navigate, text for fill, etc.)"
                },
                "selector_type": {
                  "type": "string",
                  "title": "Selector Type",
                  "description": "Type of selector: auto (default), css, xpath, text, or role"
                },
                "timeout": {
                  "type": "integer",
                  "title": "Timeout (ms)",
                  "description": "Maximum time to wait for action completion in milliseconds"
                }
              },
              "required": [
                "type"
              ]
            }
          },
          "export_format": {
            "title": "Export Format",
            "enum": [
              "json",
              "csv",
              "excel"
            ],
            "type": "string",
            "description": "Format to export extracted data. JSON is best for integrations, CSV/Excel for spreadsheets.",
            "default": "json"
          },
          "delay_between_actions": {
            "title": "Delay Between Actions (ms)",
            "minimum": 0,
            "maximum": 30000,
            "type": "integer",
            "description": "Milliseconds to wait between each action. Helps avoid rate limits and detection. 0 = no delay.",
            "default": 0
          },
          "max_retries": {
            "title": "Max Retries Per Action",
            "minimum": 0,
            "maximum": 5,
            "type": "integer",
            "description": "Number of times to retry a failed action before giving up. Uses exponential backoff.",
            "default": 2
          },
          "continue_on_error": {
            "title": "Continue on Error",
            "type": "boolean",
            "description": "If enabled, continues executing remaining actions even if one fails. Failed actions are logged.",
            "default": false
          },
          "max_actions_per_run": {
            "title": "Max Actions Per Run",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of actions to execute. Prevents runaway automation. 0 = unlimited.",
            "default": 100
          },
          "page_load_timeout": {
            "title": "Page Load Timeout (ms)",
            "minimum": 5000,
            "maximum": 120000,
            "type": "integer",
            "description": "Maximum time to wait for pages to load. Increase for slow sites.",
            "default": 30000
          },
          "viewport_width": {
            "title": "Viewport Width",
            "minimum": 320,
            "maximum": 3840,
            "type": "integer",
            "description": "Browser viewport width in pixels",
            "default": 1920
          },
          "viewport_height": {
            "title": "Viewport Height",
            "minimum": 240,
            "maximum": 2160,
            "type": "integer",
            "description": "Browser viewport height in pixels",
            "default": 1080
          },
          "user_agent": {
            "title": "Custom User Agent",
            "type": "string",
            "description": "Custom User-Agent string. Leave empty for auto-rotation in stealth mode."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}