API V7 Documentation
Create browser VMs with a single server-side call and get a shareable link back
Author
BROWSER.LOLTo use the API, you need an API key. Contact us to discuss the available options.
The API simplifies workspace creation to a single server-side call. You authenticate with your API key, create the workspace, and receive a share link in the response. The end-user simply opens the share link in their browser and is automatically connected to the workspace.
Authentication
Pass your API key as a Bearer token in the Authorization header. The API key is the session ID associated with your account (with API access enabled).
Authorization: Bearer YOUR_API_KEYImportant: Keep your API key secret. All API calls must be made from your server, never from client-side code.
/v7/vm/createCreates a new virtual browser VM and returns a share link that can be given to end-users.
Request Body (JSON):
browser (required): The browser image to use. Allowed values: chrome, firefox, edge. Defaults to chrome if empty.
url (optional): The URL to open in the virtual browser.
language (optional): Browser language code (e.g. en, de). Falls back to account default or en.
layout (optional): Keyboard layout code (e.g. us, de). Falls back to account default or us.
country (optional): Two-letter ISO country code for VPN location (e.g. us, de, gb).
Response Body on Success:
{
"status": "ok",
"vmId": "brl-v-v7-abc123...",
"shareUrl": "https://browser.lol/s?LINK_ID",
"shareUrlPath": "/s?LINK_ID"
}Example Request:
curl -X POST https://api.browser.lol/v7/vm/create \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"browser": "chrome", "url": "https://example.com"}'Accessing the Workspace
Share the shareUrl from the response with the end-user. When they open the link in their browser, they are automatically connected to the virtual browser session. No additional steps are required.
Share links are tied to the VM. When the VM is deleted, the share link becomes invalid.
/v7/*All error responses follow the same format with a status field and a human-readable message.
Access Denied (invalid API key, API not enabled, or quota exceeded):
{"status": "denied", "message": "The API key you provided is invalid..."}Security Check Failed (rate limited or insecure request):
{"status": "insecure", "message": "..."}Server Error:
{"status": "error", "message": "Something went wrong..."}