API Documentation & Usage

Access fresh, self-healing, auto-rotated ARL tokens via public REST endpoints without authentication.

1. Plaintext ARL (Recommended for Music Bots)

Directly returns the 192-character token string for single-line HTTP requests.

GET /api/arl/raw
GET /api/arl/raw?rotate=true
JavaScript / TypeScript (axios)
import axios from "axios";

// Fetch active ARL token directly
const arl = (await axios.get("https://deezer-arl.musiva.app/api/arl/raw?rotate=true")).data;
cURL
curl -s https://deezer-arl.musiva.app/api/arl/raw

2. JSON Response with Account Metadata

Returns the ARL token along with account tier and pool health metrics.

GET /api/arl
GET /api/arl?rotate=true
JSON Response (200 OK)
{
  "success": true,
  "data": {
    "arl": "0f433ab01c80b2b08d7cc585945ffbdfac9f261a8ec623312ade7d4dbea41282...",
    "account": {
      "id": "3fb4fa1c-0b93-4bc8-ad34-dbe8f30490e7",
      "label": "Primary Account",
      "tier": "FREE",
      "country": "ID"
    }
  }
}

3. Dynamic Integration in Bot Service (musiva)

Automatically fetch or renew ARL dynamically at runtime without restarting your bot process.

import axios from "axios";

export async function getFreshDeezerArl(): Promise<string | null> {
  try {
    const res = await axios.get("https://deezer-arl.musiva.app/api/arl/raw?rotate=true");
    if (res.data && res.data.length === 192) {
      return res.data.trim();
    }
  } catch (err) {
    console.warn("ARL Manager unreachable, using fallback token.");
  }
  return null;
}