85.057 ofertas · 62.076 formações
Referência técnica

Referência API v1

Autenticação, endpoints, parâmetros, exemplos curl e respostas JSON. Base: todos os URL são relativos à origem de produção.

Autenticação

Transmita o seu token de parceiro num destes cabeçalhos HTTP em cada pedido (exceto no catálogo público):

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

Os exemplos de pedidos (curl) e de respostas (JSON) são fornecidos de forma idêntica em todas as línguas — são dados técnicos.

Endpoints

GET/api/v1Público

Catálogo autodocumentado da API (público, sem token).

Exemplo de pedido

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

Exemplo de resposta

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

Preenchimento automático «profissão ou formação» para uma barra de pesquisa.

Parâmetros

ParâmetroTipoObrigatórioDescrição
qstringSimTexto introduzido (≥ 2 caracteres).
limitintNãoNúmero de sugestões (1–20, predefinição 8).

Exemplo de pedido

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

Exemplo de resposta

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

Preenchimento automático de locais: regiões, departamentos e municípios.

Parâmetros

ParâmetroTipoObrigatórioDescrição
qstringSimTexto introduzido (≥ 2 caracteres).
limitintNãoNúmero de sugestões (1–12, predefinição 8).

Exemplo de pedido

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

Exemplo de resposta

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

Últimas ofertas de alternância publicadas, com filtro de local opcional.

Parâmetros

ParâmetroTipoObrigatórioDescrição
lieustringNãoRegião / distrito / concelho.
latfloatNãoLatitude (pesquisa por raio).
lngfloatNãoLongitude (pesquisa por raio).
radiusfloatNãoRaio em km (predefinição 30).
limitintNãoNúmero de ofertas (1–100, predefinição 20).

Exemplo de pedido

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

Exemplo de resposta

{
  "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 obrigatório

Detalhe completo de uma oferta: contrato, empregador, localização, candidatura.

Parâmetros

ParâmetroTipoObrigatórioDescrição
idpathSimIdentificador da oferta (campo `id` devolvido pela pesquisa).

Exemplo de pedido

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

Exemplo de resposta

{
  "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 obrigatório

Detalhe completo de uma formação: diploma, RNCP, organismo (CFA), ritmo.

Parâmetros

ParâmetroTipoObrigatórioDescrição
idpathSimIdentificador da formação (campo `id` devolvido pela pesquisa).

Exemplo de pedido

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

Exemplo de resposta

{
  "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 obrigatório

Perfil do empregador por SIRET e lista das suas ofertas de alternância abertas.

Parâmetros

ParâmetroTipoObrigatórioDescrição
siretpathSimSIRET com 14 dígitos.

Exemplo de pedido

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

Exemplo de resposta

{
  "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 obrigatório

Estatísticas agregadas da plataforma (+ contadores por profissão).

Parâmetros

ParâmetroTipoObrigatórioDescrição
metierstringNãoSe fornecido, adiciona os contadores próprios desta profissão.

Exemplo de pedido

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

Exemplo de resposta

{
  "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 erro

Os erros seguem uma forma única: { "error": { "code": "…", "message": "…" } }.

EstadoCódigoSignificado
400bad_requestParâmetro em falta ou inválido.
401unauthorizedToken de acesso em falta.
403forbiddenToken de acesso inválido.
404not_foundRecurso não encontrado.
500internalErro do servidor ou API não configurada.

Para os agentes de IA

O catálogo JSON público descreve todos os endpoints, parâmetros e erros de forma legível por uma máquina, sem autenticação. Ponto de entrada ideal para um agente que descobre a API.

Abrir o catálogo JSON

Referência da API v1 — Endpoints, parâmetros e exemplos | superalternance · superalternance