Endpointy
GET/api/v1Publiczny
Samodokumentujący się katalog API (publiczny, bez tokenu).
Przykład żądania
curl "https://www.superalternance.com/api/v1"
Przykład odpowiedzi
{
"name": "superalternance API partenaires",
"version": "1",
"authentication": { "type": "bearer", "description": "…" },
"endpoints": [ … ]
}
GET/api/v1/suggestWymagany token
Autouzupełnianie „zawód lub szkolenie” dla paska wyszukiwania.
Parametry
| Parametr | Typ | Wymagany | Opis |
|---|
q | string | Tak | Wprowadzony tekst (≥ 2 znaki). |
limit | int | Nie | Liczba podpowiedzi (1–20, domyślnie 8). |
Przykład żądania
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/suggest?q=boul&limit=5"
Przykład odpowiedzi
{
"query": "boul",
"suggestions": [
{ "kind": "rome", "value": "Boulanger", "secondary": "Métier" },
{ "kind": "formation", "value": "CAP Boulanger", "secondary": "CFA des métiers" }
]
}
GET/api/v1/placesWymagany token
Autouzupełnianie lokalizacji: regiony, departamenty i gminy.
Parametry
| Parametr | Typ | Wymagany | Opis |
|---|
q | string | Tak | Wprowadzony tekst (≥ 2 znaki). |
limit | int | Nie | Liczba podpowiedzi (1–12, domyślnie 8). |
Przykład żądania
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/places?q=lyon"
Przykład odpowiedzi
{
"query": "lyon",
"suggestions": [
{ "kind": "city", "value": "Lyon", "secondary": "69001 · Rhône", "lat": 45.758, "lng": 4.835 }
]
}
GET/api/v1/searchWymagany token
Ujednolicone wyszukiwanie ofert + szkoleń, filtrowane według lokalizacji, zawodu, szkolenia i poziomu.
Parametry
| Parametr | Typ | Wymagany | Opis |
|---|
q | string | Nie | Tekst dowolny (tytuł szkolenia, słowa kluczowe). |
metier | string | Nie | Nazwa zawodu — rozwiązywana do kodów ROME (jak LBA). |
lieu | string | Nie | Region / departament / gmina. |
lat | float | Nie | Szerokość geograficzna (wyszukiwanie według promienia). |
lng | float | Nie | Długość geograficzna (wyszukiwanie według promienia). |
radius | float | Nie | Promień w km (domyślnie 30). |
type | enum | Nie | jobs | formations | all (domyślnie all). |
niveau | csv | Nie | Poziomy dyplomu spośród 3,4,5,6,7 (3=CAP … 7=Bac+5). |
sort | enum | Nie | relevance | date | diploma (domyślnie relevance). |
limit | int | Nie | Rozmiar strony (1–100, domyślnie 20). |
offset | int | Nie | Przesunięcie paginacji (domyślnie 0). |
Przykład żądania
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/search?metier=boulanger&lieu=Lyon&type=jobs&limit=5"
Przykład odpowiedzi
{
"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/latestWymagany token
Najnowsze opublikowane oferty nauki zawodu, z opcjonalnym filtrem lokalizacji.
Parametry
| Parametr | Typ | Wymagany | Opis |
|---|
lieu | string | Nie | Region / departament / gmina. |
lat | float | Nie | Szerokość geograficzna (wyszukiwanie według promienia). |
lng | float | Nie | Długość geograficzna (wyszukiwanie według promienia). |
radius | float | Nie | Promień w km (domyślnie 30). |
limit | int | Nie | Liczba ofert (1–100, domyślnie 20). |
Przykład żądania
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/jobs/latest?lieu=Bordeaux&limit=10"
Przykład odpowiedzi
{
"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}Wymagany token
Pełne szczegóły oferty: umowa, pracodawca, lokalizacja, aplikowanie.
Parametry
| Parametr | Typ | Wymagany | Opis |
|---|
id | path | Tak | Identyfikator oferty (pole `id` zwracane przez wyszukiwanie). |
Przykład żądania
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/jobs/abc123"
Przykład odpowiedzi
{
"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}Wymagany token
Pełne szczegóły szkolenia: dyplom, RNCP, placówka (CFA), tryb nauki.
Parametry
| Parametr | Typ | Wymagany | Opis |
|---|
id | path | Tak | Identyfikator szkolenia (pole `id` zwracane przez wyszukiwanie). |
Przykład żądania
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/formations/xyz789"
Przykład odpowiedzi
{
"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}Wymagany token
Profil pracodawcy według SIRET i lista jego otwartych ofert nauki zawodu.
Parametry
| Parametr | Typ | Wymagany | Opis |
|---|
siret | path | Tak | 14-cyfrowy SIRET. |
Przykład żądania
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/companies/12345678901234"
Przykład odpowiedzi
{
"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/statsWymagany token
Zagregowane statystyki platformy (+ liczniki według zawodu).
Parametry
| Parametr | Typ | Wymagany | Opis |
|---|
metier | string | Nie | Jeśli podano, dodaje liczniki właściwe dla tego zawodu. |
Przykład żądania
curl -H "Authorization: Bearer $TOKEN" \
"https://www.superalternance.com/api/v1/stats?metier=boulanger"
Przykład odpowiedzi
{
"jobs": 17658, "formations": 58596, "cfa": 6923,
"lastSyncAt": "2026-06-04T21:01:06.369Z",
"metier": { "name": "boulanger", "jobs": 42, "formations": 120, "diplomas": 8 }
}