Ir al contenido

API pública

Integra NEX en tus herramientas

Una API JSON para leer las ofertas publicadas y, con una clave de empresa, gestionar tus ofertas, seguir tus candidaturas y leer tu organigrama.

URL base
https://nexjobs.net/api/v1
Formato
JSON, fechas ISO 8601 en hora universal
Versión
v1
Autenticación
Clave de empresa en una cabecera Bearer (salvo en los puntos de acceso públicos)

Primeros pasos

  1. El propietario de la cuenta de empresa abre Gestión y luego API e integraciones.
  2. Crea una clave, le pone un nombre y marca solo los accesos necesarios.
  3. Copia la clave, que se muestra una sola vez, y la guarda en la herramienta que llamará a la API.

Para crear claves hace falta un plan que incluya el acceso a la API. Las ofertas publicadas se pueden leer sin clave.

Autenticación

Envía la clave en la cabecera Authorization de cada petición, detrás de la palabra Bearer.

Authorization: Bearer nex_live_…

Una clave da acceso a los datos de tu empresa: guárdala en tu servidor, nunca en una página web ni en una aplicación instalada. De hecho, los puntos de acceso privados rechazan las llamadas que vienen de un navegador. Ante la duda, revócala y crea otra.

Accesos (scopes)

Cada clave solo puede hacer lo que se marcó al crearla.

Accesos (scopes)
AccesoQué permite
jobs:readLeer las ofertas de la empresa, sea cual sea su estado.
jobs:writeCrear ofertas y cerrarlas.
applications:readLeer las candidaturas recibidas: nombre del candidato, etapa, resultado, fechas y documentos.
organization:readLeer el organigrama: direcciones, departamentos, servicios y puestos.

Límites de llamadas

Cada clave puede enviar 120 peticiones por minuto.

Los puntos de acceso públicos, sin clave, aceptan 120 peticiones por minuto y por dirección IP.

Si se supera, la respuesta lleva el código 429 y la cabecera Retry-After, que indica cuántos segundos esperar.

Paginación

Las listas aceptan los parámetros page (desde 1) y pageSize (20 por defecto, 50 como máximo), y devuelven el total y el número de páginas.

{
  "data": [ … ],
  "pagination": { "page": 1, "pageSize": 20, "total": 57, "totalPages": 3 }
}

Errores

Todos los errores tienen la misma forma: un código estable, para usar en tu programa, y un mensaje de ayuda en inglés.

{
  "error": {
    "code": "insufficient_scope",
    "message": "This key lacks the \"jobs:write\" scope."
  }
}
Errores
CódigoSignificado
unauthorizedNo hay clave, o la cabecera Authorization está mal formada.
invalid_api_keyClave desconocida o revocada.
api_access_not_in_planEl plan de la empresa ya no incluye el acceso a la API.
insufficient_scopeLa clave no tiene el acceso que exige este punto de acceso.
rate_limitedDemasiadas peticiones: espera el tiempo indicado por Retry-After.
invalid_requestParámetro o cuerpo de la petición no válido; el detalle indica el campo.
unsupported_media_typeEl cuerpo debe enviarse en JSON (Content-Type: application/json).
payload_too_largeEl cuerpo supera los 64 KB.
not_foundRecurso no encontrado, o que no pertenece a tu empresa.
invalid_transitionCambio de estado imposible, por ejemplo cerrar un borrador.
publication_blockedNo se puede publicar: correo electrónico no verificado o cupo de ofertas activas alcanzado. Crea la oferta como borrador.
internal_errorError por nuestra parte: inténtalo más tarde.

Puntos de acceso

  • GET/jobs

    Lista las ofertas publicadas, de la más reciente a la más antigua. Filtros: q (texto libre), country (código de país ISO), sector (código de sector), contract (tipo de contrato).

    Público, sin clave.

    curl "https://nexjobs.net/api/v1/jobs?q=engineer&pageSize=10"
  • GET/jobs/{id}

    Detalle de una oferta publicada: descripción, documentos solicitados y enlace a su página, donde se presenta la candidatura.

    Público, sin clave.

    curl "https://nexjobs.net/api/v1/jobs/<id>"
  • GET/employer/jobs

    Lista las ofertas de tu empresa, sea cual sea su estado, con el número de candidaturas. Filtro: status.

    Acceso necesario: jobs:read

    curl "https://nexjobs.net/api/v1/employer/jobs?status=PUBLISHED" \
      -H "Authorization: Bearer nex_live_…"
  • POST/employer/jobs

    Crea una oferta: borrador por defecto; con publish en true, se publica si la empresa está verificada y, si no, espera la moderación.

    Acceso necesario: jobs:write

    curl -X POST "https://nexjobs.net/api/v1/employer/jobs" \
      -H "Authorization: Bearer nex_live_…" \
      -H "Content-Type: application/json" \
      -d '{
        "title": "Maintenance technician",
        "description": "Preventive and corrective maintenance of the plant equipment.",
        "contractType": "PERMANENT",
        "payPeriod": "MONTHLY",
        "currency": "USD",
        "salaryMin": 900,
        "salaryMax": 1200,
        "requiredDocuments": [{ "kind": "CV" }],
        "publish": true
      }'
  • GET/employer/jobs/{id}

    Detalle de una de tus ofertas, con las etapas de su proceso y el número de candidaturas en cada una.

    Acceso necesario: jobs:read

    curl "https://nexjobs.net/api/v1/employer/jobs/<id>" \
      -H "Authorization: Bearer nex_live_…"
  • PATCH/employer/jobs/{id}

    Cierra una oferta publicada o pendiente. Solo se acepta el paso al estado cerrado.

    Acceso necesario: jobs:write

    curl -X PATCH "https://nexjobs.net/api/v1/employer/jobs/<id>" \
      -H "Authorization: Bearer nex_live_…" \
      -H "Content-Type: application/json" \
      -d '{ "status": "CLOSED" }'
  • GET/employer/applications

    Lista las candidaturas recibidas. Filtros: jobId, outcome, updatedSince (fecha ISO 8601).

    Acceso necesario: applications:read

    curl "https://nexjobs.net/api/v1/employer/applications?outcome=ACTIVE&updatedSince=2026-09-01T00:00:00Z" \
      -H "Authorization: Bearer nex_live_…"
  • GET/organization

    Devuelve el organigrama: direcciones, departamentos, servicios y puestos de trabajo.

    Acceso necesario: organization:read

    curl "https://nexjobs.net/api/v1/organization" \
      -H "Authorization: Bearer nex_live_…"

Protección de los candidatos

La API nunca devuelve el correo electrónico, el teléfono ni los mensajes de un candidato, ni ninguna contraseña o cuenta. Es NEX quien organiza el contacto entre el empleador y el candidato.

Evolución de la API

En la versión v1 se pueden añadir campos, pero nunca renombrarlos ni eliminarlos. Un cambio incompatible dará lugar a una versión v2, anunciada con antelación.

Especificación OpenAPI (JSON)

© 2026 NEX — La plataforma que recluta la excelencia