Gemlogin API is a powerful application programming interface that allows you to control and integrate Gemlogin's Antidetect Browser platform entirely through source code. With the Gemlogin API, browser profiles are instantaneously created, configured, launched, monitored, and closed via HTTP endpoints, without the need for GUI manipulation. This opens up the opportunity to:
- Automation: Build workflow, run multiple profiles in parallel.
- Flexible integration: Connect to CRM, ERP, Google Sheets, or any third-party system.
- Scaling Up: Easily manage thousands of profiles with different fingerprints.
1. Authentication & General Configuration
Every request to the Gemlogin API requires an authentication header:
httpCopyEditAuthorization: Bearer
Content-Type: application/json
- Bearer Token: Get it from Gemlogin Dashboard page.
- Timeout: Default 60s, can be customized according to application needs.
- Data format: JSON for both request and response.
2. Main endpoints

2.1. Browser Versions
GET /api/browser_versions
Get the list of supported browser versions (Chrome, Firefox…). jsonCopyEdit[ { "id": "chrome_100", "name": "Chrome", "version": "100.0.4896.127" }, { "id": "firefox_98", "name": "Firefox", "version": "98.0" } // … ]
2.2. Groups
GET /api/groups
List query Group profile, convenient for classifying and assigning common configurations. jsonCopyEdit[ { "id": "grp1", "name": "US Customers" }, { "id": "grp2", "name": "Testers" } ]
2.3. Profiles
- List & Details
GET /api/profiles
Get all created profiles.GET /api/profile/{id}
Get profile details by{id}
.
- Create & Update
POST /api/profiles/create
Create new profile with payload example: jsonCopyEdit{ "name": "FB-Account-1", "browserVersion": "chrome_100", "proxy": { "host": "1.2.3.4", "port": 8000, "username": "", "password": "" }, "fingerprint": "default", "timezone": "America/New_York" }
POST /api/profiles/update/{profile_id}
Update existing profile configuration (proxy, fingerprint, timezone,…).
- Delete & Change fingerprint
GET /api/profiles/delete/{id}
Delete profile by ID.GET /api/profiles/changeFingerprint
Refresh fingerprints for one or more profiles, helping to avoid long-term tracking.
- Launch & Close browser instance
GET /api/profiles/start/{id}
Spawn a browser instance from a profile.- Response: WebSocket URL to control (Puppeteer, Playwright…).
GET /api/profiles/close/{id}
Close (kill) the running browser instance of the profile.
3. How to use API in practice
Example 1: Create & Run Profile
bashCopyEdit# 1. Create new profile curl -X POST https://api.gemlogin.io/api/profiles/create \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name":"MyProfile01", "browserVersion":"chrome_100", "proxy":{"host":"proxy.my.com","port":3128}, "fingerprint":"random" }' # 2. Launch the newly created profile curl -X GET https://api.gemlogin.io/api/profiles/start/{PROFILE_ID} \ -H "Authorization: Bearer $TOKEN"
Example 2: Batch Run with Node.js Script
javascriptCopyEditconst axios = require('axios'); const API = 'https://api.gemlogin.io/api'; const token = process.env.GEMLOGIN_TOKEN; async function runProfile(profileId) { const { data } = await axios.get(`${API}/profiles/start/${profileId}`, { headers: { Authorization: `Bearer ${token}` } }); console.log('WebSocket URL:', data.wsUrl); // Continue to control the browser via Puppeteer/Playwright... } (async () => { // Get a list of profiles const { data: profiles } = await axios.get(`${API}/profiles`, { headers: { Authorization: `Bearer ${token}` } }); for (let p of profiles) { await runProfile(p.id); } })();
4. Management & Monitoring
- Logs: Use the same endpoint
GET /api/logs/{run_id}
(if available) or via SDK to get debug details. - Resource Status: Update profile status (“Active”, “Inactive”, “Invalid”) to synchronize with the business system.
5. Tips & Best Practices
- Rate Limit: Default ~100 requests/minute, if you need higher, please contact support.
- Retry Logic: Handling 5xx errors with retry/backoff mechanism.
- Fingerprint Rotation: Combine
changeFingerprint
periodically to increase randomness. - Group-based Config: Create multiple groups by region or use-case for easy management.
Conclude
With Gemlogin API, you are completely proactive in integration, extend and optimal Antidetect browser automation workflow. From profile manipulation, fingerprint management, to launching and closing browser instances—everything can be done via command line or code. Let's get started Gemlogin API today to improve performance, reduce operational effort and optimize costs for your project!
Document: https://manual-gemlogin-vn.gitbook.io/gemlogin/tai-lieu-api/api
Website: gemlogin.vn