Overview
The Rusty Browser API gives you full programmatic control over browsers. Create a browser, issue commands, and close it when done — all over HTTP.
Base URL
https://api.rustybrowser.com/v1/
Authentication
All endpoints require Bearer token authentication:
Authorization: Bearer YOUR_API_KEY
Never share your API key publicly. Regenerate it immediately from the dashboard if compromised.
Rate Limits
Rusty Browser has no rate limits. Spawn as many concurrent browsers as you need.
Endpoints
Sessions
| Method | Endpoint | Description |
|---|
PUT | /v1/browsers/ | Create a browser |
GET | /v1/browsers/:id/ | Get browser info |
DELETE | /v1/browsers/:id/ | Close a browser |
Commands
All commands operate on an existing browser via its id.
| Method | Endpoint | Description |
|---|
POST | /v1/browsers/:id/navigate/ | Navigate to a URL |
POST | /v1/browsers/:id/click/ | Click an element |
POST | /v1/browsers/:id/node-click/ | Click by node reference |
POST | /v1/browsers/:id/type/ | Type text into a field |
POST | /v1/browsers/:id/scroll-by/ | Scroll by a relative amount |
POST | /v1/browsers/:id/scroll-to/ | Scroll to an element or position |
POST | /v1/browsers/:id/screenshot/ | Capture a screenshot |
POST | /v1/browsers/:id/fetch-html/ | Fetch the current page HTML |
POST | /v1/browsers/:id/fetch-text/ | Fetch the current page text |
POST | /v1/browsers/:id/eval/ | Evaluate a JavaScript expression |
POST | /v1/browsers/:id/instruct/ | Issue a natural language instruction |
All responses follow a consistent JSON envelope:
{
"success": true,
"data": { ... }
}
Error Handling
| Code | Description |
|---|
400 | Bad Request — missing or invalid parameters |
401 | Unauthorized — missing or invalid API key |
402 | Payment Required — insufficient token balance |
404 | Not Found — browser ID does not exist |
500 | Internal Server Error |
Error response format:
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Human readable error message"
}
}