jsonscraper
Mercados
Volver al diario

Compara perfiles de IG con los requisitos verificables de una campaña

Cómo convertir una lista de cuentas en una comprobación reproducible con IG Scraper API y Python

Política editorial Informar de un error

Antes de lanzar una campaña, puedes comparar automáticamente cada cuenta de IG del brief con los datos públicos del perfil. Esta comprobación detecta nombres de usuario que no coinciden, perfiles privados, cambios de nombre o biografía y diferencias entre el número de publicaciones y el intervalo esperado. El resultado es una tabla de comprobaciones para el equipo de marketing, no una decisión automática sobre la idoneidad del creador.

Artículo: Compara perfiles de IG con los requisitos verificables de una campaña
Resumen: Comprueba perfiles públicos de IG antes de lanzar una campaña: consulta datos por nombre de usuario, compáralos con el brief y genera un informe de discrepancias sin sustituir los datos ausentes por ceros.
Función de la imagen: portada: idea central
Tema visual: Foto editorial: brief impreso de una campaña con influencers y un informe compacto de validación CSV sobre un escritorio; los datos de perfil se representan con tarjetas neutras sencillas
La comprobación compara los requisitos del brief con campos públicos concretos del perfil.© jsonscraper · creado con IA

El problema: el brief queda desactualizado antes que la hoja de cálculo

La lista de una campaña puede incluir el nombre de la cuenta, un enlace, una referencia de seguidores y requisitos para el perfil público. Es fácil que esos datos dejen de coincidir: la cuenta cambia de nombre de usuario, el perfil pasa a ser privado y las cifras del brief no se actualizan. Comprobar un perfil a mano es sencillo; repetirlo para una lista de cuentas antes de cada campaña resulta más difícil de controlar y reproducir.

Una solución útil consiste en definir reglas explícitas para cada fila, obtener los campos públicos disponibles en el momento de la comprobación y registrar junto a ellos los valores previstos y los observados. «Coincide» significa entonces únicamente que un campo concreto cumple una regla concreta; la decisión sobre la afinidad de la audiencia o la calidad del contenido sigue correspondiendo a un especialista.

Qué datos consultar

La documentación de las rutas de IG API describe la ruta GET /v1/user/by/username, que requiere el parámetro username. En la respuesta verificada, los datos del perfil se encuentran en el objeto ig: incluye el nombre de usuario, el nombre completo, la biografía, los indicadores de privacidad y verificación, y el número de publicaciones, seguidores y cuentas seguidas. Estos campos describen una instantánea disponible del perfil.

Para una comprobación preliminar, basta con comparar el nombre de la cuenta, la privacidad y los umbrales numéricos. La biografía se puede mostrar al operador para que la revise o comprobar con una regla sencilla, como la presencia de un término obligatorio. Este filtro de texto detecta una coincidencia de cadena, pero por sí solo no evalúa el significado ni confirma el cumplimiento de las condiciones contractuales.

Cómo integrar la consulta en Python

Primero, guarda la clave de licencia en la variable de entorno JSONSCRAPER_INSTAGRAM_LICENSE_KEY. El ejemplo utiliza la dirección base, la ruta, el parámetro username y el nombre de clave license_key confirmados. El CSV incluye los campos username,min_followers,max_followers,require_public; para cada cuenta, el script compara la respuesta con las reglas y marca las filas que requieren revisión.

import csv
import os
import sys
import requests

BASE_URL = "https://ig.jsonscraper.com"
API_KEY = os.environ.get("JSONSCRAPER_INSTAGRAM_LICENSE_KEY")
if not API_KEY:
    raise SystemExit("Set JSONSCRAPER_INSTAGRAM_LICENSE_KEY")

# brief.csv: username,min_followers,max_followers,require_public
with open("brief.csv", newline="", encoding="utf-8") as source:
    brief = list(csv.DictReader(source))

