Référence de l'API REST
Référence complète de l'API REST d'Antybrowser. Gérez vos profils, navigateurs et paramètres par programmation.
Authentification
Toutes les requêtes d'API nécessitent une authentification via une clé d'API. Incluez votre clé dans l'en-tête Authorization sous forme de jeton Bearer.
Get a token by calling POST /api/login or POST /api/register.
URL de base
https://antybrowser.comToutes les requêtes d'API doivent être effectuées vers l'URL de base suivante. Assurez-vous d'utiliser HTTPS pour toutes les requêtes.
Authentication
Login, register, and manage your session.
/api/loginLog in
Authenticate with email and password. Returns a JWT token and sets an HTTP-only cookie. If 2FA is enabled, returns `{ requires2FA: true, tempUserId }` instead.
Request Body
{
"email": "user@example.com",
"password": "secret123",
"twoFactorCode": "123456" // optional, required if 2FA enabled
}Response
{
"id": 1,
"name": "John",
"email": "user@example.com",
"plan": "free",
"_token": "eyJhbGciOi..."
}/api/registerRegister
Create a new account.
Request Body
{
"name": "John",
"email": "user@example.com",
"password": "secret123"
}Response
{
"id": 1,
"name": "John",
"email": "user@example.com",
"plan": "free",
"_token": "eyJhbGciOi..."
}/api/auth/recoverRequest password reset
Sends a password reset email to the given address.
Request Body
{
"email": "user@example.com"
}Response
{
"message": "If an account exists, a reset link has been sent."
}/api/auth/reset-passwordReset password
Resets the user's password using a valid reset token.
Request Body
{
"token": "abc123...",
"password": "newpass123"
}Response
{
"message": "Password reset successful"
}User
Get, update, or delete the authenticated user.
/api/userGet current user
Returns the authenticated user's profile. Accepts Bearer token (Electron) or auth_token cookie (web).
Response
{
"id": 1,
"name": "John",
"email": "user@example.com",
"plan": "free",
"googleId": null,
"microsoftId": null,
"twoFactorEnabled": false,
"newsletterSubscribed": true,
"createdAt": "2025-01-15T..."
}/api/userUpdate user
Update name, password, newsletter preference, messaging, or 2FA settings.
Request Body
{
"name": "New Name",
"password": "newpass",
"newsletterSubscribed": true,
"messagingApp": "telegram",
"messagingHandle": "@username",
"twoFactorEnabled": true
}Response
{
"id": 1,
"name": "New Name",
"email": "user@example.com",
"plan": "free"
}/api/userDelete account
Permanently deletes the authenticated user and all associated data.
Response
(204 No Content)
Two-Factor Authentication
Set up, verify, and disable TOTP-based 2FA.
/api/user/2fa/setupGenerate 2FA secret
Generates a new TOTP secret and provisioning URI. The secret is stored temporarily ΓÇö call verify to activate.
Response
{
"secret": "JBSWY3DPEHPK3PXP",
"uri": "otpauth://totp/Antybrowser:user@example.com?..."
}/api/user/2fa/verifyEnable 2FA
Verifies a TOTP code and enables 2FA for the account. Must call setup first.
Request Body
{
"code": "123456"
}Response
{
"message": "2FA enabled successfully"
}/api/user/2fa/disableDisable 2FA
Disables 2FA after verifying a valid TOTP code. Clears the stored secret.
Request Body
{
"code": "123456"
}Response
{
"message": "2FA disabled successfully"
}/api/user/2fa/validateValidate 2FA code
Validates a TOTP code during login. Returns user data on success.
Request Body
{
"userId": 1,
"code": "123456"
}Response
{
"id": 1,
"name": "John",
"email": "user@example.com"
}Linked Accounts
Link and unlink Google / Microsoft accounts.
/api/user/link/googleLink Google account
Redirects to Google OAuth. After authorization, the Google account is linked to the current user. Must be logged in (cookie required).
Response
(302 Redirect to Google OAuth)
/api/user/link/microsoftLink Microsoft account
Redirects to Microsoft OAuth. After authorization, the Microsoft account is linked to the current user.
Response
(302 Redirect to Microsoft OAuth)
/api/user/linkUnlink provider
Removes a linked provider. Refuses if it's the only login method (no password and no other provider linked).
Request Body
{
"provider": "google" // or "microsoft"
}Response
{
"id": 1,
"name": "John",
"googleId": null,
"microsoftId": "ms-uuid-..."
}Profiles
Create, update, launch, and manage browser profiles.
/api/profilesList profiles
Returns all profiles for the authenticated user.
Response
[
{
"id": 1,
"name": "My Profile",
"browserType": "Chrome",
"osFingerprint": "Windows",
"status": "Idle",
"proxyId": null,
"groupId": null
}
]/api/profiles/:idGet profile
Returns a single profile by ID.
Response
{
"id": 1,
"name": "My Profile",
"browserType": "Chrome",
"screenResolution": "1920x1080",
"language": "en-US",
"timezone": "America/New_York"
}/api/profilesCreate profile
Creates a new browser profile.
Request Body
{
"name": "My Profile",
"browserType": "Chrome",
"osFingerprint": "Windows",
"screenResolution": "1920x1080",
"language": "en-US",
"timezone": "America/New_York",
"groupId": null,
"proxyId": null
}Response
{
"id": 1,
"name": "My Profile",
"status": "Idle",
"createdAt": "2025-01-15T..."
}/api/profiles/:idUpdate profile
Updates an existing profile. Only provided fields are changed.
Request Body
{
"name": "Renamed Profile",
"proxyId": 5,
"notes": "Updated notes"
}Response
{
"id": 1,
"name": "Renamed Profile",
"proxyId": 5
}/api/profiles/:idTrash profile
Moves a profile to trash (soft delete).
Response
{
"message": "Profile moved to trash",
"profile": { "id": 1, "trash": true }
}/api/profiles/:id/restoreRestore profile
Restores a trashed profile.
Response
{
"id": 1,
"name": "My Profile",
"trash": false
}/api/profiles/trashList trashed profiles
Returns all profiles in trash.
Response
[
{ "id": 1, "name": "Old Profile", "trash": true }
]/api/profiles/trashEmpty trash
Permanently deletes all trashed profiles.
Response
{
"deleted": 3,
"message": "3 profiles permanently deleted"
}/api/profiles/:id/launchLaunch profile
Starts a browser instance for the given profile.
Response
{
"message": "Profile launched",
"status": "Running"
}/api/profiles/:id/randomizeRandomize fingerprint
Generates new random fingerprint data for the profile.
Response
{
"id": 1,
"osFingerprint": "macOS",
"screenResolution": "1440x900"
}/api/profiles/:id/historyGet profile history
Returns the event history for a profile.
Response
[
{
"id": 1,
"profileId": 1,
"type": "launch",
"description": "Profile launched",
"createdAt": "2025-01-15T..."
}
]/api/profiles/:id/historyAdd history entry
Adds a custom entry to the profile's history.
Request Body
{
"type": "custom",
"description": "Manually added note",
"data": { "key": "value" }
}Response
{ "success": true }Groups
Organize profiles into named groups.
/api/groupsList groups
Returns all groups for the authenticated user.
Response
[
{
"id": 1,
"name": "Social Media",
"color": "blue",
"displayOrder": 0
}
]/api/groupsCreate group
Creates a new profile group.
Request Body
{
"name": "Social Media",
"description": "Social media accounts",
"color": "blue"
}Response
{
"id": 1,
"name": "Social Media",
"color": "blue"
}/api/groups/:idUpdate group
Updates a group's name, description, or color.
Request Body
{
"name": "Renamed Group",
"color": "red"
}Response
{
"id": 1,
"name": "Renamed Group",
"color": "red"
}/api/groups/:idDelete group
Deletes a group. Profiles in the group are not deleted.
Response
(204 No Content)
/api/groups/reorderReorder groups
Sets the display order of groups by providing an ordered array of IDs.
Request Body
{
"ids": [3, 1, 2]
}Response
{ "success": true }Proxies
Manage proxy servers for profiles.
/api/proxiesList proxies
Returns all proxies for the authenticated user.
Response
[
{
"id": 1,
"name": "US Residential",
"type": "http",
"host": "proxy.example.com",
"port": 8080,
"status": "active",
"country": "United States",
"ip": "1.2.3.4"
}
]/api/proxies/:idGet proxy
Returns a single proxy by ID.
Response
{
"id": 1,
"name": "US Residential",
"type": "socks5",
"host": "proxy.example.com",
"port": 1080,
"username": "user",
"status": "active"
}/api/proxiesCreate proxy
Adds a new proxy.
Request Body
{
"name": "US Residential",
"type": "http",
"host": "proxy.example.com",
"port": 8080,
"username": "user",
"password": "pass"
}Response
{
"id": 1,
"name": "US Residential",
"status": "active"
}/api/proxies/:idUpdate proxy
Updates a proxy's configuration.
Request Body
{
"name": "Renamed Proxy",
"host": "new-proxy.example.com"
}Response
{
"id": 1,
"name": "Renamed Proxy",
"host": "new-proxy.example.com"
}/api/proxies/:idDelete proxy
Permanently deletes a proxy.
Response
(204 No Content)
/api/proxies/:id/save-checkSave check result
Saves the result of a proxy connectivity check.
Request Body
{
"success": true,
"details": {
"ip": "1.2.3.4",
"country": "United States",
"isp": "Comcast"
}
}Response
{
"id": 1,
"status": "active",
"ip": "1.2.3.4"
}Proxy Providers
Manage saved proxy provider credentials.
/api/proxy-providersList providers
Returns all saved proxy providers.
Response
[
{
"id": 1,
"provider": "brightdata",
"username": "user",
"countryCode": "US"
}
]/api/proxy-providers/:providerGet provider
Returns credentials for a specific provider.
Response
{
"id": 1,
"provider": "brightdata",
"username": "user",
"password": "***",
"countryCode": "US"
}/api/proxy-providers/:providerCreate or update provider
Creates or updates proxy provider credentials (upsert).
Request Body
{
"username": "myuser",
"password": "mypass",
"countryCode": "US"
}Response
{
"id": 1,
"provider": "brightdata",
"username": "myuser"
}Extensions
Manage browser extensions.
/api/extensionsList extensions
Returns all extensions.
Response
[
{
"id": 1,
"name": "AdBlock",
"description": "Blocks ads",
"version": "5.0.0"
}
]/api/extensionsCreate extension
Adds a new extension.
Request Body
{
"name": "AdBlock",
"description": "Blocks ads",
"icon": "shield"
}Response
{
"id": 1,
"name": "AdBlock"
}/api/extensions/:idDelete extension
Permanently deletes an extension.
Response
(204 No Content)
Settings
Read and update application settings.
/api/settingsGet settings
Returns the current user's application settings.
Response
{
"chromePath": "C:\\Program Files\\Google\\Chrome\\chrome.exe",
"defaultBrowserType": "Chrome",
"defaultOsFingerprint": "Windows",
"defaultScreenResolution": "1920x1080",
"defaultLanguage": "en-US",
"hardwareAcceleration": true,
"lowBandwidth": false
}/api/settingsUpdate settings
Updates application settings. Only provided fields are changed.
Request Body
{
"defaultBrowserType": "Chrome",
"defaultScreenResolution": "1440x900",
"hardwareAcceleration": false
}Response
{
"defaultBrowserType": "Chrome",
"defaultScreenResolution": "1440x900",
"hardwareAcceleration": false
}User Agents
Manage browser user-agent versions.
/api/user-agents/versionsList user agents
Returns all stored user-agent brand/version pairs.
Response
[
{ "id": 1, "brand": "Chrome", "version": "131.0.6778.86" },
{ "id": 2, "brand": "Firefox", "version": "133.0" }
]/api/user-agents/versionsUpdate user agent
Creates or updates a user-agent brand/version entry.
Request Body
{
"brand": "Chrome",
"version": "131.0.6778.86"
}Response
{
"id": 1,
"brand": "Chrome",
"version": "131.0.6778.86"
}Limites de débit
Les requêtes d'API sont limitées à 120 requêtes par minute et par clé d'API. Les en-têtes de limite de débit sont inclus dans toutes les réponses.