jsonscraper

Cómo crear un seguimiento diario de creadores de IG con Python

Un flujo de trabajo para profesionales de marketing y analistas: obtener datos públicos de perfiles, guardar instantáneas y detectar cambios sin revisar cuentas manualmente.

Política editorial Informar de un error

Los equipos de marketing tienen que revisar decenas de cuentas manualmente para saber qué creadores potenciales están activos, cómo cambia su audiencia y cuándo se actualizó por última vez cada perfil. Una tabla puntual queda obsoleta rápidamente: cambian el número de seguidores y la descripción del perfil, y hay que volver a recopilar las fechas de publicación y las métricas de cada publicación.

Artículo: Cómo crear un seguimiento diario de creadores de IG con Python
Resumen: Te mostramos cómo automatizar el seguimiento diario de una lista de perfiles públicos de IG con IG Scraper API: consultar perfiles, conservar un historial de observaciones y generar un informe de cambios.
Función de la imagen: portada: la idea central
Sección: 
Tema visual: Un concepto de panel de flujo de datos que muestra una cuadrícula ordenada de tarjetas de perfiles públicos de redes sociales que alimentan registros JSON con fecha y hora en un sencillo panel de análisis c
© jsonscraper · Ilustración generada por IA

Una solución práctica es llevar un pequeño registro de observaciones: consultar una vez al día perfiles públicos de una lista preparada de antemano, guardar la respuesta junto con la hora de recopilación y comparar los nuevos valores con las instantáneas anteriores. Este enfoque ayuda a seleccionar cuentas para una revisión manual posterior, evaluar la actividad y preparar informes periódicos. No sustituye las analíticas del propietario de la cuenta: por ejemplo, la información pública del perfil no da acceso a las métricas internas de alcance.

Primero, determina qué quieres seguir

Para buscar posibles socios, suele bastar con una lista breve de campos: nombre de usuario, identificador del perfil, indicador de verificación, número de seguidores, número de publicaciones, biografía y hora de recopilación. Estos valores permiten detectar cambios en un perfil y comparar cuentas dentro del nicho elegido. Los campos reales dependen de la respuesta de la API; antes de procesarla, conviene consultar el JSON actual en la documentación y no depender de campos que no estén disponibles.

Para conocer la actividad de contenido, puedes complementar los perfiles con datos de las publicaciones. El mapa de IG Scraper API enumera rutas específicas para el contenido multimedia de usuarios y los vídeos, además de solicitudes para contenido multimedia y comentarios. Incorpóralas como una etapa independiente después de verificar el perfil: primero confirma los parámetros necesarios y el formato de la respuesta en Postman; después, registra solo los campos que realmente necesite tu informe.

Una regla útil para el seguimiento es guardar las respuestas sin procesar por separado de las filas normalizadas. El JSON sin procesar permite volver a comprobar la interpretación si cambia la respuesta de la API; la tabla normalizada facilita la creación de gráficos y filtros. En ambos casos, conserva la hora de la solicitud para distinguir los valores actuales de los históricos.

Conecta IG Scraper API

La dirección base de la API de IG de jsonscraper es https://ig.jsonscraper.com. La documentación oficial muestra una solicitud de perfil por nombre de usuario: GET /v1/user/by/username, con los parámetros username, license_key y cache_timeout. Por ejemplo, para una cuenta de prueba la documentación muestra una URL como https://ig.jsonscraper.com/v1/user/by/username?username=apple&license_key=YOUR_LICENSE_KEY&cache_timeout=60. Utiliza el parámetro de caché únicamente según las condiciones de la ruta correspondiente y las necesidades de tu tarea: la frecuencia de consulta debe ajustarse a la rapidez con la que necesites las actualizaciones.

Para comprobar la estructura de la respuesta, abre la página de IG Scraper API y consulta la colección de Postman asociada. En el ejemplo, una respuesta correcta contiene un estado, un objeto ig con el identificador del perfil, el nombre de usuario y el indicador de verificación, además de una marca de tiempo. La documentación también enumera grupos de rutas para usuarios, contenido multimedia, búsquedas, hashtags y ubicaciones, lo que permite ampliar la recopilación a medida que se define la tarea analítica.

Guarda la clave de API en una variable de entorno, no en el código fuente ni en una aplicación cliente. La documentación de jsonscraper recomienda almacenar la clave en el entorno y no incluirla en compilaciones para clientes. Limita el acceso a la clave en el flujo de trabajo; por ejemplo, permite que solo la tarea en segundo plano de recopilación pueda utilizarla.

Un ejemplo mínimo funcional en Python

El siguiente script lee los nombres de usuario de una variable de entorno, consulta cada perfil y escribe un archivo JSONL. JSONL resulta práctico para un prototipo inicial: una línea equivale a una instantánea. El código guarda deliberadamente el objeto completo de la respuesta, sin dar por hecho que todos los campos del perfil estén siempre presentes. Tras la primera ejecución, revisa la respuesta real y solo entonces crea un esquema de tabla estable.

import json
import os
import time
from datetime import datetime, timezone
from pathlib import Path
from urllib.parse import urlencode
from urllib.request import Request, urlopen

API_KEY = os.environ["JSONSCRAPER_LICENSE_KEY"]
USERNAMES = [name.strip() for name in os.environ["IG_USERNAMES"].split(",") if name.strip()]
BASE_URL = "https://ig.jsonscraper.com/v1/user/by/username"
OUTPUT = Path("instagram_profiles.jsonl")


