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");
4. Cloud Cookie Vault Import & Export
Import or export JSON and Netscape cookies for any profile via /api/v1/profiles. Cookies are automatically injected on launch and backed up when the session stops.
import requests res = requests.get( url="https://api.atlasx.io/api/v1/profiles", params={ "action": "export_cookies", "profile_id": 104, "format": "json", }, headers={"Authorization": "Bearer <YOUR_ATLASX_API_KEY_HERE>"}, ) print(res.json())
curl -G "https://api.atlasx.io/api/v1/profiles" \ -H "Authorization: Bearer <YOUR_ATLASX_API_KEY_HERE>" \ --data-urlencode "action=export_cookies" \ --data-urlencode "profile_id=104" \ --data-urlencode "format=json"
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 |
|
iOS 18.1 Mobile Safari · 393×852 Retina |
ios_iphone_15_pro_max_crios |
|
iOS 18.0 Chrome iOS · 430×932 Retina |
samsung_s24_ultra |
|
Android 15 Chrome Mobile · Adreno 750 |
google_pixel_9_pro_xl |
|
Android 15 Chrome Mobile · Mali-G715 |