A Spotify secrets scraper that updates hourly to monitor and extract secrets from Spotify's infrastructure
Find a file
2025-10-14 22:00:03 +02:00
secrets update secrets (v60) 2025-10-14 22:00:03 +02:00
.editorconfig initial commit 2025-10-11 23:21:52 +02:00
.gitignore initial commit 2025-10-11 23:21:52 +02:00
deno.json feat: skip updates if player URL has not changed 2025-10-12 00:10:11 +02:00
deno.lock initial commit 2025-10-11 23:21:52 +02:00
LICENSE add license 2025-10-13 14:01:00 +02:00
main.ts feat: skip updates if player URL has not changed 2025-10-12 00:10:11 +02:00
README.md initial commit 2025-10-11 23:21:52 +02:00
update.sh feat: skip updates if player URL has not changed 2025-10-12 00:10:11 +02:00

spotify-secrets

A Spotify secrets scraper that updates hourly to monitor and extract secrets from Spotify's infrastructure.

Original method by misiektoja/spotify_monitor, simplified for use without a full browser environment.

Installation

To install dependencies:

deno install

Usage

To run:

deno run run

Using the JSON Data

The scraper generates three JSON files that are updated hourly and exposed via raw JSON URLs:

Plain Secrets (array)

URL: https://code.thetadev.de/ThetaDev/spotify-secrets/raw/branch/main/secrets/secrets.json

Returns a JSON array of following objects: { "version": number, "secret": string }

[ { "version": 12, "secret": "secret12" }, { "version": 13, "secret": "secret13" } ]

Secret Bytes (array)

URL: https://code.thetadev.de/ThetaDev/spotify-secrets/raw/branch/main/secrets/secretBytes.json

Returns a JSON array of following objects: { "version": number, "secret": number[] }

[ { "version": 12, "secret": [115, 101, 99, 114, 101, 116, 49, 50] }, { "version": 13, "secret": [115, 101, 99, 114, 101, 116, 49, 51] } ]

Secret Bytes (object/dict)

URL: https://code.thetadev.de/ThetaDev/spotify-secrets/raw/branch/main/secrets/secretDict.json

Returns a JSON object mapping each version to its array of byte values: { [version: string]: number[] }

{ "12": [115, 101, 99, 114, 101, 116, 49, 50], "13": [115, 101, 99, 114, 101, 116, 49, 51] }

TypeScript Interface

The scraper outputs secrets in one of two unified formats:

Array format (secrets.json, secretBytes.json):

interface SpotifySecrets {
	secret: string | number[];
	version: number;
}[];

Object/Dict format (secretDict.json):

interface SpotifySecretsDict {
  [version: string]: number[]
}

Usage Example (TypeScript)

// Fetch secrets
const response = await fetch('https://code.thetadev.de/ThetaDev/spotify-secrets/raw/branch/main/secrets/secrets.json');
const secrets: SpotifySecrets = await response.json();

// Get latest version
const latestSecret = secrets[secrets.length - 1];
console.log(`Version ${latestSecret.version}: ${latestSecret.secret}`);

Usage Example (Python)

import requests

# Fetch secrets
response = requests.get("https://code.thetadev.de/ThetaDev/spotify-secrets/raw/branch/main/secrets/secretDict.json")
secrets = response.json()

# Get latest version
latest_secret = secrets[(v := max(secrets, key=int))]
print(f"Version {v}: {latest_secret}")