A Comprehensive Guide to Using Gemlogin API for Browser Automation

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

  1. List & Details
    • GET /api/profiles
      Get all created profiles.
    • GET /api/profile/{id}
      Get profile details by {id}.
  2. 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,…).
  3. 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.
  4. 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

  1. Rate Limit: Default ~100 requests/minute, if you need higher, please contact support.
  2. Retry Logic: Handling 5xx errors with retry/backoff mechanism.
  3. Fingerprint Rotation: Combine changeFingerprint periodically to increase randomness.
  4. 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

Let me know what you think
0346.657.322
Contact