API
API para desarrolladores
El mismo panel que alimenta este sitio, como JSON limpio. Autentíquese con una clave bearer.
Autenticación
Las llamadas anónimas permiten evaluar con un límite bajo. Pase una clave emitida como token Bearer para el acceso medido.
curl /api/v1/overview
Respuesta en vivo
Cargando…
Endpoints
GET /api/v1/overview— KPI principales del panel
GET /api/v1/salary?by=seniority|company|job_family|country— mediana salarial por dimensión
GET /api/v1/facets— valores de filtro en vivo y recuentos de filas
GET /api/v1/explore?country=DE&salaried_only=true&sort=salary_desc— filas de puestos filtradas
GET /api/v1/explore?as_of=2026-08-05&…— la misma consulta, reproducida tal como se conocía el panel en esa fecha — el parámetro de viaje en el tiempo (también en /salary)
GET /api/v1/explore.csv?…— mismos filtros, exportación de muestra en CSV
GET /api/v1/insights/comp-mix?by=sector— tasas de mención de equity y bonus por sector o familia profesional
GET /api/v1/events?type=salary_revised_down&days=30— eventos de cambio derivados — revisiones salariales, cierres, reaperturas, cada uno con URL de origen
GET /api/v1/insights/time-to-fill?by=job_family— distribución de la vida de las ofertas (solo episodios no censurados), por familia/país/empresa
GET /api/v1/insights/market-mix?by=seniority— composición de la contratación abierta por función, nivel o sector
GET /api/v1/insights/benchmark-series?job_family=Engineering&country=US— historial de benchmark escrito a diario para un mercado
GET /api/v1/quality— completitud de campos y procedencia del FX
GET /api/v1/coverage— registro de cobertura por portal
GET /api/v1/hiring?days=30— serie temporal de puestos abiertos
GET /api/v1/signals/disclosure?days=30— tendencia de divulgación salarial (global vs. UE)
GET /api/v1/signals/movers?days=30— aceleradores / desaceleradores de contratación
GET /api/v1/company/{platform}/{token}— señales por empresa
Constructor de consultas
Componga una petición contra el panel en vivo y cópiela como curl.
curl …
Diccionario de datos
Semántica de campos para las filas de puestos. Los valores desconocidos son null — nunca se imputan en silencio.
| Campo | Tipo | Significado |
|---|---|---|
| salary_min / salary_max | number|null | Límites de la horquilla declarada por el empleador en la moneda y el periodo originales. |
| currency | ISO 4217|null | Código ISO 4217 cuando puede determinarse a partir de la oferta; null en caso contrario. |
| period | year|month|hour | Periodo de pago tal como se declara (año, mes u hora). |
| salary_source | stated|none | 'stated' solo cuando el empleador escribió la cifra. Nunca modelado. |
| annual_usd | number|null | Punto medio anualizado a USD con tipos de cambio de referencia fechados; null cuando la moneda es desconocida. |
| confidence | 0–1|null | Confianza del extractor determinista para la horquilla declarada. |
| has_equity / has_bonus | 0|1|null | equity / bonus mencionados en el extracto retributivo; null = extracto no evaluado (nunca se adivina) |
| as_of | date (param) | cualquier consulta de explore/salary acepta as_of=YYYY-MM-DD y responde con el conocimiento de ese día — cite una cifra y cualquiera podrá reproducirla |
| quality_flags | string[] | Lagunas conocidas en esta fila, p. ej. no_country, no_currency. |
| observed_at | ISO 8601 | Cuándo se observó por última vez este estado exacto en el portal de origen. |
| first_seen_at | ISO 8601 | Cuándo entró la oferta por primera vez en el panel en vivo. |
| url | string | URL pública de la oferta de origen — cada fila es auditable. |
| fx_as_of | date | Fecha de la instantánea de tipos de cambio usada para la conversión a USD en esta respuesta. |
Errores
Todos los errores devuelven un cuerpo JSON con una forma estable y el código de estado apropiado.
{ "error": "explanation", "status": 4xx }
Las cuotas se aplican por clave y por día UTC. 429 significa que la cuota de ese día está agotada.
Versionado y obsolescencia
- Los endpoints v1 son aditivos: pueden aparecer campos nuevos; los campos existentes nunca cambian de significado dentro de v1.
- Los cambios incompatibles se publican como /api/v2, con ambas versiones servidas en paralelo durante al menos 90 días.
- Las obsolescencias se anuncian en el changelog y mediante cabeceras de respuesta antes de su retirada. Registro de cambios →
Point-in-timeSemántica as-of para investigación reproducible
Vinculado a la fuenteURL pública de la oferta en cada fila de puesto
Declarado vs. normalizadoLa horquilla local original se conserva
Cuotas explícitasMedición diaria determinista por clave