Execute AI-powered browser automation tasks using natural language with optional geotargeting. This endpoint always streams responses using Server-Sent Events (SSE).
Streaming Response:
- All responses are streamed using Server-Sent Events (
text/event-stream) - Real-time progress updates and results as they're generated
Geotargeting:
- Optionally specify a country code for geotargeted browsing
Use Cases:
- Web scraping and data extraction
- Form filling and interaction
- Navigation and information gathering
- Multi-step web workflows
- Content analysis from web pages
Parameters
task: str
The task description in natural language
JSON data to provide context for form filling or complex tasks
guardrails: Optional[str]
Safety constraints for execution
max_iterations: Optional[int]
Maximum task iterations
maximum100
minimum1
max_validation_attempts: Optional[int]
Maximum validation attempts
maximum10
minimum1
url: Optional[str]
Starting URL for the task
formaturi
Returns
AI Task
import os
from tabstack import Tabstack
client = Tabstack(
api_key=os.environ.get("TABSTACK_API_KEY"), # This is the default and can be omitted
)
automate_event = client.agent.automate(
task="Find the top 3 trending repositories and extract their names, descriptions, and star counts",
guardrails="browse and extract only, don't interact with repositories",
url="https://github.com/trending",
)
print(automate_event.data)event: start
data: {"task": "Find the top 3 trending repositories", "url": "https://github.com/trending"}
event: agent:processing
data: {"operation": "Creating task plan", "hasScreenshot": false}
event: browser:navigated
data: {"title": "Trending - GitHub", "url": "https://github.com/trending"}
event: agent:extracted
data: {"extractedData": "[{\"name\": \"awesome-ai\", \"stars\": \"45.2k\"}]"}
event: task:completed
data: {"success": true, "finalAnswer": "Top 3 trending repos extracted"}
event: complete
data: {"success": true}
event: done
data: {}
{
"error": "maxIterations must be between 1 and 100"
}Returns Examples
event: start
data: {"task": "Find the top 3 trending repositories", "url": "https://github.com/trending"}
event: agent:processing
data: {"operation": "Creating task plan", "hasScreenshot": false}
event: browser:navigated
data: {"title": "Trending - GitHub", "url": "https://github.com/trending"}
event: agent:extracted
data: {"extractedData": "[{\"name\": \"awesome-ai\", \"stars\": \"45.2k\"}]"}
event: task:completed
data: {"success": true, "finalAnswer": "Top 3 trending repos extracted"}
event: complete
data: {"success": true}
event: done
data: {}
{
"error": "maxIterations must be between 1 and 100"
}