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.

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.

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.