Logo

Skyvern

Authentication Type: API Key

Description: Automate browser interactions with AI. Run tasks with natural language prompts, create reusable workflows, and extract structured data from web pages.

Beta Tool: Please contact support to get this Beta tool added to your account.


Authentication

To authenticate, you'll need a Skyvern API key from Skyvern.

Use the x-api-key header for authentication.


Tasks

Run Task

Run a browser automation task with a natural language prompt.

Operation Type: Mutation (Write)

Parameters:

  • prompt string (required): Task description for the agent to accomplish
  • url string (optional): Starting URL. Auto-determined if omitted.
  • engine string (optional, default: "skyvern-2.0"): Execution engine (skyvern-1.0, skyvern-2.0, openai-cua, anthropic-cua, ui-tars)
  • title string (optional): Task label
  • proxy_location string/object (optional): Geographic routing (RESIDENTIAL, US-CA, RESIDENTIAL_ES, etc.)
  • data_extraction_schema object (optional): JSON Schema for structured output
  • error_code_mapping object (optional): Custom error code mappings
  • max_steps number (optional): Step limit before auto-failure
  • webhook_url string (optional): Completion notification endpoint
  • totp_identifier string (optional): 2FA code identifier
  • totp_url string (optional): Endpoint serving TOTP codes
  • browser_session_id string (optional): Reuse existing browser session
  • publish_workflow boolean (optional): Create reusable workflow (skyvern-2.0 only)

Returns:

  • run_id string: Unique run identifier (tsk* or wr* prefix)
  • status string: Status (created, queued, running, completed, failed, timed_out, terminated, canceled)
  • output object/array/string (nullable): Extracted data
  • downloaded_files array: File metadata with URLs
  • recording_url string (nullable): Execution video link
  • screenshot_urls array: Latest screenshots
  • failure_reason string (nullable): Error details if failed
  • app_url string (nullable): UI link for viewing execution
  • step_count number (nullable): Total steps executed

Example Usage:

{
  "prompt": "Go to LinkedIn and search for software engineers in San Francisco. Extract the first 10 results with their name, title, and company.",
  "url": "https://linkedin.com",
  "data_extraction_schema": {
    "type": "array",
    "items": {
      "type": "object",
      "properties": {
        "name": { "type": "string" },
        "title": { "type": "string" },
        "company": { "type": "string" }
      }
    }
  },
  "max_steps": 50
}

Workflows

Create Workflow

Create a reusable workflow with defined steps and parameters.

Operation Type: Mutation (Write)

Parameters:

  • title string (required): Workflow name
  • workflow_definition object (required): Workflow configuration
    • parameters array: Input parameters
    • blocks array: Workflow steps (task, code, navigation, extraction, login, conditional, for_loop, etc.)
  • description string (optional): Workflow description
  • proxy_location string (optional): Default proxy location
  • webhook_callback_url string (optional): Default webhook URL

Returns:

  • workflow_id string: Unique workflow identifier (wpid_ prefix)
  • status string: Creation status

Example Usage:

{
  "title": "LinkedIn Lead Scraper",
  "workflow_definition": {
    "parameters": [
      { "key": "search_query", "type": "string" },
      { "key": "max_results", "type": "number", "default": 10 }
    ],
    "blocks": [
      {
        "type": "task",
        "prompt": "Search LinkedIn for {{search_query}} and extract {{max_results}} profiles"
      }
    ]
  }
}

Run Workflow

Execute a saved workflow with custom parameters.

Operation Type: Mutation (Write)

Parameters:

  • workflow_id string (required): Workflow ID (wpid_ prefix)
  • parameters object (optional): Custom input values
  • title string (optional): Display name for this execution
  • proxy_location string/object (optional): Geographic routing override
  • webhook_url string (optional): Override webhook URL
  • browser_session_id string (optional): Reuse existing browser session
  • browser_profile_id string (optional): Reuse browser profile

Returns:

  • run_id string: Unique run identifier (wr_ prefix)
  • status string: Execution status
  • output object/array/string (nullable): Extracted data
  • recording_url string (nullable): Execution video
  • app_url string (nullable): UI link

Example Usage:

{
  "workflow_id": "wpid_abc123xyz",
  "parameters": {
    "search_query": "AI engineers",
    "max_results": 25
  },
  "title": "AI Engineers Search - January 2024"
}

Update Workflow

Update an existing workflow definition.

Operation Type: Mutation (Write)

Parameters:

  • workflow_id string (required): Workflow ID to update
  • title string (optional): Updated title
  • workflow_definition object (optional): Updated workflow configuration
  • description string (optional): Updated description

Returns:

Updated workflow object.


Common Use Cases

Web Scraping:

  • Extract structured data from websites with natural language
  • Scrape listings, directories, and search results
  • Handle dynamic JavaScript-rendered content

Form Automation:

  • Fill out web forms programmatically
  • Submit applications and registrations
  • Handle multi-step form workflows

Data Entry:

  • Automate repetitive data entry tasks
  • Copy data between web applications
  • Sync information across platforms

Testing & Monitoring:

  • Run automated browser tests
  • Monitor website availability and functionality
  • Capture screenshots and recordings for debugging