Una interfaz de programación de aplicaciones - mejor conocida por sus siglas en inglés "API (Application Programming Interface)" es un conjunto de código que permite la transmisión de datos entre una aplicación y otra (pudiendo ser del mismo desarrollador o de terceros), definiéndose en el mismo, los términos y condiciones para el intercambio de solicitudes y respuestas entre las aplicaciones. 

Las APIs constan básicamente de dos componentes:

  • Una especificación técnica, la cual podemos llamar contrato, que describe las opciones de intercambio de datos entre ambas aplicaciones, con la especificación realizada en forma de solicitud de procesamiento y protocolos de entrega de datos.
  • Una interfaz de software en cada sistema que permite realizar el intercambio de datos.


La arquitectura de las API suele explicarse en términos de cliente y servidor. La aplicación que envía la solicitud se llama cliente, y la que envía la respuesta se llama servidor.

Tipos de protocolos de APIs

  • Protocolo simple de acceso a objetos - SOAP (Simple Object Access Protocol): Es un protocolo estándar que se creó originalmente en los 90`s para posibilitar la comunicación entre las aplicaciones que se diseñaban con diferentes lenguajes y en distintas plataformas, intercambiando mensajes mediante XML. Este protocolo es menos utilizado en la actualidad, debido a su complejidad y reglas estrictas que provocan un consumo de recursos elevado.
  • Llamadas a procedimientos remotos - RPC (Remote Procedure Call): Es el protocolo de API más simple, consiste en que el cliente ejecuta código o  una función en el servidor y el servidor devuelve la respuesta al cliente. 
  • WebSocket: Es un protocolo más moderno utilizado en aplicaciones web, que hace posible abrir una sesión de comunicación interactiva y bi-direccional entre el cliente y un servidor. Con esta API, puede enviar mensajes a un servidor y recibir respuestas basadas en eventos sin tener que sondear el servidor para obtener una respuesta.
  • Transferencia de estado representacional - REST(Representational State Transfer): Este es el protocolo de API para la web más utilizado hoy en día. El servidor utiliza esta entrada del cliente para iniciar funciones internas y devuelve los datos de salida al cliente. REST define un conjunto de funciones como GET, PUT, DELETE, etc. que los clientes pueden utilizar para acceder a los datos del servidor. Los clientes y los servidores intercambian datos mediante HTTP.