secrets | ||
.editorconfig | ||
.gitignore | ||
deno.json | ||
deno.lock | ||
LICENSE | ||
main.ts | ||
README.md | ||
update.sh |
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}")