Endpoints
GET/api/v1Public
Self-documented API catalog (public, no token).
Request example
curl "https://www.superalternance.com/api/v1"
Response example
{
"name": "superalternance API partenaires",
"version": "1",
"authentication": { "type": "bearer", "description": "…" },
"endpoints": [ … ]
}
GET/api/v1/suggestToken required
"Occupation or training" autocomplete for a search bar.
Parameters
| Parameter | Type | Required | Description |
|---|
q | string | Yes | Query text (≥ 2 characters). |
limit | int | No | Number of suggestions (1–20, default 8). |
Request example
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/suggest?q=boul&limit=5"
Response example
{
"query": "boul",
"suggestions": [
{ "kind": "rome", "value": "Boulanger", "secondary": "Métier" },
{ "kind": "formation", "value": "CAP Boulanger", "secondary": "CFA des métiers" }
]
}
GET/api/v1/placesToken required
Location autocomplete: regions, departments and municipalities.
Parameters
| Parameter | Type | Required | Description |
|---|
q | string | Yes | Query text (≥ 2 characters). |
limit | int | No | Number of suggestions (1–12, default 8). |
Request example
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/places?q=lyon"
Response example
{
"query": "lyon",
"suggestions": [
{ "kind": "city", "value": "Lyon", "secondary": "69001 · Rhône", "lat": 45.758, "lng": 4.835 }
]
}
GET/api/v1/searchToken required
Unified search for offers + training programs, filterable by location, occupation, training and level.
Parameters
| Parameter | Type | Required | Description |
|---|
q | string | No | Free text (training title, keywords). |
metier | string | No | Job title — resolved to ROME codes (like LBA). |
lieu | string | No | Region / department / municipality. |
lat | float | No | Latitude (radius search). |
lng | float | No | Longitude (radius search). |
radius | float | No | Radius in km (default 30). |
type | enum | No | jobs | formations | all (default all). |
niveau | csv | No | Diploma levels among 3,4,5,6,7 (3=CAP … 7=Bac+5). |
sort | enum | No | relevance | date | diploma (default relevance). |
limit | int | No | Page size (1–100, default 20). |
offset | int | No | Pagination offset (default 0). |
Request example
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/search?metier=boulanger&lieu=Lyon&type=jobs&limit=5"
Response example
{
"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 required
Latest published work-study offers, with optional location filter.
Parameters
| Parameter | Type | Required | Description |
|---|
lieu | string | No | Region / department / municipality. |
lat | float | No | Latitude (radius search). |
lng | float | No | Longitude (radius search). |
radius | float | No | Radius in km (default 30). |
limit | int | No | Number of job offers (1–100, default 20). |
Request example
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/jobs/latest?lieu=Bordeaux&limit=10"
Response example
{
"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 required
Full detail of an offer: contract, employer, location, application.
Parameters
| Parameter | Type | Required | Description |
|---|
id | path | Yes | Job offer identifier (`id` field returned by the search). |
Request example
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/jobs/abc123"
Response example
{
"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 required
Full detail of a training program: diploma, RNCP, provider (CFA), schedule.
Parameters
| Parameter | Type | Required | Description |
|---|
id | path | Yes | Training identifier (`id` field returned by the search). |
Request example
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/formations/xyz789"
Response example
{
"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 required
Employer profile by SIRET and list of its open work-study offers.
Parameters
| Parameter | Type | Required | Description |
|---|
siret | path | Yes | 14-digit SIRET. |
Request example
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/companies/12345678901234"
Response example
{
"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 required
Aggregated platform statistics (+ counts by occupation).
Parameters
| Parameter | Type | Required | Description |
|---|
metier | string | No | If provided, adds the counters specific to this job. |
Request example
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/stats?metier=boulanger"
Response example
{
"jobs": 17658, "formations": 58596, "cfa": 6923,
"lastSyncAt": "2026-06-04T21:01:06.369Z",
"metier": { "name": "boulanger", "jobs": 42, "formations": 120, "diplomas": 8 }
}