Basado en SteamTools API
Los mismos puntos finales que utiliza la página de inicio, expuestos como HTTP simple. Sin autenticación, sin SDK, sin dependencia de proveedor: simplemente envíelo desde la terminal.
Busca en el catálogo Steam
/api/searchDevuelve hasta 10 resultados que coinciden con una consulta, ya sea el nombre de un juego o un App ID numérico. Las consultas numéricas se buscan a través del punto final de detalles de la aplicación de Steam, por lo que siempre devuelven el registro canónico.
Query parameters
- query
- Término de búsqueda de texto libre o numérico App ID.
Solicitud de ejemplo
curl -s "https://steamtools.games/api/search?query=portal" | jqGenerar el par manifiesto + Lua
/api/generateVerifica el App ID con el almacén Steam y luego devuelve los CDN canónicos URL para los archivos .manifest y .lua. Deben existir sucursales distintas a las públicas para ese App ID en Steam.
Request body
- appId
- Numérico Steam App ID.
- branch
- Etiqueta de nombre de archivo opcional. El valor predeterminado es público. Los paquetes ascendentes casi siempre son de lanzamiento público, independientemente de este campo.
Solicitud de ejemplo
curl -s -X POST "https://steamtools.games/api/generate" \
-H "Content-Type: application/json" \
-d '{"appId": "400", "branch": "public"}' | jqEjemplo de respuesta
{
"code": 0,
"message": "ok",
"data": {
"appId": "400",
"branch": "public",
"gameName": "Portal",
"gameImage": "https://shared.cloudflare.steamstatic.com/store_item_assets/steam/apps/400/capsule_231x87.jpg",
"downloadUrl": "https://steamtools.games/api/files/400/zip",
"luaUrl": "https://steamtools.games/api/files/400/lua",
"keyVdfUrl": "https://steamtools.games/api/files/400/key",
"instructions": [
"1. Click Download ZIP — the package contains 400_public.lua, key.vdf, and a README.",
"2. Copy the .lua and key.vdf into your SteamTools install root (same folder as the executable).",
"3. Restart SteamTools and the game will appear in your library.",
"4. Branches available for this App ID: public."
],
"generatedAt": "2026-06-30T12:34:56.000Z"
}
}JSON con manifestUrl, luaUrl, gameName, gameImage e instrucciones de instalación por paso.
Límites de tarifas y uso legítimo
La búsqueda se limita a una solicitud cada 300 ms por IP; La generación se limita a una solicitud cada 1,5 s. No hay cuota diaria. Si necesita un mayor rendimiento, ejecute su propia instancia: el proyecto es de código abierto.
OpenAPI 3.1
El esquema completo está disponible como un archivo estático JSON, perfecto para conectarlo a Postman, Insomnia o su linter CI.
Descargar openapi.jsonPreguntas frecuentes
- ¿Necesito una clave API?
- No. Los puntos finales son públicos, gratuitos y no autenticados. Limitamos la velocidad por IP para mantener las luces encendidas.
- ¿Puedo usar esto en un producto comercial?
- Sí, siempre y cuando respete los términos de servicio de Steam y no vuelva a empaquetar los archivos de manifiesto detrás de anuncios o un muro de pago.
- ¿Por qué JSON en lugar de XML?
- JSON es el mínimo común denominador. La forma refleja lo que ya devuelve el generador de página de inicio, por lo que cualquier cliente que hable con uno puede hablar con el otro.