results = []
for row in brief:
    username = row.get("username", "").strip()
    minimum_text = row.get("min_followers", "").strip()
    if not username or not minimum_text:
        results.append({
            "requested_username": username,
            "needs_review": True,
            "error": "Missing username or min_followers",
        })
        continue

    try:
        response = requests.get(
            f"{BASE_URL}/v1/user/by/username",
            params={"username": username, "license_key": API_KEY},
            timeout=30,
        )
        response.raise_for_status()
        payload = response.json()
        if payload.get("status") != "ok" or not isinstance(payload.get("ig"), dict):
            raise ValueError("Unexpected API response")
        profile = payload["ig"]

        followers = profile.get("follower_count")
        minimum = int(minimum_text)
        maximum_text = row.get("max_followers", "").strip()
        maximum = int(maximum_text) if maximum_text else None
        public_required = row.get("require_public", "").strip().lower() == "true"

        checks = {
            "username_matches": (
                isinstance(profile.get("username"), str)
                and profile["username"].lower() == username.lstrip("@").lower()
            ),
            "followers_in_range": (
                isinstance(followers, int)
                and followers >= minimum
                and (maximum is None or followers

Para ejecutarlo, usa python check_profiles.py. Instala la biblioteca requests, configura la variable de entorno en el entorno de ejecución y coloca allí brief.csv. No escribas la clave en el código fuente ni en el CSV de salida. El script procesa la lista de forma secuencial, lo que facilita la comprobación y la depuración de conjuntos pequeños de cuentas.

Por qué los datos ausentes deben seguir siendo visibles

Las reglas de comprobación deben distinguir entre un valor cero y un campo que no está disponible. En el ejemplo, el número de seguidores solo se considera válido si el campo numérico está presente; si falta el contador, la condición no queda confirmada y el registro pasa a revisión manual. Un umbral min_followers vacío también se marca como error en los datos de entrada, en lugar de convertirse automáticamente en cero.

Conviene conservar la validación de la respuesta como parte del flujo de trabajo. El script primero comprueba que el estado externo sea ok y luego verifica que exista el objeto ig. Los errores HTTP, el JSON inesperado o una regla no válida se incluyen en el informe sin el texto de la excepción, que podría revelar la clave en la URL. Así, el operador puede distinguir un fallo de la consulta de una discrepancia del perfil sin exponer el secreto.

Cómo interpretar el resultado y automatizar la comprobación

El archivo profile_check.csv contiene el nombre de usuario original, el nombre devuelto, los campos públicos disponibles, los resultados de cada condición y el indicador general needs_review. El equipo puede filtrar las filas por este indicador y el desarrollador puede guardar el informe en un sistema de almacenamiento o enviarlo al siguiente paso del proceso ETL. Para programar la ejecución, utiliza un planificador y guarda aparte la fecha de cada ejecución para poder comparar las instantáneas de las campañas.

Artículo: Compara perfiles de IG con los requisitos verificables de una campaña
Resumen: Comprueba perfiles públicos de IG antes de lanzar una campaña: consulta datos por nombre de usuario, compáralos con el brief y genera un informe de discrepancias sin sustituir los datos ausentes por ceros.
Función de la imagen: ilustración complementaria 2: un aspecto específico diferente
Sección: Cómo interpretar el resultado y automatizar la comprobación
Tema visual: Diagrama infográfico en ruso que muestra el flujo: filas del brief CSV → GET /v1/use
El esquema muestra el recorrido desde una fila del brief hasta el informe, incluida la revisión manual de los datos ausentes.© jsonscraper · ilustración generada con IA

Si una regla cambia, guárdala en el brief en lugar de incorporarla directamente al código. Así, los umbrales se pueden comprobar: cada fila muestra qué intervalo de seguidores o qué indicador de visibilidad pública se esperaba. Se puede añadir una comprobación de texto específico en la biografía, pero una coincidencia literal no sustituye la evaluación de un especialista.

La página de IG Scraper API incluye la dirección base, un ejemplo de consulta y un enlace a Postman. El procedimiento anterior utiliza únicamente la consulta de perfil por nombre de usuario confirmada y no da por sentado que esta devuelva publicaciones.

El resultado práctico es una comprobación preliminar reproducible: en lugar de revisar manualmente toda la lista, el equipo recibe un informe de coincidencias y excepciones asociadas a campos concretos del brief. Esto agiliza la revisión antes del lanzamiento y mantiene la decisión sobre la idoneidad para la campaña en manos del especialista responsable.

Gente

Aún no hay personas en la lista para este artículo.

Sigue leyendoVerifica el perfil de IG con el brief de campaña antes del lanzamiento: validación mediante API
Lee el siguiente artículo

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