Si estás creando un CRM, un ATS o una herramienta de Outreach, lo más probable es que quieras integrar funciones de LinkedIn directamente en tu aplicación. Ya sea para sincronizar conversaciones, enviar InMails, gestionar contactos o publicar contenido, API de LinkedIn La integración de Python se ha convertido en un activo fundamental para los editores de SaaS que quieren seguir siendo competitivos.
Pero aquí está el truco: la API oficial de LinkedIn requiere unirse a su Programa de Socios, lo que implica un largo proceso de aprobación. Unipile ofrece una vía de integración más rápida para los editores de software. Ahí es donde entra Unipile, una potente plataforma de API unificada que te permite conectar LinkedIn (y otros canales como WhatsApp, Gmail, Instagram, Calendarios...) en solo unas pocas líneas de Python.
En esta completa guía, le mostraremos:
- Cómo conectar LinkedIn usando Python a través de la API unificada de Unipile
- Lo que realmente puedes hacer con la API de LinkedIn en Python: desde mensajes hasta perfiles y flujos de trabajo de integración
- Ejemplos reales de código Python basados en el SDK de Unipile
- Cómo crear una integración multicanal completa sin escribir 10 conectores diferentes
Por qué las plataformas de software eligen Python para integrar LinkedIn
Simplicidad y potencia de Python para la automatización de API. Python es el lenguaje al que recurren muchos equipos de backend para crear automatizaciones e integraciones. Es rápido de escribir, legible y tiene un ecosistema masivo de bibliotecas como requests, pydantic o asyncio que lo hacen perfecto para los flujos de trabajo de API.
solicitudes de importación
url = "https://api1.unipile.com:13111/api/v1/accounts"
cabeceras = {"accept": "application/json"}
response = requests.get(url, headers=headers)
print(respuesta.texto)
solicitudes de importación
url = "https://api1.unipile.com:13111/api/v1/users/identifier"
cabeceras = {"accept": "application/json"}
response = requests.get(url, headers=headers)
print(respuesta.texto)
Obtener acceso a la API de LinkedIn - LinkedIn Partner Way vs Unipile Shortcut (con Python)
La manera oficial: Programa de socios de LinkedIn
LinkedIn ofrece varias API a través de su Programa de Socios, cada una de las cuales sirve para un caso de uso distinto:
-
API de perfil: Permite acceder a los datos del perfil del usuario, como el nombre, el titular y el resumen profesional.
-
API de conexiones: Permite recuperar las conexiones de red de primer grado de un usuario.
-
Compartir API: Permite a tu app publicar posts (texto, URLs, media) en nombre de usuarios autenticados.
-
Invitación API: Te permite enviar solicitudes de conexión a otros miembros de LinkedIn mediante programación.
-
Organización API: Proporciona acceso a datos sobre las páginas de empresa de LinkedIn, incluidos los administradores y las publicaciones.
-
API de contenidos generados por el usuario: Admite la publicación y gestión de mensajes multimedia enriquecidos (vídeos, imágenes, documentos).
-
API de conformidad: Permite enviar informes sobre contenidos que infringen las políticas.
La alternativa más fácil para los desarrolladores: Unipile
Unipile proporciona una forma simplificada de integrar funciones de LinkedIn en tu aplicación, diseñada para editores de software y desarrolladores. Puedes:
- Conectar cuentas de usuario con una sola llamada a la API
- Acceder a la bandeja de entrada, enviar mensajes e InMails, e interactuar con las publicaciones
- Gestionar los pipelines de Recruiter y Sales Navigator
- Crea flujos de trabajo de alcance, haz el seguimiento del estado de las invitaciones y enriquece perfiles en nombre de tus usuarios
Todo esto está disponible con Pythonmediante un sencillo flujo basado en solicitudes y una documentación clara. Tanto si estás creando un CRM, un ATS o un producto de divulgación, Unipile te ofrece una potente integración de LinkedIn desde el primer momento.
Configuración del entorno Python para LinkedIn
Instalar dependencias : pip install solicitudes
Autenticar mediante Salpicadero Unipile
Crear una cuenta y una aplicación
Copie su clave API (X-API-KEY) y la URL DSN
Tu primera solicitud con la API Python de LinkedIn: Conectar una cuenta de LinkedIn
Aunque este endpoint devuelve todos los servicios conectados (LinkedIn, Gmail, etc.), es especialmente útil para aplicaciones centradas en LinkedIn. Puedes filtrar y mostrar sólo las cuentas de LinkedIn conectadas a tu plataforma. Este es un paso fundamental antes de enviar mensajes, recuperar perfiles o sincronizar los datos de la bandeja de entrada con LinkedIn.
solicitudes de importación
url = "https://api1.unipile.com:13111/api/v1/accounts"
cabeceras = {"accept": "application/json", "X-API-KEY": "your-api-key"}
response = requests.get(url, headers=headers)
print(respuesta.json())
Funciones básicas de la API de LinkedIn que puedes utilizar con Python
Una vez que has autenticado a un usuario y conectado su cuenta de LinkedIn, comienza el verdadero valor. Tanto si estás creando funciones para reclutadores, representantes de ventas o equipos de difusión, Python y la API de Unipile te dan acceso a datos e interacciones de LinkedIn ricos y procesables.
A continuación encontrarás una lista de funciones de LinkedIn de gran impacto que puedes activar directamente desde tu aplicación utilizando Python. Cada acción ha sido diseñada pensando en los desarrolladores: RESTful, documentada y lista para producción.
Lista todas las cuentas de LinkedIn con Python
Para recuperar todas las cuentas de LinkedIn vinculadas a un usuario, utilice la función GET /cuentas endpoint. Esto permite a tu aplicación saber qué canales están ya autorizados. A partir de ahí, puedes filtrar los resultados para mostrar solo las cuentas de LinkedIn y realizar acciones como enviar mensajes, recuperar perfiles o sincronizar los datos de la bandeja de entrada.
Este es un primer paso crucial antes de implementar cualquier función más profunda de LinkedIn.
solicitudes de importación
url = "https://api1.unipile.com:13111/api/v1/accounts"
cabeceras = {"accept": "application/json"}
response = requests.get(url, headers=headers)
print(respuesta.texto)
{
"objeto": "AccountList",
"items": [
{
"objeto": "Cuenta",
"tipo": "MOBILE",
"connection_params": {
"im": {
"número_teléfono": "string",
"sim_serial_number": "string"
},
"call": {
"número_teléfono": "string",
"sim_serial_number": "string"
}
},
"last_fetched_at": "2025-12-31T23:59:59.999Z",
"id": "string",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "MAIL",
"parámetros_conexión": {
"mail": {
"imap_host": "string",
"imap_port": 0,
"imap_user": "string",
"imap_encryption": "tls",
"smtp_host": "string",
"smtp_port": 0,
"smtp_user": "string"
}
},
"id": "string",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"type": "GOOGLE_OAUTH",
"connection_params": {
"mail": {
"id": "string",
"nombre de usuario": "cadena"
},
"calendario": {
"id": "cadena",
"nombre de usuario": "cadena"
}
},
"id": "cadena",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "ICLOUD",
"connection_params": {
"mail": {
"imap_host": "string",
"imap_port": 0,
"imap_user": "string",
"imap_encryption": "tls",
"smtp_host": "string",
"smtp_port": 0,
"smtp_user": "string"
}
},
"id": "string",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "OUTLOOK",
"parámetros_conexión": {
"mail": {
"id": "string",
"nombre de usuario": "cadena"
},
"calendario": {
"id": "cadena",
"nombre de usuario": "cadena"
}
},
"id": "cadena",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"type": "GOOGLE_CALENDAR",
"connection_params": {
"calendario": "string"
},
"sync_token": "string",
"id": "string",
"name": "cadena",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "WHATSAPP",
"connection_params": {
"im": {
"número_teléfono": "string"
}
},
"id": "string",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "LINKEDIN",
"connection_params": {
"im": {
"id": "string",
"publicIdentifier": "cadena",
"nombredeusuario": "string",
"premiumId": "string",
"premiumContractId": "string",
"premiumFeatures": [
"reclutador",
"navegador_de_ventas",
"premium"
],
"organizaciones": [
{
"nombre": "string",
"messaging_enabled": true,
"organization_urn": "string",
"mailbox_urn": "string"
}
],
"proxy": {
"fuente": "USUARIO",
"host": "cadena",
"puerto": 0,
"protocolo": "http",
"nombre de usuario": "cadena",
"contraseña": "cadena"
}
}
},
"id": "string",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "SLACK",
"connection_params": {
"im": {
"url": "cadena",
"user": "cadena",
"user_id": "cadena",
"team": "cadena",
"team_id": "cadena"
}
},
"id": "string",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "TWITTER",
"connection_params": {
"im": {
"id": "string",
"nombre de usuario": "cadena"
}
},
"id": "cadena",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "EXCHANGE",
"parámetros_conexión": {
"mail": {
"imap_host": "string",
"imap_port": 0,
"imap_user": "string",
"imap_encryption": "tls",
"smtp_host": "string",
"smtp_port": 0,
"smtp_user": "string"
}
},
"id": "string",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "TELEGRAM",
"parámetros_conexión": {
"im": {
"user_id": "string",
"nombre_usuario": "cadena"
}
},
"id": "cadena",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"type": "INSTAGRAM",
"connection_params": {
"im": {
"id": "string",
"nombre de usuario": "cadena"
}
},
"id": "cadena",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
},
{
"objeto": "Cuenta",
"tipo": "MESSENGER",
"connection_params": {
"im": {
"id": "string",
"nombre de usuario": "cadena"
}
},
"id": "cadena",
"name": "string",
"created_at": "2025-12-31T23:59:59.999Z",
"firma_actual": "cadena",
"firmas": [
{
"title": "cadena",
"contenido": "cadena"
}
],
"groups": [
"cadena"
],
"fuentes": [
{
"id": "string",
"status": "OK"
}
]
}
]
}
Recuperar un perfil de usuario de LinkedIn con Python
Para acceder a los datos de perfil enriquecidos de LinkedIn, utilice la función GET /usuarios/{identificador} endpoint proporcionado por Unipile. Esto permite que tu aplicación recupere datos del perfil como nombre, puesto de trabajo actual y empresa, en nombre del usuario conectado.
Es una potente función para enriquecer los registros de CRM o ATS directamente desde su aplicación. Asegúrate de respetar los límites y restricciones de tarifas establecidos por la plataforma para mantener el cumplimiento.
solicitudes de importación
url = "https://api1.unipile.com:13111/api/v1/users/identifier"
cabeceras = {"accept": "application/json"}
response = requests.get(url, headers=headers)
print(respuesta.texto)
{
"proveedor": "LINKEDIN",
"provider_id": "string",
"public_identifier": "string",
"first_name": "string",
"last_name": "cadena",
"titular": "cadena",
"resumen": "cadena",
"contact_info": {
"emails": [
"cadena"
],
"teléfonos": [
"cadena"
],
"direcciones": [
"cadena"
],
"socials": [
{
"type": "string",
"name": "cadena"
}
]
},
"birthdate": {
"mes": 0,
"día": 0
},
"primary_locale": {
"country": "string",
"language": "string"
},
"location": "cadena",
"sitios web": [
"cadena"
],
"profile_picture_url": "cadena",
"profile_picture_url_large": "cadena",
"background_picture_url": "string",
"hashtags": [
"cadena"
],
"can_send_inmail": true,
"is_open_profile": true,
"is_premium": true,
"is_influencer": true,
"is_creator": true,
"is_hiring": true,
"is_open_to_work": true,
"is_saved_lead": true,
"is_crm_imported": true,
"is_relationship": true,
"is_self": true,
"invitation": {
"type": "SENT",
"status": "PENDIENTE"
},
"experiencia_trabajo": [
{
"posición": "string",
"company_id": "cadena",
"company": "cadena",
"location": "cadena",
"descripción": "cadena",
"habilidades": [
"cadena"
],
"actual": true
"estado": "cadena",
"inicio": "cadena",
"fin": "cadena"
}
],
"voluntariado_experiencia": [
{
"empresa": "cadena",
"description": "cadena",
"función": "cadena",
"causa": "cadena",
"inicio": "cadena",
"fin": "cadena"
}
],
"educación": [
{
"título": "cadena",
"escuela": "cadena",
"campo_de_estudio": "cadena",
"inicio": "cadena",
"end": "cadena"
}
],
"skills": [
{
"name": "cadena",
"endorsement_count": 0,
"endorsement_id": 0,
"insights": [
"cadena"
],
"endorsed": true
}
],
"idiomas": [
{
"name": "cadena",
"proficiency": "cadena"
}
],
"certificaciones": [
{
"name": "cadena",
"organización": "cadena",
"url": "cadena"
}
],
"projects": [
{
"name": "cadena",
"descripción": "cadena",
"habilidades": [
"cadena"
],
"inicio": "cadena",
"fin": "cadena"
}
],
"recomendaciones": {
"recibidas": [
{
"text": "cadena",
"caption": "cadena",
"actor": {
"nombre": "cadena",
"apellido": "string",
"provider_id": "cadena",
"titular": "cadena",
"public_identifier": "cadena",
"public_profile_url": "cadena",
"profile_picture_url": "string"
}
}
],
"given": [
{
"text": "cadena",
"caption": "cadena",
"actor": {
"nombre": "cadena",
"apellido": "string",
"provider_id": "cadena",
"titular": "cadena",
"public_identifier": "cadena",
"public_profile_url": "cadena",
"profile_picture_url": "string"
}
}
]
},
"follower_count": 0,
"connections_count": 0,
"shared_connections_count": 0,
"distancia_red": "PRIMER_GRADO",
"public_profile_url": "string",
"object": "UserProfile"
}
Enviar un mensaje o InMail
Para iniciar una conversación en LinkedIn o enviar un InMail utilizando Python, puede llamar a la función POST /chats de Unipile. Este endpoint admite mensajes uno a uno e incluso opciones avanzadas como Recruiter InMails o formato HTML dentro del cuerpo del mensaje.
Necesitarás el URN de LinkedIn del destinatario y el ID de cuenta correcto de tus pasos de conexión anteriores. Esta función es ideal para herramientas de participación en ventas, seguimiento de candidatos y flujos de contacto inteligentes integrados en tu SaaS.
Funciona así:
solicitudes de importación
url = "https://api1.unipile.com:13111/api/v1/chats"
payload = "-----011000010111000001101001\r\n-----011000010111000001101001--"
cabeceras = {
"accept": "application/json",
"content-type": "multipart/form-data; boundary=---011000010111000001101001"
}
response = requests.post(url, data=carga de pago, headers=cabeceras)
print(respuesta.texto)
{
"objeto": "ChatStarted",
"chat_id": "string",
"message_id": "string"
}
Empezando en Múltiples Canales: Integra Todos los Canales de Comunicación con Python
Añade Gmail, WhatsApp, Instagram y Calendar al instante
Desde el mismo SDK, permite a los usuarios:
- Sincronizar las bandejas de entrada de Gmail y Outlook
- Envía mensajes por WhatsApp e Instagram
- Programar reuniones a través de Google Calendar
1 integración = más de 200 funciones disponibles
Con una clave API, controlas la experiencia de mensajería de tus usuarios en todos los canales.
Conexión de cuentas
2 puntos finales disponibles
Mensajes
10 puntos finales disponibles
Usuarios/Perfiles
8 puntos finales disponibles
Mensajes/Comentarios
6 puntos finales disponibles
Específico
17 puntos finales disponibles
Webhooks
3 eventos disponibles
Buzones
4 bandejas de entrada disponibles
Integrar las funciones de la API de LinkedIn con código Python
1. Registrarse en Unipile
2. Acceder al panel de control
3. Obtenga su DSN
Obtenga su DSN (Data Source Name) que debe ser utilizado por para sus peticiones.
5. Conectar la cuenta de LinkedIn
Ventajas para el desarrollador de implementar la API de Linkedin con Python
Integración y orientación técnica
Agiliza la integración de la API de LinkedIn con documentación detallada y ejemplos de código. Estas herramientas están diseñadas para simplificar el proceso de configuración, mejorando rápidamente las capacidades de comunicación de tu plataforma.
Asistencia para desarrolladores
Accede a nuestro equipo de soporte especializado para recibir asistencia continua durante la integración. Esto incluye la resolución de problemas en tiempo real y el asesoramiento estratégico de los expertos de Unipile, lo que garantiza un uso óptimo de la API de LinkedIn.
Mantenimiento proactivo y actualizaciones
Benefíciate de las actualizaciones periódicas y del mantenimiento proactivo, que mantienen todas las funciones de la API de LinkedIn alineadas con los últimos estándares y mejoras de funciones de LinkedIn, garantizando así un rendimiento perfecto y un tiempo de inactividad mínimo.
Preguntas frecuentes
¿Cómo me conecto a la API de LinkedIn utilizando Python?
Utilice el punto final de cuentas de Unipile y proporcione credenciales o autenticación basada en cookies. Recibirá un ID de cuenta válido.
¿Puedo enviar mensajes de LinkedIn con Python?
Sí. Utilice POST /chats con el URN del destinatario y el contenido del mensaje.
¿Cuáles son los principales puntos finales disponibles a través de la API de Unipile?
Mensajes, perfiles, publicaciones, invitaciones, búsqueda, canal de contratación y mucho más.
¿Cómo se compara Unipile con el programa oficial de socios de LinkedIn?
Es más rápido, más flexible y no requiere aprobación. Además, integra otros canales.
¿Cómo puedo integrar LinkedIn con mi CRM utilizando Python?
Utilice los endpoints de Unipile para recuperar datos de perfil y gestionar flujos de comunicación directamente desde su aplicación.
También le puede interesar
linkedin search api amplifica el valor del usuario para los editores
LinkedIn, la mayor plataforma de redes profesionales del mundo, ofrece diversas herramientas y servicios para ayudar a los usuarios a conectarse, participar y hacer crecer sus redes. Entre ellos se encuentra la función LinkedIn API Search, que permite una integración perfecta de las funciones de búsqueda de LinkedIn en las aplicaciones. ¿Qué es...
Guía de la API de LinkedIn 2026: Tutorial completo de integración y mejores prácticas
¿Qué es la API de LinkedIn? La API de LinkedIn (Interfaz de Programación de Aplicaciones) es el puente esencial entre tu aplicación y LinkedIn, actuando en nombre de tus usuarios autenticados. Ya sea que estés creando software de reclutamiento, sistemas CRM o herramientas de automatización de flujos de trabajo, comprender LinkedIn...



