Inicio/Docs/API de lectura de Market
API de lectura de Market
Lee tus propios datos de Market desde un script en tu servidor: búsqueda y listas del catálogo, fichas de extensiones, tus seguidas, tus búsquedas guardadas y el radar de cartera, y una exportación CSV. La API responde a las mismas preguntas que las pantallas de Market, con los mismos límites, para la cuenta dueña de la clave.
1. Crea una clave
En la app web abre Ajustes, luego Cuenta, luego Claves de API, y crea una clave. La clave completa se muestra una vez, justo después de crearla: guárdala en tu almacén de secretos. Solo guardamos su hash SHA-256, así que una clave perdida no se recupera: se sustituye.
Una clave tiene este aspecto:
eop_k3j5x7q2m4n6p_7t2w4y6a3c5e7g2j4l6n3q5s7u2w4y6a3c5e7g2j4l6n3q5s7u2w4y6a
La parte anterior al segundo guion bajo es el prefijo público de la clave. Ajustes lo muestra junto al nombre, la fecha de creación y el último uso, para que distingas tus claves sin el secreto.
2. Llama a la API
Envía la clave como token bearer. Cada ruta es un GET bajo un mismo prefijo:
curl -s https://extops.dev/api/v1/market/read/watchlist \
-H "Authorization: Bearer $EXTOPS_API_KEY"
| Ruta | Qué devuelve |
|---|---|
/search | Búsqueda en el catálogo con los parámetros del Explorer: texto, modo, filtros, orden, páginas. |
/lists/{kind} | Una de las listas masivas: nuevas, retiradas, versiones, las que más se mueven y el resto. |
/categories | Categorías de la tienda con su tamaño. |
/extensions/{id} | Una ficha de extensión con su historial y su actividad en la tienda. |
/extensions/{id}/timeline | Más páginas de la actividad en la tienda de una ficha. |
/watchlist | Las extensiones que sigues. |
/segments | Tus búsquedas guardadas. |
/segments/{id}/members | Las extensiones de una búsqueda guardada, según la última pasada cerrada del catálogo. |
/portfolio/radar | Todo lo que cambió en tus búsquedas guardadas, extensiones seguidas y propias, cada extensión una sola vez. |
/export | Una búsqueda o una lista en CSV, hasta 5.000 filas. |
Las respuestas son el mismo JSON que lee la app web, descrito campo por campo en el archivo OpenAPI. La API solo lee: no hay rutas de escritura, y cualquier método que no sea GET se rechaza.
3. Qué datos ve una clave
Una clave pertenece a tu cuenta y actúa como esa cuenta. Tus búsquedas guardadas, tus seguidas y tu radar son solo tuyos: una búsqueda guardada de otra cuenta responde 404, igual que una que no existe. Las listas del catálogo se recortan según tu plan, igual que en pantalla.
4. Límites
- 120 solicitudes por minuto por cuenta, sumadas entre todas sus claves: una segunda clave no es una segunda cuota. Cada respuesta incluye
X-RateLimit-Limit,X-RateLimit-RemainingyX-RateLimit-Reset. - Tus llamadas también cuentan en el mismo presupuesto diario de Market que la app: una clave eres tú, no una segunda cuota.
- Exportación CSV: hasta 5.000 filas por archivo y 50 archivos al día por cuenta.
- Hasta 5 claves activas por cuenta, suficientes para sustituir sin cortes.
Por encima de un límite la API responde 429 con Retry-After y la hora de reinicio en details.reset_at.
5. Sustitución, revocación y cambios de plan
Sustituir emite una clave nueva y detiene la anterior al instante. Para sustituir sin cortes, crea una segunda clave, despliégala y luego revoca la primera. Revocar está permitido en cualquier plan.
La API forma parte del plan Fleet. Si el plan cambia, tus claves no se borran: las llamadas responden 403 con plan_required, Ajustes muestra las claves en pausa y las mismas claves vuelven a funcionar cuando regresas a Fleet.
6. Errores
| Estado | Código | Significado |
|---|---|---|
| 401 | api_key_invalid | No hay clave, o es desconocida o está mal formada. |
| 401 | api_key_revoked | La clave fue revocada o sustituida. |
| 403 | api_key_scope | El alcance de la clave no cubre esta ruta. |
| 403 | plan_required | Tu plan no incluye la API en este momento. |
| 429 | rate_limited | Un límite está agotado hasta la hora indicada en details.reset_at. |