Endpoints
GET/api/v1Public
Catalogue auto-documenté de l'API (public, sans token).
Exemple de requête
curl "https://www.superalternance.com/api/v1"
Exemple de réponse
{
"name": "superalternance API partenaires",
"version": "1",
"authentication": { "type": "bearer", "description": "…" },
"endpoints": [ … ]
}
GET/api/v1/suggestToken requis
Autocomplétion « métier ou formation » pour une barre de recherche.
Paramètres
| Paramètre | Type | Requis | Description |
|---|
q | string | Oui | Texte saisi (≥ 2 caractères). |
limit | int | Non | Nombre de suggestions (1–20, défaut 8). |
Exemple de requête
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/suggest?q=boul&limit=5"
Exemple de réponse
{
"query": "boul",
"suggestions": [
{ "kind": "rome", "value": "Boulanger", "secondary": "Métier" },
{ "kind": "formation", "value": "CAP Boulanger", "secondary": "CFA des métiers" }
]
}
GET/api/v1/placesToken requis
Autocomplétion de lieux : régions, départements et communes.
Paramètres
| Paramètre | Type | Requis | Description |
|---|
q | string | Oui | Texte saisi (≥ 2 caractères). |
limit | int | Non | Nombre de suggestions (1–12, défaut 8). |
Exemple de requête
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/places?q=lyon"
Exemple de réponse
{
"query": "lyon",
"suggestions": [
{ "kind": "city", "value": "Lyon", "secondary": "69001 · Rhône", "lat": 45.758, "lng": 4.835 }
]
}
GET/api/v1/searchToken requis
Recherche unifiée offres + formations, filtrable par lieu, métier, formation et niveau.
Paramètres
| Paramètre | Type | Requis | Description |
|---|
q | string | Non | Texte libre (titre de formation, mots-clés). |
metier | string | Non | Nom de métier — résolu en codes ROME (comme LBA). |
lieu | string | Non | Région / département / commune. |
lat | float | Non | Latitude (recherche par rayon). |
lng | float | Non | Longitude (recherche par rayon). |
radius | float | Non | Rayon en km (défaut 30). |
type | enum | Non | jobs | formations | all (défaut all). |
niveau | csv | Non | Niveaux de diplôme parmi 3,4,5,6,7 (3=CAP … 7=Bac+5). |
sort | enum | Non | relevance | date | diploma (défaut relevance). |
limit | int | Non | Taille de page (1–100, défaut 20). |
offset | int | Non | Décalage de pagination (défaut 0). |
Exemple de requête
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/search?metier=boulanger&lieu=Lyon&type=jobs&limit=5"
Exemple de réponse
{
"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 requis
Dernières offres d'alternance publiées, avec filtre lieu optionnel.
Paramètres
| Paramètre | Type | Requis | Description |
|---|
lieu | string | Non | Région / département / commune. |
lat | float | Non | Latitude (recherche par rayon). |
lng | float | Non | Longitude (recherche par rayon). |
radius | float | Non | Rayon en km (défaut 30). |
limit | int | Non | Nombre d'offres (1–100, défaut 20). |
Exemple de requête
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/jobs/latest?lieu=Bordeaux&limit=10"
Exemple de réponse
{
"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 requis
Détail complet d'une offre : contrat, employeur, localisation, candidature.
Paramètres
| Paramètre | Type | Requis | Description |
|---|
id | path | Oui | Identifiant de l'offre (champ `id` renvoyé par la recherche). |
Exemple de requête
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/jobs/abc123"
Exemple de réponse
{
"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 requis
Détail complet d'une formation : diplôme, RNCP, organisme (CFA), rythme.
Paramètres
| Paramètre | Type | Requis | Description |
|---|
id | path | Oui | Identifiant de la formation (champ `id` renvoyé par la recherche). |
Exemple de requête
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/formations/xyz789"
Exemple de réponse
{
"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 requis
Profil employeur par SIRET et liste de ses offres d'alternance ouvertes.
Paramètres
| Paramètre | Type | Requis | Description |
|---|
siret | path | Oui | SIRET à 14 chiffres. |
Exemple de requête
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/companies/12345678901234"
Exemple de réponse
{
"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 requis
Statistiques agrégées de la plateforme (+ compteurs par métier).
Paramètres
| Paramètre | Type | Requis | Description |
|---|
metier | string | Non | Si fourni, ajoute les compteurs propres à ce métier. |
Exemple de requête
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/stats?metier=boulanger"
Exemple de réponse
{
"jobs": 17658, "formations": 58596, "cfa": 6923,
"lastSyncAt": "2026-06-04T21:01:06.369Z",
"metier": { "name": "boulanger", "jobs": 42, "formations": 120, "diplomas": 8 }
}