AtlasX Logo AtlasX
Developer Documentation

AtlasX API & Automation Guide

Integrate AtlasX isolated mobile & desktop browser profiles into your Python, Node.js, Playwright, or Puppeteer workflows in minutes.

1. Authentication & Bearer Token

All AtlasX REST API requests authenticate using your account's Bearer API Token. You can copy or rotate your token anytime in Workspace → Settings.

import requests

ATLASX_API_KEY = "<YOUR_ATLASX_API_KEY_HERE>"
BASE_URL = "https://api.atlasx.io/api/v1"

res = requests.get(
    url=f"{BASE_URL}/profiles",
    headers={"Authorization": f"Bearer {ATLASX_API_KEY}"},
)
print(res.json())
const res = await fetch("https://api.atlasx.io/api/v1/profiles", {
  headers: {
    "Authorization": "Bearer <YOUR_ATLASX_API_KEY_HERE>",
  },
});
const data = await res.json();
console.log(data);
curl -X GET "https://api.atlasx.io/api/v1/profiles" \
  -H "Authorization: Bearer <YOUR_ATLASX_API_KEY_HERE>"

2. Create Isolated Mobile & Desktop Profiles

Send a POST /api/v1/profiles request with action: "create", a device_id from the 87 hardware templates, and optional SOCKS5/HTTP proxy credentials.

import requests

payload = {
    "action": "create",
    "name": "US Amazon Seller #01",
    "device_id": "ios_iphone_16_pro_max",
    "proxy_type": "socks5",
    "proxy_host": "us-nyc.proxy.io",
    "proxy_port": 1080,
    "proxy_user": "proxy_username",
    "proxy_pass": "proxy_password",
}

response = requests.post(
    url="https://api.atlasx.io/api/v1/profiles",
    headers={"Authorization": "Bearer <YOUR_ATLASX_API_KEY_HERE>"},
    json=payload,
)
print(response.json())
const response = await fetch("https://api.atlasx.io/api/v1/profiles", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <YOUR_ATLASX_API_KEY_HERE>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    action: "create",
    name: "US Amazon Seller #01",
    device_id: "ios_iphone_16_pro_max",
    proxy_type: "socks5",
    proxy_host: "us-nyc.proxy.io",
    proxy_port: 1080,
  }),
});
curl -X POST "https://api.atlasx.io/api/v1/profiles" \
  -H "Authorization: Bearer <YOUR_ATLASX_API_KEY_HERE>" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "create",
    "name": "US Amazon Seller #01",
    "device_id": "ios_iphone_16_pro_max",
    "proxy_type": "socks5",
    "proxy_host": "us-nyc.proxy.io",
    "proxy_port": 1080
  }'

3. Connect Playwright & Puppeteer over CDP

Pass --remote-debugging-port=9222 when launching an AtlasX profile, then connect Playwright or Puppeteer directly using connect_over_cdp.

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(
        endpoint_url="http://127.0.0.1:9222"
    )
    context = browser.contexts[0]
    page = context.pages[0]
    page.goto("https://pixelscan.net")
    print("Title:", page.title())
import puppeteer from "puppeteer-core";

const browser = await puppeteer.connect({
  browserURL: "http://127.0.0.1:9222",
  defaultViewport: null,
});
const [page] = await browser.pages();
await page.goto("https://pixelscan.net");

5. Popular Device Template Identifiers

Pass any of the 87 template identifiers in device_id when creating a profile:

Device ID Model Name OS & Browser Stack
ios_iphone_16_pro_max iPhone 16 Pro Max iOS 18.1 Mobile Safari · 393×852 Retina
ios_iphone_15_pro_max_crios iPhone 15 Pro Max iOS 18.0 Chrome iOS · 430×932 Retina
samsung_s24_ultra Samsung Galaxy S24 Ultra Android 15 Chrome Mobile · Adreno 750
google_pixel_9_pro_xl Google Pixel 9 Pro XL Android 15 Chrome Mobile · Mali-G715