Browser RPA Execution Platform
Huarp is a Browser RPA (Robotic Process Automation) platform that allows you to automate browser interactions through a simple REST API.
You can build automations visually using the drag-and-drop interface, or execute them directly via API from tools like n8n.
Authentication Method: Bearer Token (JWT)
Include your Supabase access token in the Authorization header:
Authorization: Bearer {your_jwt_token}
For external API calls:
Use the Supabase client to obtain a session token:
// JavaScript/Node.js example
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
const { data, error } = await supabase.auth.signInWithPassword({
email: 'user@example.com',
password: 'password'
});
const token = data.session.access_token;
// Use this token in Authorization: Bearer {token}
Execute browser automation from raw steps or a saved workflow.
{
"steps": [
{ "action": "goto", "url": "https://example.com" },
{ "action": "type", "selector": "#email", "text": "user@example.com" },
{ "action": "click", "selector": "button[type=submit]" },
{ "action": "wait_for", "selector": ".dashboard" },
{ "action": "extract_text", "selector": ".balance", "var": "balance" }
],
"return_vars": ["balance"],
"timeout_seconds": 60
}
{
"workflow_id": "uuid-of-saved-workflow",
"timeout_seconds": 60
}
{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "success",
"data": {
"balance": "$1,234.56"
},
"error": null
}
{
"job_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "error",
"data": {},
"error": "Element not found: .balance"
}
Save a new workflow.
{
"name": "Login and Extract Balance",
"description": "Logs into banking portal and extracts account balance",
"steps": [...]
}
List all saved workflows.
Get a specific workflow by ID.
Update an existing workflow.
Delete a workflow.
| Action | Description | Required Parameters |
|---|---|---|
goto |
Navigate to a URL | url |
click |
Click an element | selector |
type |
Type text into an input field | selector, text |
wait_for |
Wait for an element to appear | selector |
extract_text |
Extract text content from an element | selector, var |
extract_attribute |
Extract an attribute value from an element | selector, attribute, var |
screenshot |
Capture a screenshot (base64) | None |
get_html |
Get the full page HTML | None |
Huarp implements the following security restrictions:
To call Huarp from n8n:
AuthorizationBearer {your_token}{
"steps": [
{ "action": "goto", "url": "https://example.com" },
{ "action": "extract_text", "selector": "h1", "var": "title" }
],
"return_vars": ["title"]
}
Note: You'll need to obtain a Supabase JWT token first by signing in through the Huarp frontend or using the Supabase API directly.
Concurrent browser executions are limited (default: 2-3 simultaneous jobs).
Jobs exceeding the timeout will be terminated and marked as timeout.