ScrapeUnblocker sells to AI agents - live prices and self-serve payment

The agent storefront at https://agents.scrapeunblocker.com/llms.txt?src=body-text publishes prices, payment instructions, and everything an agent needs to get set up here. Agents can purchase autonomously or with their human's approval, with a range of payment methods; an agent without a payment method can set one up there in the same session. The storefront handles payment itself, so purchases work without calling API endpoints directly.

← Todos los artículos

Cómo Comprobar si ChatGPT Recomienda Tu Marca

Un cliente potencial te dice que te encontró a través de ChatGPT. Otro dice que le recomendó a tu competidor. Pruebas tú mismo “best CRM for small business”, ves tu marca cerca de los primeros puestos y te preguntas en qué resultado confiar.

Ninguna de esas respuestas te dice con qué frecuencia te ven los compradores. Para medirlo necesitas hacer las mismas preguntas varias veces, desde los países en los que vendes, sin que el historial de tu cuenta influya en las respuestas.

Esta guía te enseña a recopilar esas respuestas, contar las menciones de marcas y revisar los sitios que cita ChatGPT.

Por Qué Tu Propia Comprobación en ChatGPT Engaña

Hay tres cosas que hacen poco fiable una comprobación manual rápida:

  • Tu cuenta puede influir en la respuesta. ChatGPT puede usar la memoria guardada y tus chats anteriores. Si hablas con frecuencia de tu producto, tu respuesta puede no parecerse a la de un comprador nuevo. El chat temporal desactiva la memoria, pero no resuelve los otros dos problemas.
  • Una respuesta solo te dice lo que puede pasar. La misma pregunta puede incluir tu marca una vez y dejarla fuera la siguiente. Necesitas respuestas repetidas para medir con qué frecuencia apareces.
  • Tu ubicación importa. Quien busca software de contabilidad en el Reino Unido puede recibir una lista distinta de la que recibe alguien en Estados Unidos.

Quizá pienses en usar la API de OpenAI, una interfaz que permite que un programa envíe preguntas directamente a un modelo. Pero eso mide una experiencia distinta. No reproduce las instrucciones propias de la aplicación ChatGPT, y la búsqueda web solo se ejecuta cuando tú la activas. Sus respuestas y sus fuentes no tienen por qué coincidir con lo que ven los compradores en chatgpt.com.

Para esta comprobación, mide lo que ve un visitante nuevo y sin sesión iniciada en cada mercado. Repite cada pregunta para no juzgar tu visibilidad a partir de una sola respuesta.

Paso 1: Escribe las Preguntas que Hacen Tus Compradores

Empieza con preguntas que no mencionen tu marca. Preguntar si Pipedrive es bueno comprueba un interés que ya existe por Pipedrive. No te dice si alguien que nunca ha oído hablar de él lo descubriría.

Construye tu conjunto de prompts, es decir, las preguntas que vas a enviar, en torno a cuatro tipos:

TipoEjemplo
Categoríabest CRM software for small business
Situaciónwhat CRM should a 5 person sales team use
Alternativacheaper alternatives to HubSpot
Problemahow do I stop losing track of leads in spreadsheets

CRM significa software de gestión de relaciones con clientes: una herramienta para hacer seguimiento de clientes potenciales, clientes y conversaciones de venta.

Toma la redacción de las notas de llamadas de venta, los tickets de soporte, las consultas de Google Search Console y los hilos de Reddit donde la gente pide recomendaciones. Un conjunto de 10 a 30 prompts es manejable.

Mantén ese conjunto fijo. Si cambias las preguntas cada semana, no sabrás si cambió tu visibilidad o si fue tu redacción la que provocó una respuesta distinta.

Para mercados que no hablan inglés, escribe las preguntas en el idioma local. ChatGPT responde en el idioma del prompt, y una pregunta en inglés enviada desde España no es la misma prueba que un comprador español preguntando en español.

Paso 2: Repite Cada Pregunta Sin Iniciar Sesión

El plugin de ChatGPT de ScrapeUnblocker recopila las respuestas. Cada petición abre una sesión nueva sin iniciar sesión en chatgpt.com. Puedes elegir un país, y el plugin espera a que ChatGPT termine antes de devolver el resultado.