def fetch_profile(username: str) -> dict:
    query = urlencode({
        "username": username,
        "license_key": API_KEY,
        "cache_timeout": 60,
    })
    request = Request(f"{BASE_URL}?{query}", headers={"Accept": "application/json"})
    with urlopen(request, timeout=30) as response:
        return json.load(response)


with OUTPUT.open("a", encoding="utf-8") as output:
    for username in USERNAMES:
        collected_at = datetime.now(timezone.utc).isoformat()
        try:
            payload = fetch_profile(username)
            row = {
                "collected_at": collected_at,
                "requested_username": username,
                "ok": True,
                "payload": payload,
            }
        except Exception as exc:
            row = {
                "collected_at": collected_at,
                "requested_username": username,
                "ok": False,
                "error": str(exc),
            }

        output.write(json.dumps(row, ensure_ascii=False) + "\n")
        output.flush()
        time.sleep(1)

Antes de ejecutarlo, define la configuración en el entorno:

export JSONSCRAPER_LICENSE_KEY="tu_clave"
export IG_USERNAMES="creator_one,creator_two,creator_three"
python monitor.py

La pausa del ejemplo permite procesar la lista de forma secuencial y más pausada; no representa un límite declarado de la API. Para programar la ejecución en producción, ajusta la frecuencia y el tratamiento de errores según tu plan, la documentación y las necesidades de actualización. Si una solicitud falla, el registro guardado permite detectar el problema en lugar de omitir la cuenta sin aviso.

Normaliza los datos después de comprobar la respuesta

Una vez examinada la respuesta de la ruta que utilizas, selecciona un conjunto estable de columnas. Por ejemplo, una tabla de observaciones puede incluir la hora de recopilación, el nombre de usuario, el identificador del perfil, el estado de la respuesta y los contadores necesarios, si están presentes en el JSON. Define explícitamente qué hacer cuando falte cada campo: guardar un valor vacío, marcar el registro como incompleto o enviarlo para una revisión posterior.

No sustituyas la fila de ayer por el valor de hoy. El historial de instantáneas permite calcular diferencias entre fechas y detectar cambios. Para el número de seguidores, calcula la diferencia entre observaciones correctas consecutivas del mismo perfil; es preferible comparar mediante un identificador estable, en vez de hacerlo únicamente por el nombre de usuario, que puede cambiar.

Si la respuesta sin procesar contiene más datos de los necesarios para el informe, conviene conservarla durante un plazo limitado. La tabla normalizada debería incluir únicamente los campos justificados por la tarea concreta. En una investigación pública de creadores, esto suele reducir el volumen de datos y facilita explicar por qué se recopila la información.

Añade una ejecución diaria y notificaciones

En un servidor, el script puede ejecutarse con un programador de tareas, como cron; en una herramienta de automatización, puedes configurarlo por horario y mediante una solicitud HTTP. El flujo básico consta de un activador, la lectura de la lista de perfiles, la llamada secuencial a la ruta, la validación de la respuesta correcta, el registro de los datos en el almacenamiento y la preparación de un resumen. En n8n o Make, puedes dividir las mismas etapas en nodos independientes para que un fallo en un perfil no detenga toda la recopilación.

Para el informe, calcula indicadores sencillos: cuántos perfiles se procesaron correctamente, cuáles cambiaron su número de seguidores con respecto a la última instantánea correcta y cuándo se actualizó por última vez cada registro. Una lista separada de errores ayuda a detectar rápidamente nombres incorrectos, perfiles inaccesibles y problemas temporales de solicitud. Si añades publicaciones, acuerda primero la profundidad del historial y los campos necesarios; luego, conecta la ruta correspondiente de la documentación.

También conviene configurar la caché de forma deliberada. La documentación describe cache_timeout como un parámetro de las rutas compatibles que permite reutilizar resultados recientes. Para un informe comparativo diario, elige una configuración acorde con la actualidad que necesites; no mezcles una respuesta en caché con un nuevo punto de referencia sin indicarlo en el registro.

Qué te mostrará este seguimiento

Cuando hayas acumulado instantáneas, el equipo dispondrá de un historial verificable de observaciones de los perfiles públicos seleccionados. Podrás comparar los cambios en los contadores, encontrar registros que lleven tiempo sin actualizarse y elaborar una breve lista de cuentas para evaluar manualmente. Si la ruta elegida y la tarea permiten recopilar contenido multimedia, podrás añadir publicaciones a los perfiles y analizar el ritmo de publicación o los formatos de contenido, siempre que la documentación confirme los campos correspondientes.

Usa las métricas como filtro para el trabajo de investigación, no como criterio automático para decidir una colaboración. El número de seguidores, por sí solo, no describe la afinidad de la audiencia con la marca, la calidad del contenido ni la idoneidad comercial del creador. Incluye una revisión humana del perfil y documenta los criterios de selección por separado de la recopilación técnica.

Para una prueba, abre la colección de IG API en Postman, configura la clave y ejecuta una solicitud de perfil. Después, traslada los parámetros comprobados al script o a la automatización. Así obtendrás una recopilación diaria reproducible, un historial de cambios y una base para un informe analítico, sin tener que empezar creando tu propio analizador de páginas.

People

No people listed for this article yet.

Keep readingCómo medir la evolución del contenido de la competencia en IG: un flujo de API con Python
Read the next article

Convierte lo que lees en una integración funcional

Explora las API de datos sociales de jsonscraper, prueba solicitudes y crea tu próximo flujo de trabajo.

Explorar APIs