85.057 ofertas · 62.076 formaciones
Referencia técnica

Referencia API v1

Autenticación, endpoints, parámetros, ejemplos curl y respuestas JSON. Base: todas las URL son relativas al origen de producción.

Autenticación

Transmite tu token de socio en una de estas cabeceras HTTP en cada solicitud (excepto el catálogo público):

Authorization: Bearer <token>
# ou
X-Api-Key: <token>

Los ejemplos de solicitudes (curl) y de respuestas (JSON) se proporcionan de forma idéntica en todos los idiomas — son datos técnicos.

Endpoints

GET/api/v1Público

Catálogo autodocumentado de la API (público, sin token).

Ejemplo de solicitud

curl "https://www.superalternance.com/api/v1"

Ejemplo de respuesta

{
  "name": "superalternance API partenaires",
  "version": "1",
  "authentication": { "type": "bearer", "description": "…" },
  "endpoints": [ … ]
}
GET/api/v1/suggestToken requerido

Autocompletado «oficio o formación» para una barra de búsqueda.

Parámetros

ParámetroTipoRequeridoDescripción
qstringTexto introducido (≥ 2 caracteres).
limitintNoNúmero de sugerencias (1–20, por defecto 8).

Ejemplo de solicitud

curl -H "Authorization: Bearer $TOKEN" \
  "https://www.superalternance.com/api/v1/suggest?q=boul&limit=5"

Ejemplo de respuesta

{
  "query": "boul",
  "suggestions": [
    { "kind": "rome", "value": "Boulanger", "secondary": "Métier" },
    { "kind": "formation", "value": "CAP Boulanger", "secondary": "CFA des métiers" }
  ]
}
GET/api/v1/placesToken requerido

Autocompletado de lugares: regiones, departamentos y municipios.

Parámetros

ParámetroTipoRequeridoDescripción
qstringTexto introducido (≥ 2 caracteres).
limitintNoNúmero de sugerencias (1–12, por defecto 8).

Ejemplo de solicitud

curl -H "Authorization: Bearer $TOKEN" \
  "https://www.superalternance.com/api/v1/places?q=lyon"

Ejemplo de respuesta

{
  "query": "lyon",
  "suggestions": [
    { "kind": "city", "value": "Lyon", "secondary": "69001 · Rhône", "lat": 45.758, "lng": 4.835 }
  ]
}
GET/api/v1/jobs/latestToken requerido

Últimas ofertas de alternancia publicadas, con filtro de lugar opcional.

Parámetros

ParámetroTipoRequeridoDescripción
lieustringNoRegión / departamento / municipio.
latfloatNoLatitud (búsqueda por radio).
lngfloatNoLongitud (búsqueda por radio).
radiusfloatNoRadio en km (por defecto 30).
limitintNoNúmero de ofertas (1–100, por defecto 20).

Ejemplo de solicitud

curl -H "Authorization: Bearer $TOKEN" \
  "https://www.superalternance.com/api/v1/jobs/latest?lieu=Bordeaux&limit=10"

Ejemplo de respuesta

{
  "filters": { "lieu": "Bordeaux" },
  "total": 10,
  "jobs": [
    { "id": "…", "title": "Développeur web en alternance", "subtitle": "Acme · Bordeaux",
      "city": "Bordeaux", "latitude": 44.84, "longitude": -0.58,
      "labels": ["Apprentissage"], "url": "https://www.superalternance.com/fr/offres/…" }
  ]
}
GET/api/v1/jobs/{id}Token requerido

Detalle completo de una oferta: contrato, empleador, ubicación, candidatura.

Parámetros

ParámetroTipoRequeridoDescripción
idpathIdentificador de la oferta (campo `id` devuelto por la búsqueda).

Ejemplo de solicitud

curl -H "Authorization: Bearer $TOKEN" \
  "https://www.superalternance.com/api/v1/jobs/abc123"

Ejemplo de respuesta

{
  "job": {
    "id": "abc123", "title": "Boulanger en alternance",
    "contractTypes": ["Apprentissage"], "duration": "24 mois",
    "location": { "city": "Lyon", "zipCode": "69003", "region": "Auvergne-Rhône-Alpes" },
    "company": { "name": "Maison Dupain", "siret": "…", "siren": "…" },
    "apply": { "email": null, "url": "…" }
  }
}
GET/api/v1/formations/{id}Token requerido

Detalle completo de una formación: titulación, RNCP, organismo (CFA), ritmo.

Parámetros

ParámetroTipoRequeridoDescripción
idpathIdentificador de la formación (campo `id` devuelto por la búsqueda).

Ejemplo de solicitud

curl -H "Authorization: Bearer $TOKEN" \
  "https://www.superalternance.com/api/v1/formations/xyz789"

Ejemplo de respuesta

{
  "formation": {
    "id": "xyz789", "title": "CAP Boulanger", "diploma": "CAP",
    "rncpCode": "RNCP…", "targetDiplomaLevel": "3",
    "location": { "city": "Lyon", "region": "Auvergne-Rhône-Alpes" },
    "cfa": { "name": "CFA des métiers", "siret": "…" }
  }
}
GET/api/v1/companies/{siret}Token requerido

Perfil del empleador por SIRET y lista de sus ofertas de alternancia abiertas.

Parámetros

ParámetroTipoRequeridoDescripción
siretpathSIRET de 14 dígitos.

Ejemplo de solicitud

curl -H "Authorization: Bearer $TOKEN" \
  "https://www.superalternance.com/api/v1/companies/12345678901234"

Ejemplo de respuesta

{
  "company": {
    "siret": "12345678901234", "siren": "123456789", "name": "Maison Dupain",
    "size": "10 à 19 salariés", "nafCodes": ["1071C"],
    "location": { "city": "Lyon", "region": "Auvergne-Rhône-Alpes" },
    "openJobsCount": 3, "openJobs": [ … ]
  }
}
GET/api/v1/statsToken requerido

Estadísticas agregadas de la plataforma (+ contadores por oficio).

Parámetros

ParámetroTipoRequeridoDescripción
metierstringNoSi se proporciona, añade los contadores propios de esa profesión.

Ejemplo de solicitud

curl -H "Authorization: Bearer $TOKEN" \
  "https://www.superalternance.com/api/v1/stats?metier=boulanger"

Ejemplo de respuesta

{
  "jobs": 17658, "formations": 58596, "cfa": 6923,
  "lastSyncAt": "2026-06-04T21:01:06.369Z",
  "metier": { "name": "boulanger", "jobs": 42, "formations": 120, "diplomas": 8 }
}

Códigos de error

Los errores siguen una forma única: { "error": { "code": "…", "message": "…" } }.

EstadoCódigoSignificado
400bad_requestParámetro ausente o inválido.
401unauthorizedToken de acceso ausente.
403forbiddenToken de acceso inválido.
404not_foundRecurso no encontrado.
500internalError del servidor o API no configurada.

Para los agentes de IA

El catálogo JSON público describe todos los endpoints, parámetros y errores de forma legible por una máquina, sin autenticación. Punto de entrada ideal para un agente que descubre la API.

Abrir el catálogo JSON

Referencia de la API v1 — Endpoints, parámetros y ejemplos | superalternance · superalternance