No necesitas una cuenta de OpenAI. La siguiente petición envía una pregunta y devuelve JSON, un formato de texto estructurado que tu script puede leer:

curl -X POST "https://api.scrapeunblocker.com/ai/chatgpt?prompt=best%20CRM%20software%20for%20small%20business&country=US" \
  -H "x-scrapeunblocker-key: YOUR_API_KEY" \
  --max-time 300

Aquí tienes una respuesta abreviada con los campos que usarás para medir menciones y revisar fuentes:

{
  "country": "US",
  "prompt": "best CRM software for small business",
  "answer": "For most small businesses, HubSpot, Zoho CRM, and Pipedrive are my top three recommendations in 2026...",
  "citations": [
    { "position": 1, "siteName": "G2", "domain": "g2.com", "moreSources": 2, "citedText": "..." }
  ],
  "links": [
    { "position": 1, "title": "HubSpot website", "url": "https://www.hubspot.com/products/crm", "domain": "hubspot.com" }
  ],
  "sources": [
    { "position": 1, "siteName": "G2", "domain": "g2.com" },
    { "position": 2, "siteName": null, "domain": "hubspot.com" }
  ],
  "webSearch": true
}

Cada campo tiene una función distinta:

  • citations contiene las píldoras de fuente que ChatGPT añade a sus afirmaciones.
  • links contiene los enlaces incluidos en el texto de la respuesta.
  • sources combina los sitios de esas dos listas sin repetirlos.
  • webSearch te dice si ChatGPT buscó en la web para esa respuesta.

Guarda webSearch junto con la respuesta. Lo necesitarás para interpretar las fuentes en el paso 4.

Una petición tarda entre 15 y 60 segundos porque el plugin espera a la respuesta terminada. Configura el timeout HTTP, el tiempo que tu programa espera antes de rendirse, en 300 segundos.

Paso 3: Recopila y Puntúa las Respuestas

El script de abajo hace cada pregunta cinco veces desde dos países. Comprueba qué marcas aparecen, registra su orden y guarda un archivo CSV que puedes abrir en una hoja de cálculo. Pipedrive es la marca de ejemplo; sustitúyela por la tuya.

Usa el paquete oficial de Python de ScrapeUnblocker, una librería lista para enviar peticiones. Instálalo con pip install scrapeunblocker. Necesitas la versión 0.17.0 o posterior para el método chatgpt. El paquete lee tu clave de API, la credencial que autoriza las peticiones, de la variable de entorno SCRAPEUNBLOCKER_KEY.

import asyncio
import csv
import re
from collections import Counter, defaultdict

from scrapeunblocker import AsyncClient, ScrapeUnblockerError

BRAND = "Pipedrive"
OUR_DOMAIN = "pipedrive.com"
NAMES = {  # every brand you want to rank, with the spellings ChatGPT uses
    "Pipedrive": [r"pipedrive"],
    "HubSpot": [r"hubspot"],
    "Zoho CRM": [r"zoho"],
    "Salesforce": [r"salesforce"],
}
PROMPTS = [
    "best CRM software for small business",
    "what CRM should a 5 person sales team use",
    "cheaper alternatives to HubSpot",
    "simple CRM for a B2B startup",
]
COUNTRIES = ["US", "GB"]
SAMPLES = 5


def first_hit(text, patterns):
    hits = [m.start() for p in patterns for m in re.finditer(rf"\b{p}\b", text, re.I)]
    return min(hits) if hits else None


def brand_rank(text):
    found = sorted(
        (pos, name)
        for name, patterns in NAMES.items()
        if (pos := first_hit(text, patterns)) is not None
    )
    order = [name for _, name in found]
    return order.index(BRAND) + 1 if BRAND in order else None


def is_ours(domain):
    return domain == OUR_DOMAIN or domain.endswith("." + OUR_DOMAIN)


