Autenticación

Envía tu API Key de DatosPerú en Authorization: Bearer. La cuenta debe estar verificada y la clave debe tener permiso para esta operación. Guarda la clave en tu servidor o en el almacén de credenciales de tu herramienta.

Cuerpo JSON

Envía Content-Type: application/json. Los valores de entrada se expresan como cadenas. Los parámetros adicionales se rechazan.

CampoObligatorioFormato
periodoPeriodo de consulta en formato yyyy-MM
^[0-9]{4}-[0-9]{2}$

Ejemplo cURL

Los números y las credenciales del ejemplo son ilustrativos. Sustitúyelos por datos cuya consulta tengas autorizada. Una petición exitosa utiliza créditos reales.

curl --request POST 'https://api.datosperu.net/api/v1/afp' \
  --header "Authorization: Bearer $DATOSPERU_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "periodo": "2026-09"
}'

Schema de la respuesta

Una consulta exitosa devuelve success: true, data y meta. El siguiente esquema corresponde a data. Los campos opcionales dependen de la fuente; null indica ausencia de valor.

{
  "type": [
    "array",
    "null"
  ],
  "description": "Listado de comisiones por AFP",
  "items": {
    "type": [
      "object",
      "null"
    ],
    "properties": {
      "periodo": {
        "type": [
          "string",
          "null"
        ],
        "description": "Periodo de la comisión en formato yyyy-MM"
      },
      "afp": {
        "type": [
          "string",
          "null"
        ],
        "description": "Nombre de la AFP"
      },
      "comision_fija": {
        "type": [
          "number",
          "null"
        ],
        "description": "Comisión fija (%)"
      },
      "comision_flujo": {
        "type": [
          "number",
          "null"
        ],
        "description": "Comisión por flujo (%)"
      },
      "comision_mixta_flujo": {
        "type": [
          "number",
          "null"
        ],
        "description": "Comisión mixta por flujo (%)"
      },
      "comision_mixta_saldo": {
        "type": [
          "number",
          "null"
        ],
        "description": "Comisión mixta por saldo (%)"
      },
      "prima_de_seguro": {
        "type": [
          "number",
          "null"
        ],
        "description": "Prima de seguro (%)"
      },
      "aporte_obligatorio": {
        "type": [
          "number",
          "null"
        ],
        "description": "Aporte obligatorio (%)"
      },
      "remunaracion_maxima": {
        "type": [
          "number",
          "null"
        ],
        "description": "Remuneración máxima asegurable (S/)"
      }
    },
    "additionalProperties": false
  }
}

meta.request_id identifica la solicitud y meta.timestamp utiliza una fecha ISO 8601. No registres los datos personales o archivos completos cuando solo necesites identificar un incidente.

Errores y reintentos

Los errores devuelven success: false y un objeto error con code y message. Un error del proveedor libera la reserva de crédito. Evita reintentar entradas inválidas o claves revocadas.

HTTPCómo actuar
401API Key ausente, inválida o revocada. Revisa la credencial.
403Cuenta, verificación o permiso insuficiente. Revisa tu acceso.
404Sin resultados o ruta inexistente. Comprueba los datos y el endpoint.
422Parámetros inválidos. Corrige el cuerpo antes de reintentar.
429Límite por minuto o cuota del periodo. Revisa el código de error y tu consumo.
502 / 504Error o demora de la fuente. Reintenta con espera y un máximo de intentos.
503Servicio no disponible o pendiente de configuración. Consulta el estado.

Consumo y disponibilidad

Una consulta exitosa consume un crédito. Gratis incluye 100 créditos cada 30 días. Los planes pagados renuevan según su periodo contratado; cada plan conserva un límite por minuto. Revisa los valores vigentes en Precios.

La disponibilidad depende de la fuente y la configuración del servicio. DatosPerú es independiente de las entidades públicas mencionadas y utiliza JSON.pe como proveedor. Consulta solo los datos que estés autorizado a tratar.