📖 Documentación

Todo lo que necesitas para integrar audio y datos musicales en tus proyectos.

Introducción

Urukais Klick es una puerta de entrada unificada a más de 150 APIs musicales. Con una sola autenticación podrás acceder a streaming, análisis de audio, conciertos, radio y podcasts sin configurar múltiples cuentas.

  • ✅ Autenticación única (OAuth 2.0 / API Key)
  • ✅ Respuestas normalizadas en JSON
  • ✅ Soporte CORS y WebHooks
  • ✅ Rate-limits transparentes

Autenticación

Utiliza tu API Key en el header X-API-Key o genera un token JWT vía OAuth 2.0:

curl -H "X-API-Key: uk_TU_CLAVE" \
https://api.urukais.com/v1/search?q=neon&type=track

Obtén tu clave en Configuración.

Endpoints principales

/search

Busca en todos los catálogos con una sola llamada.

GET /v1/search?q=synthwave&type=track&limit=10

/audio/analyze

Analiza BPM, tonalidad y energía de un archivo o URL.

POST /v1/audio/analyze
Content-Type: application/json
{"url": "https://mi-cancion.mp3"}

/concerts/nearby

Eventos próximos dentro de un radio (km).

GET /v1/concerts/nearby?lat=40.41&lng=-3.70&radius=50

Códigos de estado

  • 200 – OK
  • 201 – Creado
  • 400 – Bad Request
  • 401 – Unauthorized
  • 429 – Rate limit exceeded
  • 500 – Internal Server Error

Rate-limits

Plan gratuito: 100 req/min y 10 000 req/mes. Plan PRO: 1 000 req/min y 500 000 req/mes. Se devuelen headers X-RateLimit-Remaining y X-RateLimit-Reset.

SDKs y librerías

Ejemplos rápidos

JavaScript (fetch)

const res = await fetch('https://api.urukais.com/v1/search?q=neon&type=track', {
  headers: { 'X-API-Key': 'uk_TU_CLAVE' }
});
const data = await res.json();
console.log(data.tracks[0].name);

Python (requests)

import requests
headers = {'X-API-Key': 'uk_TU_CLAVE'}
r = requests.get('https://api.urukais.com/v1/search', params={'q': 'neon', 'type': 'track'}, headers=headers)
print(r.json()['tracks'][0]['name'])