ローカル API を使うと、コンピューター上で実行するスクリプトから Aurorium のプロファイル、ブラウザーセッション、フォルダー、プロキシ、Cookie を管理できます。サーバーはデスクトップアプリとともに起動し、同じコンピューターからのみ利用できます。
#クイックスタート
- Aurorium を起動し、アカウントにログインします。
- 「自動化」→「API」を開き、API キーを生成します。
- バックエンドでキーが表示されるのは一度だけなので、すぐに保存してください。
- すべてのリクエストで
Authorization: Bearer <api_key> を使用してキーを送信します。
bashcurl "http://127.0.0.1:50325/api/v1/health" \
-H "Authorization: Bearer $AURORIUM_API_KEY"
ベース URL:
texthttp://127.0.0.1:50325/api/v1
サーバーは 127.0.0.1 のみで待ち受け、外部ネットワークインターフェースでは待ち受けません。現在の固定ポートは 50325 です。
#共通パラメーター
一覧取得エンドポイントは次を受け付けます。
| パラメーター | デフォルト | 制限 |
|---|
page | 1 | 最小 1 |
page_size | 50 | 最大 200。それより大きな値は 200 に制限されます |
一覧レスポンスの data 形式:
json{
"list": [],
"page": 1,
"page_size": 50,
"total": 0
}
#GET /health
ローカルアプリの準備状態、クラウド接続状態、現在のデバイス ID を返します。
json{
"ready": true,
"cloud_connected": true,
"device_id": "device-id-or-null"
}
ヘルスチェックにも認証が必要です。
#GET /version
json{
"app_version": "0.3.1",
"core_version": null,
"api_version": "v1"
}
core_version は未実装で、常に null を返します。
#GET /profile
クエリパラメーター:
| パラメーター | 値 | 説明 |
|---|
folder_id | ObjectId | フォルダーで絞り込み |
name | 文字列 | 名前で検索 |
status | all, running, idle | デフォルトは all |
page, page_size | 整数 | ページネーション |
一覧の項目:
json{
"profile_id": "507f1f77bcf86cd799439011",
"name": "Automation profile",
"folder_id": null,
"status": "idle",
"location": null,
"os": "windows",
"os_version": "Windows 11",
"core": "chrome",
"core_version": "134",
"description": "",
"created_at": "2026-07-24T10:00:00Z",
"updated_at": "2026-07-24T10:00:00Z"
}
アーカイブ済みのプロファイルは返されません。running|idle フィルターは、ページの読み込み後にクライアント側でのみ適用されるため、total とページ内の項目数が絞り込み後の一覧と一致しない場合があります。
#POST /profile
最小限のリクエスト:
json{
"name": "Automation profile"
}
対応フィールド:
| フィールド | 型 | 必須 | 備考 |
|---|
name | 文字列 | はい | 空でない名前 |
description | 文字列 | いいえ | デフォルトは "" |
folder_id | 文字列または null | いいえ | Mongo ObjectId。null はフォルダーなしを意味します |
tags | 配列 | いいえ | デフォルトは [] |
os | 文字列 | いいえ | windows, macos, linux |
os_version | 文字列 | いいえ | フィンガープリント生成用の OS バージョンのヒント(例: "11"、"Tahoe")。推奨値は /catalog を参照 |
is_arm | 真偽値 | いいえ | ARM のヒント。省略時は GPU ベンダーから推定 |
proxy | オブジェクト | いいえ | 下記形式のインラインプロキシ |
proxy_id | 文字列 | いいえ | 既存のプロキシへの参照。proxy が優先されます |
launch_arguments | 文字列 | いいえ | 起動引数を 1 つの文字列で指定 |
start_page | 文字列 | いいえ | スタートページ |
fingerprint | オブジェクト | いいえ | フィンガープリントの部分的な上書き |
プロキシを使用する例:
json{
"name": "Profile with proxy",
"os": "windows",
"proxy": {
"type": "socks5",
"host": "127.0.0.1",
"port": 1080,
"user": "login",
"password": "secret"
}
}
プロファイルの作成はバックエンドで非同期に行われます。ローカル API は完了イベントを待ち、通常は完全なプロファイルモデルを返します。その後の読み取りに失敗した場合、profile_id のみが返されることがあります。
#GET /profile/:id
一覧項目に proxy と fingerprint オブジェクトを追加して返します。プロキシのパスワードが平文で返されることはありません。存在する場合は ****** に置換されます。
#PATCH /profile/:id
プロファイルを部分更新します。
json{
"name": "New name",
"description": "Updated through API",
"folder_id": null,
"fingerprint": {
"timezone_mode": "manual",
"timezone": "Europe/Moscow"
}
}
ボディが空の場合、変更せず成功します。メタデータは即座に適用されます。フィンガープリントの変更は停止中のプロファイルには即座に適用され、実行中の場合は次回の起動まで延期されて deferred_fields に記載されます。
json{
"profile_id": "507f1f77bcf86cd799439011",
"deferred_fields": ["fingerprint.timezone_mode", "fingerprint.timezone"]
}
停止中のプロファイルでは、deferred_fields は常に空です。
#DELETE /profile/:id
force=true クエリは、現在のデバイスで実行中のプロファイルを削除前に停止します。force がない場合、このようなプロファイルは 1203 を返します。
json{
"profile_id": "507f1f77bcf86cd799439011",
"deleted": true
}
構文が正しい ObjectId の削除は冪等です。現在、バックエンドの「見つかりません」という応答は、すでに削除済みのプロファイルとして扱われます。
#フィンガープリント
POST と PATCH の fingerprint オブジェクトでは、次のフィールドを部分更新できます。
| フィールド | 型または値 |
|---|
timezone_mode | auto, manual |
timezone | 文字列または null |
language_mode | auto, manual |
languages | 文字列配列。最初の項目を使用 |
language | 文字列。省略記法として使用可能 |
screen_resolution | 文字列 |
webrtc_mode | real, replace |
canvas_noise | 真偽値 |
webgl_image_noise | 真偽値 |
webgl_vendor | 文字列または null |
webgl_renderer | 文字列または null |
audio_noise | 真偽値 |
client_rects_noise | 真偽値 |
hardware_concurrency | 数値 |
device_memory | 数値 |
do_not_track | default, true |
os_version | 文字列 |
dns_mode | real, manual |
dns_server | 文字列または null |
geolocation | {mode, latitude, longitude, accuracy} |
media_devices | {audio_inputs, audio_outputs, video_inputs} |
/catalog を使用して、互換性のある OS、GPU、CPU、RAM、画面、タイムゾーン、言語の値を取得します。
#GET /folder
name、page、page_size に対応します。
json{
"folder_id": "507f1f77bcf86cd799439012",
"name": "QA",
"profile_count": 3,
"system": false
}
#PUT /folder/:id
json{ "name": "QA automation" }
#DELETE /folder/:id
フォルダーを削除してもプロファイルは削除されません。バックエンドはチームのプロファイルをシステムフォルダーへ移動し、個人のプロファイルをフォルダーなしの状態にします。
json{
"folder_id": "507f1f77bcf86cd799439012",
"deleted": true,
"moved_profiles": 3,
"moved_to": null
}
moved_profiles と moved_to は削除前に可能な範囲で計算されます。クラウドの状態を読み取れない場合、不正確になることがあります。
#GET /browser/status?profile_id=:id
idle または running、起動デバイス、およびローカルで取得可能なプロセスの接続・識別情報を返します。
#POST /browser/start
json{
"profile_id": "507f1f77bcf86cd799439011",
"headless": false,
"open_urls": ["https://example.com"],
"launch_args": ["--window-size=1280,800"],
"load_extensions": true
}
成功時のレスポンス:
json{
"profile_id": "507f1f77bcf86cd799439011",
"already_running": false,
"debug_port": 51432,
"ws": "ws://127.0.0.1:51432/devtools/browser/...",
"webdriver": null,
"pid": 12345,
"lease": {
"device_id": "device-id",
"device_name": "Workstation",
"is_current_device": true
}
}
現在のデバイスでプロファイルを再度起動する操作は冪等です。別のデバイスで実行中のプロファイルは 1204 を返します。必要なブラウザーコアが存在しないかダウンロード中の場合、ローカル API は 1304 を返します。このメソッドはコアを自動ダウンロードしません。
#POST /browser/stop
json{ "profile_id": "507f1f77bcf86cd799439011" }
停止操作は冪等で、was_running を返します。
#POST /browser/stop-all
現在のデバイスのすべてのプロファイルを停止します。
json{
"stopped": ["507f1f77bcf86cd799439011"],
"count": 1
}
#POST /proxy/check
proxy または profile_id のどちらか一方だけを指定します。
json{
"proxy": {
"type": "http",
"host": "proxy.example.com",
"port": 8080
}
}
json{
"ok": true,
"exit_ip": "203.0.113.10",
"country": "DE",
"city": "Frankfurt",
"latitude": 50.11,
"longitude": 8.68,
"timezone": null,
"latency_ms": null
}
#PUT /profile/:id/proxy
ボディには proxy ラッパーを付けず、プロキシオブジェクト自体を指定します。
json{
"type": "no_proxy"
}
実行中のプロファイルでは変更は次回起動まで延期され、レスポンスに deferred_fields: ["proxy"] が含まれます。
#Cookie
Cookie はフラットな形式を使用します。
json{
"domain": ".example.com",
"name": "session",
"value": "value",
"path": "/",
"expires": 1790000000,
"http_only": true,
"secure": true,
"same_site": "lax"
}
expires は秒単位の Unix 時刻です。0 または null はセッション Cookie を意味します。same_site は unspecified、no_restriction、lax、strict を受け付けます。
#GET /profile/:id/cookies
まずローカルの Chromium SQLite データベースを読み取り、利用できない場合はクラウドに保存された Cookie を使用します。
#POST /profile/:id/cookies/import
json{
"clear": true,
"cookies": [
{
"domain": ".example.com",
"name": "session",
"value": "value"
}
]
}
clear=true は Cookie を置換し、デフォルトの動作です。clear=false は既存のクラウド上のコピーとマージします。- プロファイルはすべてのデバイスで停止している必要があります。
- 受け付ける各 Cookie には、少なくとも
domain と name が必要です。
#GET /device
ページ分割された一覧を返します。
json{
"device_id": "device-id",
"device_name": "Workstation",
"platform": "windows",
"is_current_device": true,
"online": true,
"last_seen": "2026-07-24T10:00:00Z",
"running_profiles": 1,
"running_profile_ids": ["507f1f77bcf86cd799439011"]
}
#GET /catalog
使用可能なフィンガープリント値と GPU → CPU/RAM/画面の依存関係を返します。os=windows|macos|linux を使うと、結果を 1 つの OS に制限できます。
カタログはクラウドに依存し、クラウドが利用できない場合は 1701 を返します。
#最小限の JavaScript サンプル
jsconst baseUrl = "http://127.0.0.1:50325/api/v1";
const token = process.env.AURORIUM_API_KEY;
async function aurorium(path, options = {}) {
const response = await fetch(`${baseUrl}${path}`, {
...options,
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
...options.headers,
},
});
const result = await response.json();
if (result.code !== 0) {
throw new Error(`[${result.code}] ${result.msg}; ${result.request_id}`);
}
return result.data;
}
const profiles = await aurorium("/profile?page_size=10");
console.log(profiles.list);