<img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=81693&amp;fmt=gif">

API de HubSpot con Python: Cómo usarla [Tutorial]

menu_book 4 minutos de lectura

¿Tienes una cuenta de HubSpot y te gustaría sacar información de tus contactos de forma automática? ¿Quieres monitorizar cuantos contactos han accedido a tu página web a través de cada canal de tráfico?

¡En este post te enseñamos cómo!

New Call-to-Action

Vamos a ver cómo puedes acceder a la API de HubSpot usando Python, un lenguaje de programación muy potente y bastante fácil de aprender. ¿Cómo dices? ¿Que no has programado nunca? ¡Pues ahora es un buen momento para empezar! :-)

Python es un lenguaje tan intuitivo y fácil de usar que muchos cursos de programación empiezan enseñando cómo funciona este lenguaje. Si quieres, puedes empezar en CodeAcademy, una plataforma online y gratuita donde podrás aprender un montón de cosas relacionadas con la programación, incluyendo Python ¡y en español!

API de HubSpot: requisitos antes de empezar

Primero de todo, vamos a instalar Python 2.7 en tu ordenador. 

  • Windows. Descárgate el instalador de Python desde la web oficial y ejecútalo. Por defecto, también se te instalará IDLE, un entorno de desarrollo integrado donde podrás crear y ejecutar tus programas de Python. 
  • Linux & Mac OS. Tienes suerte, Python ya está instalado por defecto :-)

Además, para acceder a la API de HubSpot, necesitamos una clave de acceso. Para conseguirla, tienes que ir al siguiente enlace y rellenar el formulario: Consigue tu API Key. Recibirás tu clave en tu email. 

¡Muy bien! ¡Ya podemos empezar a programar!

Cómo saber cuántos contactos tienes en HubSpot

Para saber cuántos contactos tienes guardados en HubSpot, vamos a hacer una llamada a su API. Básicamente, vamos a acceder a una URL en concreto, y HubSpot nos va a responder con un diccionario con la información que le hemos pedido. 

El código es el siguiente (te lo explicamos en detalle más abajo): 

Paso a paso:

  • Primero importamos las dos librerías que necesitamos: urllib2 y json. En principio, ambas vienen instaladas con Python. 
  • Modifica el valor de la APIKEY_VALUE y pon el valor de la clave que has obtenido en el apartado anterior. No olvides poner la clave entre comillas, como en el ejemplo. 
  • La variable ENDPOINT guarda el inicio de la url para acceder a la API de HubSpot.
  • get_total_number_of_contacts es una función que no toma ningún argumento y que cuando la llamamos, nos devuelve el número de contactos en HubSpot.
    • con la variable endpoint, definimos el trozo de la URL que le indica a HubSpot la información que queremos que nos devuelva. En este caso, queremos las estadísticas de los contactos. 
    • la URL a la que queremos hacer la llamada se construye con los trozos que hemos definido, dando como resultado algo parecido a: https://api.hubapi.com/contacts/v1/contacts/statistics?hapikey=example-api-key-value-0000
    • con la librería urllib2 accedemos a la URL y leemos la respuesta que nos devuelve HubSpot.
    • la respuesta viene en formato JSON, un formato que Python no entiende. Por eso, transformamos la respuesta a un diccionario Python con la librería json. 
    • la variable statistics contiene un diccionario con información sobre los contactos. En concreto, la key "contacts" contiene el número de contactos que tenemos guardados en HubSpot, y por lo tanto, la función retorna este valor. 
  • Finalmente, la última línea es la encargada de llamar la función para que se ejecute y imprima el valor en pantalla. 

 Con este código, cuando lo ejecutes vas a ver en pantalla el número total de contactos que tienes en HubSpot.

New Call-to-Action

Cuantos contactos hay en una Lista de HubSpot

Ahora vamos a ser un poco más precisos y vamos a obtener cuántos contactos hay en una lista de HubSpot. Estas listas las puedes crear tú como quieras, escogiendo a los contactos según la fuente de tráfico de la que proceden, la fecha de conversión o el estado en el que se encuentren (MQL, SQL, etc).  

Una vez tengas la lista de HubSpot que quieras evaluar, tienes que buscar el número que usa HubSpot para identificarla. Encontrarlo es muy fácil, sólo tienes que ir a HubSpot --> Contacts --> Lists y visualizar tu lista desde allí. Verás que la URL de la página en la que te encuentras es parecida a:

https://app.hubspot.com/contacts/000000/lists/000/

dónde los primeros números, aquí 00000, corresponden al identificador de HubSpot de tu portal o HubID, y los segundos, aquí 000, corresponden al identificador de tu lista. 

Muy bien, ahora que ya tenemos el identificador de tu lista, volvamos a nuestro código Python. 

Y paso a paso:

  • la variable LIST_ID guarda el número de identificación de tu lista
  • la función get_number_of_contacts_in_list tiene como argumento el ID de la lista y devuelve el número de contactos que hay en esa lista.
    • la variable endpoint que indica el método al que tenemos que hacer la llamada ahora es diferente, y contiene el número de identificación de la lista.
    • nos construimos la URL con los trozos que hemos definido, y nos queda algo parecido a https://api.hubapi.com/contacts/v1/lists/000?hapikey=example-api-key-value-0000
    • abrimos la url, la leemos y transformamos la respuesta a un diccionario Python. Guardamos este diccionario en la variable list_info
    • list_info contiene otro diccionario dentro de la key "metaData", y dentro de este nuevo diccionario está guardado el número de contactos bajo la key "size". Este valor es el que retornamos. 
  • Como en el ejemplo anterior, esta línea es la encargada de llamar la función con nuestra LIST_ID y mostrar el resultado en la pantalla. 

Ahora, puedes ejecutar este código y verás en pantalla cuántos contactos hay en tu lista! :-)

Además, ¡esto es solo el principio de la automatización! Ahora puedes hacer otro programa que ejecute estos scripts periódicamente, cada día por ejemplo, y hacer gráficos de evolución de tus contactos! ;-)

Si quieres más métodos para obtener información a través de la API de HubSpot, puedes consultar la documentación oficial

Y si te gusta la programación, y en especial Python, échale un vistazo a mi blog: Python, Science and Marketing

New Call-to-Action

Otros artículos que te pueden interesar...

HubSpot Workflows de HubSpot: ¿qué son y cómo se configuran?
Por Marina Mele en
HubSpot Marketing Automation en HubSpot: secretos para sacarle el máximo partido
Por Aina Moncho en
HubSpot Precios de HubSpot: los cambios de pricing para 2023
Por Andrea Castañar en
HubSpot Informe de ventas: qué es y cómo configurarlo en HubSpot
Por Lorena Montes en

¿Y tú qué opinas? ¡Déjanos aquí tus comentarios!

Suscríbete al Blog
Suscríbete por email y recibe además un pack de bienvenida con nuestros 5 mejores artículos