Back to reseller API documentation

REST API, built for resellers.

Build custom integrations on top of Orphilia. Stocks, key info, upgrades, renewals — JSON in, JSON out, one API key.

Base URL
https://api.orphilia.com
Auth
X-API-Key: your_api_key

Send your key on every request as a header.

Rate limit
60 req / minute / key

Need more? Contact support.

Key features

  • Secure API-key authentication.
  • RESTful design, JSON responses.
  • Real-time stock availability.
  • Comprehensive key status tracking.
  • Automatic upgrade processing.
  • Renewal flow integrated.
  • Multi-country support.
  • Detailed error messages.

Key formats and branding

Choose how your keys look, from Orphilia branding to a format of your own.

Branded
ORPH-XXXX-XXXX-… or ORPHILIA-XXXX-…

Recognizable Orphilia prefixes that identify the key as ours.

Orphilia identity

Whitelabel
XXXX-XXXX-XXXX-… or YOURBRAND-XXXX-…

Custom formats and optional prefixes for a seamless experience under your own brand.

Your branding, your customer experience

Custom prefix & length

Have a format in mind? Email us your preferred prefix and the number of key segments you’d like.

Request a custom format

Endpoints

Response

{
  "success": true,
  "data": [
    { "country": "United States", "countryCode": "US", "available": 150 },
    { "country": "United Kingdom", "countryCode": "GB", "available": 89 }
  ]
}

Request body

{
  "key": "your-orphkey-here"
}

Response

{
  "success": true,
  "data": {
    "key": "ORPH-XXXX-XXXX-XXXX",
    "status": "active",
    "purchaseDate": "2025-01-01",
    "iterations": 2,
    "lastUsed": "2025-01-13"
  }
}

Request body

{
  "orphkey": "your-orphkey-here",
  "login": "spotify-email",
  "password": "spotify-password",
  "country": "US"
}

Recommended: sp_dc cookie request

Send the session cookie instead of login and password. Email/password remains supported by the API when sp_dc is omitted.

{
  "orphkey": "your-orphkey-here",
  "sp_dc": "your-spotify-session-cookie-value",
  "country": "US"
}

Response

{
  "success": true,
  "message": "Account upgraded successfully",
  "data": {
    "accountEmail": "spotify email/username",
    "country": "US",
    "premiumUntil": "2025-02-13"
  }
}

Request body

{
  "orphkey": "your-orphkey-here",
  "login": "spotify-email",
  "password": "spotify-password",
  "country": "US"
}

Recommended: sp_dc cookie request

Send the session cookie instead of login and password. Email/password remains supported by the API when sp_dc is omitted.

{
  "orphkey": "your-orphkey-here",
  "sp_dc": "your-spotify-session-cookie-value",
  "country": "US"
}

Country is optional for renewal. If your integration supplies newemail, the backend also requires password, including in cookie mode.

Response

{
  "success": true,
  "message": "Account renewed successfully",
  "data": {
    "accountEmail": "spotify email/username",
    "premiumExtendedUntil": "2025-03-13"
  }
}

Code examples

Email/password examples are shown below. For the recommended Cookie method, replace login and password with sp_dc, using the JSON requests above. Send credentials only in the HTTPS request body; never put a cookie or password in a URL or public log.

// Get stock availability
fetch('https://api.orphilia.com/api/v3/re/stocks', {
  headers: { 'X-API-Key': 'your_api_key_here' }
})
  .then(r => r.json())
  .then(console.log);

// Upgrade an account
fetch('https://api.orphilia.com/api/v3/re/upgrade', {
  method: 'POST',
  headers: {
    'X-API-Key': 'your_api_key_here',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    orphkey: 'your-key-here',
    login: 'username',
    password: 'password',
    country: 'US'
  })
})
  .then(r => r.json())
  .then(console.log);
import requests

headers = { 'X-API-Key': 'your_api_key_here' }

# Stock availability
r = requests.get(
    'https://api.orphilia.com/api/v3/re/stocks',
    headers=headers
)
print(r.json())

# Upgrade
r = requests.post(
    'https://api.orphilia.com/api/v3/re/upgrade',
    headers={ **headers, 'Content-Type': 'application/json' },
    json={
        'orphkey': 'your-key-here',
        'login': 'username',
        'password': 'password',
        'country': 'US'
    }
)
print(r.json())
<?php
// Stock availability
$ch = curl_init('https://api.orphilia.com/api/v3/re/stocks');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'X-API-Key: your_api_key_here' ]);
$stocks = json_decode(curl_exec($ch), true);
curl_close($ch);

// Upgrade
$ch = curl_init('https://api.orphilia.com/api/v3/re/upgrade');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
    'orphkey' => 'your-key-here',
    'login' => 'username',
    'password' => 'password',
    'country' => 'US'
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-API-Key: your_api_key_here',
    'Content-Type: application/json'
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
?>
const axios = require('axios');

// Stock availability
axios.get(
  'https://api.orphilia.com/api/v3/re/stocks',
  { headers: { 'X-API-Key': 'your_api_key_here' } }
).then(r => console.log(r.data));

// Upgrade
axios.post(
  'https://api.orphilia.com/api/v3/re/upgrade',
  {
    orphkey: 'your-key-here',
    login: 'username',
    password: 'password',
    country: 'US'
  },
  {
    headers: {
      'X-API-Key': 'your_api_key_here',
      'Content-Type': 'application/json'
    }
  }
).then(r => console.log(r.data));

Need developer support?

API integration help, troubleshooting, custom endpoints, rate-limit bumps.

Building on the API? Other devs hang out in #api-and-developers on Slack or #api-and-developers on Discord. Direct line to Orphilia engineering.

Lock in Lifetime Premium - From $25.99