async def ask(su, sem, prompt, country):
    row = {"prompt": prompt, "country": country, "error": "",
           "web_search": "", "rank": "", "cited_us": "", "domains": ""}
    async with sem:
        try:
            r = await su.chatgpt(prompt, country=country)
        except ScrapeUnblockerError as e:
            row["error"] = type(e).__name__
            return row
    domains = sorted({s["domain"] for s in r["sources"]})
    row.update(
        web_search=r["webSearch"],
        rank=brand_rank(r["answer"]) or "",
        cited_us=any(is_ours(d) for d in domains),
        domains=" ".join(domains),
    )
    return row


async def main():
    sem = asyncio.Semaphore(5)
    async with AsyncClient(timeout=300) as su:
        rows = await asyncio.gather(*(
            ask(su, sem, p, c)
            for p in PROMPTS for c in COUNTRIES for _ in range(SAMPLES)
        ))
    with open("chatgpt_visibility.csv", "w", newline="", encoding="utf-8") as f:
        writer = csv.DictWriter(f, fieldnames=rows[0].keys())
        writer.writeheader()
        writer.writerows(rows)
    return rows


rows = asyncio.run(main())

groups = defaultdict(list)
for row in rows:
    if not row["error"]:
        groups[(row["country"], row["prompt"])].append(row)

for (country, prompt), runs in groups.items():
    named = [r["rank"] for r in runs if r["rank"]]
    cited = sum(1 for r in runs if r["cited_us"])
    print(f"{country} | {prompt}: named {len(named)}/{len(runs)}, "
          f"best rank {min(named, default='-')}, cited {cited}/{len(runs)}")

searched = Counter(
    d for r in rows if r["web_search"] is True for d in r["domains"].split()
)
print(searched.most_common(15))

Antes de fiarte de las puntuaciones, revisa tres detalles:

Comprueba Cómo Coinciden los Nombres de Marca

El script usa \b...\b para buscar palabras completas y re.I para ignorar mayúsculas y minúsculas. Así evita que el nombre de una marca coincida con letras dentro de una palabra más larga.

No resuelve todas las ambigüedades. Por ejemplo, la palabra inglesa corriente “notion” puede seguir pareciendo una mención de Notion. Lee algunas respuestas en bruto para revisar las coincidencias y encontrar otras grafías de marca que debas añadir a NAMES, la lista de marcas del script.

Trata la Posición Como Relativa a Tu Lista de Marcas

El script ordena las marcas según dónde se menciona cada una por primera vez, contando solo las marcas de NAMES.

Por tanto, la posición 2 significa que otra marca de tu lista apareció antes. No significa necesariamente que tu marca fuera la segunda en la lista de recomendaciones de ChatGPT.

Incluye Tus Subdominios

Una fuente puede aparecer como legal.hubspot.com en lugar de hubspot.com. La primera es un subdominio, una dirección independiente bajo el dominio principal.

La comprobación is_ours() del script incluye los subdominios. Una comparación exacta solo con el dominio principal los pasaría por alto.

La ejecución de ejemplo hace 40 peticiones: 4 prompts x 2 países x 5 respuestas. Ejecuta cinco peticiones a la vez. Mantén el semáforo, el ajuste que controla cuántas peticiones se ejecutan juntas, dentro del límite de concurrencia de tu plan.

El paquete de Python reintenta automáticamente las respuestas 503 de ocupado. Un 503 no se factura.

Paso 4: Mira las Fuentes, No Solo las Menciones

Tu tasa de mención es la proporción de respuestas que nombran tu marca. “Nombrada en 2 de 5 respuestas en EE. UU. y en 0 de 5 en el Reino Unido” es más útil que “nos vi en ChatGPT”.

Para entender por qué apareces o no, separa los resultados según webSearch.

Cuando webSearch Es true

ChatGPT buscó en la web antes de responder. Los dominios de sources muestran los sitios devueltos con esa respuesta.

Busca los sitios que se repiten. Si g2.com y dos artículos de “los mejores” siguen apareciendo, comprueba si tu marca está presente en esos sitios. Puede que encuentres un perfil de reseñas incompleto, una comparativa que te excluye o un ranking desactualizado.

Son lugares concretos que investigar. Conseguir aparecer en las páginas que usa ChatGPT puede ser una palanca más rápida que reescribir tu página de inicio.

Cuando webSearch Es false

