Skip to content

Getting started ​

The AresLogin API lets your scripts create, start and stop browser profiles, then control the browser with Playwright, Puppeteer or Selenium.

Base URL:

https://app.areslogin.io/api/v1

Preview

The API is in preview. New fields and endpoints will be added as AresLogin grows; breaking changes will be announced here first.

1. Create an API key ​

Open the AresLogin app, go to API in the left menu, name a key and click Create key. Copy it right away: it is shown once.

Send the key with every request:

bash
curl https://app.areslogin.io/api/v1/me \
  -H "Authorization: Bearer ares_..."

A key acts as the account member who created it. It sees the same profiles and has the same permissions.

2. Keep the AresLogin app open ​

Profiles run on your own computer, inside the AresLogin app. The API sends the command to the app, and the app starts the browser. If the app is closed, start returns device_offline.

Your automation script must run on that same computer. The browser's control port listens on 127.0.0.1 only.

3. Start a profile and connect ​

bash
npm install areslogin playwright-core
js
import { AresLogin } from 'areslogin';
import { chromium } from 'playwright-core';

const ares = new AresLogin({ apiKey: process.env.ARES_API_KEY });

const { data } = await ares.profiles.list({ per_page: 1 });
const run = await ares.profiles.start(data[0].id);

const browser = await chromium.connectOverCDP(run.cdp_url);
const page = await browser.contexts()[0].newPage();
await page.goto('https://example.com');
console.log(await page.title());

await browser.close();                 // disconnects only
await ares.profiles.stop(data[0].id);  // closes the browser, saves the profile

Python:

bash
pip install areslogin playwright
python
import os
from areslogin import AresLogin
from playwright.sync_api import sync_playwright

ares = AresLogin(api_key=os.environ["ARES_API_KEY"])
profile_id = ares.profiles.list(per_page=1)["data"][0]["id"]
run = ares.profiles.start(profile_id)

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(run["cdp_url"])
    page = browser.contexts[0].new_page()
    page.goto("https://example.com")
    print(page.title())
    browser.close()

ares.profiles.stop(profile_id)

Limits ​

Requests120 per minute per key
Keys10 active keys per account member
AutomationChrome-based profiles. Firefox-based profiles can be started and stopped, but have no control port yet

Profile and running-profile limits come from your plan, the same as in the app.