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.)
- parameters
- 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