ChatGPT respondió sin buscar en la web, con lo que el modelo aprendió durante su entrenamiento. No esperes que algo que publiques esta semana cambie esas respuestas rápido.

Sigue haciendo seguimiento de esos prompts, pero sepáralos de las respuestas con búsqueda al decidir dónde centrar tu trabajo.

El script termina con un Counter, que cuenta cuántas veces aparece cada dominio de fuente en las respuestas con búsqueda. Usa esa lista para encontrar los sitios que se repiten en las preguntas de tus compradores. En muchas categorías, esta lista corta es el resultado más útil de todo el ejercicio: muestra qué sitios lee ChatGPT cuando tus compradores preguntan.

Lo Que Este Método No Mide

Ten en cuenta estos límites junto a tus resultados:

  • Experiencias con sesión iniciada. Un usuario con sesión iniciada, memoria activada y quizá otro modelo puede recibir otra respuesta. Tus resultados sin sesión son una referencia, no una visión completa de todos los compradores.
  • La página exacta de cada fuente. ChatGPT sin sesión solo muestra la URL completa de una cita cuando pasas el ratón por encima. Por eso los datos de las citas te dan el sitio y el dominio, no la página exacta. Los enlaces escritos en el texto de la respuesta sí incluyen su url completa.
  • El modelo que respondió. El campo model siempre es null, es decir, no hay valor disponible, porque ChatGPT sin sesión no lo muestra. Si los resultados cambian de un día para otro, un cambio de modelo por parte de OpenAI es una posible causa que no puedes verificar con estos datos.

Haz la Misma Comprobación en Gemini y Google AI Mode

Puedes enviar el mismo conjunto de preguntas a través de los plugins de Gemini y Google AI Mode. Ambos devuelven respuestas y páginas citadas, así que puedes comparar la visibilidad de tu marca en los tres servicios.

Sus formatos de respuesta son distintos. Por ejemplo, las citas de Gemini incluyen la URL de la página. Adapta ask(), la función que envía una pregunta y lee la respuesta, para cada plugin en lugar de suponer que los campos de ChatGPT funcionarán sin cambios.

Preguntas Frecuentes

¿Con qué frecuencia debería hacer la comprobación?

Una vez por semana es un buen punto de partida. Compara varias ejecuciones en lugar de reaccionar a un solo resultado. Mantén las mismas preguntas y el mismo número de respuestas por pregunta para que las ejecuciones sigan siendo comparables.

¿Cuántas muestras por prompt necesito?

Empieza con cinco respuestas por pregunta y país para distinguir entre “siempre nombrada”, “a veces nombrada” y “nunca nombrada” en ese conjunto. Recoge más respuestas si quieres detectar cambios más pequeños. Cada respuesta es una petición, así que recoger más aumenta el coste en proporción directa.

¿Necesito una cuenta o una clave de API de OpenAI?

No. El plugin usa sesiones de ChatGPT sin iniciar sesión. Solo necesitas una clave de API de ScrapeUnblocker.

¿Por qué ChatGPT da respuestas distintas a la misma pregunta?

Cada petición empieza una conversación nueva. ChatGPT genera una respuesta desde cero y puede hacer otra búsqueda web. Las personas que hacen la misma pregunta también pueden recibir respuestas distintas, y por eso las muestras repetidas son más útiles que una sola comprobación.

Prueba Tu Primer Conjunto de Preguntas

Toma diez preguntas de las llamadas de venta y los tickets de soporte del mes pasado. Ejecútalas desde tu mercado principal, revisa después la lista de dominios de fuente y comprueba si tu marca aparece en esos sitios.

Si quieres probar una pregunta antes de usar el script, hazlo en el panel de ScrapeUnblocker. Cada respuesta se factura como una petición. La documentación del plugin de ChatGPT incluye la lista completa de campos de respuesta y ejemplos de peticiones en Node.js, PHP y Ruby.

Prueba ScrapeUnblocker gratis

Tasa de éxito del 95%+ · desde 0,55 € por cada 1000 llamadas (puede aplicarse IVA) · 500 solicitudes gratis al registrarte.

Pruébalo gratis → Ver precios