Catálogo
Juegos, del mismo catálogo que lee el sitio.
El único permiso que no toca los datos de nadie, y el que funciona en una llave que no tiene nada más. Solo los filtros sobre tus propios juegos, al final de la página, piden también library.read.
/api/ v1/ games/ {slug}/ activityActividad visible del juego y totales de sesiones. Acepta filtros de actividad. sessions y minutes cuentan las sesiones cerradas; days cuenta los días del calendario con alguna sesión, cada día una sola vez, aunque tenga dos sesiones o sesiones que se solapan. La sesión en vivo todavía abierta no entra en ninguno de los tres.
/api/ v1/ games/ ratingsPromedios de la comunidad por juego. Responde rating (el promedio, para mostrar), rating_count y weighted_rating (el promedio acercado a la media del sitio según cuántos votaron, para ordenar). ids: 1 a 200 ids separados por comas. Público.
/api/ v1/ games/ statsLo que la comunidad de uloggd hace con cada juego: personas distintas con el juego en su biblioteca, jugándolo, que lo terminaron, en su lista de deseos, favoritos, reseñas, jornadas y sesiones, más popularidad y tendencia de uloggd. Se recalcula cada pocos minutos a partir de la actividad del sitio; ningún número de IGDB entra. ids: 1 a 200 ids separados por comas. Público.
/api/ v1/ gamesBusca en el catálogo, con los mismos filtros que la búsqueda del sitio. Pública: responde sin llave ni sesión. Cada juego trae type, el tipo de IGDB (0 juego principal, 1 DLC, 2 expansión, 3 paquete, 4 expansión independiente, 8 remake, 9 remaster, 10 edición expandida, 11 port; los mismos ids que el filtro types), o null cuando el catálogo no lo dice. Los filtros sobre tus propios juegos (played, library, unplayed, wishlist, hideIgnored) son la excepción: leen la biblioteca de quien pregunta, así que piden una sesión o una llave que tenga también library.read, y la respuesta viene con Cache-Control: private, no-store.
Parámetros
| Campo | Tipo | Notas |
|---|---|---|
q | string | Texto libre, hasta 80 caracteres. |
platforms | string | Ids de IGDB de plataformas, separados por coma, hasta 24. |
release | string | released o upcoming. Por defecto: todos. |
period | string | last-30-days, last-90-days, this-year o next-3-months, contados desde hoy (UTC). |
yearFrom | integer | Primer año de lanzamiento, de 1950 a 2100. |
yearTo | integer | Último año de lanzamiento, de 1950 a 2100. |
demo | string | 1 para solo juegos con una demo jugable ahora en spawnd. |
steam | string | 1 para solo juegos que IGDB enlaza con una página de Steam. |
genres | string | Ids de IGDB de géneros, separados por coma, hasta 24. |
genresMode | string | Con genres: all exige todos; por defecto any, cualquiera. |
themes | string | Ids de IGDB de temas, separados por coma, hasta 24. |
themesMode | string | Con themes: all exige todos; por defecto any, cualquiera. |
modes | string | Ids de IGDB de modos de juego, separados por coma, hasta 24. |
perspectives | string | Ids de IGDB de perspectivas, separados por coma, hasta 24. |
types | string | Tipos de IGDB separados por coma (0 juego principal, 8 remake, 9 remaster...), hasta 24. Sin búsqueda, por defecto 0, 8 y 9. |
language | string | Hasta 8 idiomas separados por coma (pt, pt-BR, en-US) en la interfaz, el audio o los subtítulos. pt encuentra pt-BR y pt-PT. Solo donde IGDB lo informa. |
interface | string | Hasta 8 idiomas separados por coma (pt, pt-BR, en-US) en la interfaz. pt encuentra pt-BR y pt-PT. Solo donde IGDB lo informa. |
audio | string | Hasta 8 idiomas separados por coma (pt, pt-BR, en-US) en el audio. pt encuentra pt-BR y pt-PT. Solo donde IGDB lo informa. |
subtitles | string | Hasta 8 idiomas separados por coma (pt, pt-BR, en-US) en los subtítulos. pt encuentra pt-BR y pt-PT. Solo donde IGDB lo informa. |
age | string | Organismo y clasificación: esrb, pegi, cero, usk, grac, class_ind, acb, un guion y el escalón (class_ind-12, pegi-16, esrb-t). Juegos clasificados por ese organismo hasta ese escalón; solo donde IGDB lo informa. |
publishers | string | Ids de IGDB de empresas, separados por coma, hasta 24. |
role | string | Con publishers: publisher o developer. Por defecto: cualquiera. |
engines | string | Nombres de motores separados por coma, hasta 24. |
franchises | string | Ids de IGDB de franquicias, separados por coma, hasta 24. |
series | string | Ids de IGDB de series (collections), separados por coma, hasta 24. |
rated | string | 1 para solo juegos con nota en uloggd. |
reviewed | string | 1 para solo juegos con alguna reseña en uloggd. |
anticipated | string | 1 para solo juegos aún no lanzados que alguien espera. |
rating | integer | Nota mínima en uloggd, de 0 a 100. |
votes | integer | Mínimo de notas en uloggd. |
libraries | integer | Mínimo de personas con el juego en su biblioteca de uloggd, de 1 a 1000000. |
status | string | early_access, beta o alpha, separados por coma: cualquiera, como lo informa IGDB. |
hideCancelled | string | 1 para dejar fuera juegos que IGDB da como cancelados o rumores. |
hoursMin | integer | Horas de campaña según la estimación de IGDB, como mínimo (1 a 500). Solo donde IGDB lo informa. |
hoursMax | integer | Horas de campaña según la estimación de IGDB, como máximo (1 a 500). Solo donde IGDB lo informa. |
obscure | string | 1 para incluir juegos poco conocidos al navegar sin búsqueda. |
played | string | 1 para solo juegos que jugaste. Solo con sesión, o con una llave con library.read: sin ninguna de las dos la respuesta es 401 unauthorized, y una llave sin library.read recibe 403 insufficient_scope. |
library | string | 1 para solo juegos en tu biblioteca. Solo con sesión, o con una llave con library.read: sin ninguna de las dos la respuesta es 401 unauthorized, y una llave sin library.read recibe 403 insufficient_scope. |
unplayed | string | 1 para dejar fuera los juegos que jugaste. Solo con sesión, o con una llave con library.read: sin ninguna de las dos la respuesta es 401 unauthorized, y una llave sin library.read recibe 403 insufficient_scope. |
wishlist | string | 1 para solo juegos en tu lista de deseos. Solo con sesión, o con una llave con library.read: sin ninguna de las dos la respuesta es 401 unauthorized, y una llave sin library.read recibe 403 insufficient_scope. |
hideIgnored | string | 1 para dejar fuera los juegos que ignoraste. Solo con sesión, o con una llave con library.read: sin ninguna de las dos la respuesta es 401 unauthorized, y una llave sin library.read recibe 403 insufficient_scope. |
sort | string | popular, trending, rating, votes, newest, oldest, hype, name. trending sigue la tendencia de la comunidad de uloggd, y votes, cuántas notas tiene el juego en uloggd. Por defecto: popular. |
page | integer | De 1 a 100. Por defecto: 1. |
Ejemplo
{
"data": [
{
"id": 14593,
"slug": "hollow-knight",
"name": "Hollow Knight",
"release_year": 2017,
"type": 0,
"rating": 92,
"genres": ["Platform", "Adventure"],
"spawnd_available": false
}
],
"page": { "number": 1, "size": 24, "total_items": 812,
"total_pages": 34, "has_more": true }
}/api/ v1/ games/ {slug}Un juego por su slug, con la misma forma que la búsqueda (type incluido).
Filtros sobre tus juegos
La búsqueda (GET /api/v1/games) también filtra por los juegos de quien
pregunta, con 1 en cada uno:
played: solo los que jugaste, el estante "Jugados" de la biblioteca (estadoCOMPLETED);library: solo los que están en tu biblioteca, en cualquier estado;unplayed: el catálogo sin los deplayed;wishlist: solo los de tu lista de deseos;hideIgnored: el catálogo sin los juegos que ignoraste.
Leen la biblioteca de quien pregunta, que es lo que library.read protege,
así que piden una sesión o una llave con library.read además de
catalog.read. Sin llave ni sesión la respuesta es 401 unauthorized, y no
una lista vacía, que parecería un resultado. Una llave sin library.read
recibe 403 insufficient_scope con scope: "library.read".
Una respuesta que usó uno de estos filtros viene con
Cache-Control: private, no-store: es sobre una sola cuenta, y nada en el
camino debe guardarla. Las demás búsquedas siguen públicas como antes.