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ámetro | Tipo | Requerido | Descripción |
|---|
q | string | Sí | Texto introducido (≥ 2 caracteres). |
limit | int | No | Nú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ámetro | Tipo | Requerido | Descripción |
|---|
q | string | Sí | Texto introducido (≥ 2 caracteres). |
limit | int | No | Nú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/searchToken requerido
Búsqueda unificada ofertas + formaciones, filtrable por lugar, oficio, formación y nivel.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|
q | string | No | Texto libre (título de formación, palabras clave). |
metier | string | No | Nombre de profesión — resuelto en códigos ROME (como LBA). |
lieu | string | No | Región / departamento / municipio. |
lat | float | No | Latitud (búsqueda por radio). |
lng | float | No | Longitud (búsqueda por radio). |
radius | float | No | Radio en km (por defecto 30). |
type | enum | No | jobs | formations | all (por defecto all). |
niveau | csv | No | Niveles de diploma entre 3,4,5,6,7 (3=CAP … 7=Bac+5). |
sort | enum | No | relevance | date | diploma (por defecto relevance). |
limit | int | No | Tamaño de página (1–100, por defecto 20). |
offset | int | No | Desplazamiento de paginación (por defecto 0). |
Ejemplo de solicitud
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/search?metier=boulanger&lieu=Lyon&type=jobs&limit=5"
Ejemplo de respuesta
{
"filters": { "metier": "boulanger", "resolvedRomeCodes": ["D1102", "D1104"], "lieu": "Lyon", "type": "jobs" },
"pagination": { "limit": 5, "offset": 0 },
"totals": { "jobs": 42, "formations": 0 },
"results": [
{
"kind": "job", "id": "…", "title": "Boulanger en alternance",
"subtitle": "Maison Dupain · Lyon", "city": "Lyon",
"latitude": 45.75, "longitude": 4.84,
"labels": ["Apprentissage", "CAP"],
"url": "https://www.superalternance.com/fr/offres/…"
}
]
}
GET/api/v1/jobs/latestToken requerido
Últimas ofertas de alternancia publicadas, con filtro de lugar opcional.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|
lieu | string | No | Región / departamento / municipio. |
lat | float | No | Latitud (búsqueda por radio). |
lng | float | No | Longitud (búsqueda por radio). |
radius | float | No | Radio en km (por defecto 30). |
limit | int | No | Nú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ámetro | Tipo | Requerido | Descripción |
|---|
id | path | Sí | Identificador 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ámetro | Tipo | Requerido | Descripción |
|---|
id | path | Sí | Identificador 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ámetro | Tipo | Requerido | Descripción |
|---|
siret | path | Sí | SIRET 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ámetro | Tipo | Requerido | Descripción |
|---|
metier | string | No | Si 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 }
}