Volver al blog

API Scraper de ChatGPT: Respuestas de IA y citas en formato JSON

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

30-Jun-2026

Resumen:

  • Una API de raspado de ChatGPT convierte la respuesta del modelo en JSON estructurado. Una solicitud POST al actor scraper.chatgpt devuelve el texto de la respuesta, las citas detrás de ella y los resultados de búsqueda web que ChatGPT consultó, como campos, no como una captura de pantalla.
  • Dos entradas ejecutan todo. prompt lleva la pregunta; un country opcional fija la ejecución a la salida residencial en ese mercado, para que captes la respuesta que un usuario real allí vería.
  • Las citas llegan listas para ser graficadas. content_references enumera cada fuente citada con su título, URL y atribución, el material bruto para el seguimiento de la proporción de citas sin un paso de análisis.
  • El formato nunca cambia. Cada llamada devuelve { status, task_id, task_result }, la misma estructura que los otros actores LLM de Scrapeless, por lo que un envoltorio escrito para ChatGPT se extiende a Grok, Gemini, Perplexity y Copilot sin cambios.
  • Sin navegador que supervisar. Renderizado, manejo de sesión y rotación de proxy se realizan del lado del servidor; llamas a un único punto de acceso con un encabezado x-api-token y recibes JSON de vuelta.
  • Gratis para empezar. Las nuevas cuentas de Scrapeless incluyen créditos de prueba gratuitos; regístrate en app.scrapeless.com.

Introducción: la respuesta es la nueva página de resultados

ChatGPT responde directamente a preguntas sobre productos: un comprador pregunta por la mejor herramienta de asistencia técnica, el mejor CRM, el mejor proveedor de proxies, y recibe una recomendación corta y sintetizada con un puñado de fuentes citadas. No hay segunda página. Una marca está nombrada en esa respuesta, o es invisible para ese comprador.

Ese cambio creó una nueva necesidad de datos. Los equipos que solían rastrear clasificaciones ahora necesitan las respuestas en sí mismas: almacenadas, diferenciadas y graficadas a lo largo del tiempo, con las citas que explican por qué el modelo dijo lo que dijo. Capturar eso mediante la interfaz de chat en un navegador significa muros de inicio de sesión, respuestas en tiempo real y marca que cambia sin previo aviso.

El actor scraper.chatgpt colapsa el problema en una solicitud HTTP: entrada de prompt, salida de respuesta estructurada. Esta guía cubre la forma de la solicitud, el esquema de respuesta campo por campo, un cliente Python ejecutable y los actores complementarios que extienden el mismo patrón al resto del panorama de respuestas de IA. Para una vista clasificada de la categoría de herramienta en sí, la guía de los mejores raspadores LLM cubre ChatGPT junto con otras plataformas.


Lo Que Puedes Hacer Con Ello

  • Seguimiento de proporción de citas. Ejecuta un conjunto fijo de prompts en un horario y cuenta qué dominios cita ChatGPT para cada pregunta, la métrica GEO que reemplaza el seguimiento de clasificaciones.
  • Monitoreo de menciones de marca. Detecta cuándo la respuesta a una pregunta de compra comienza o deja de nombrar tu producto, y qué fuente rastrea la mención.
  • Análisis de respuestas competitivas. Captura cómo el modelo describe una categoría de productos a través de mercados y a lo largo del tiempo, con los enlaces de apoyo como datos.
  • Captura multiregional. Fija ejecuciones a diferentes países y compara las respuestas lado a lado; el cambio de localidad afecta tanto la respuesta como las citas.
  • Retroalimentación de estrategia de contenido. Ve cuáles de tus páginas realmente son citadas y para qué prompts, en lugar de adivinar por el tráfico.
  • Construcción de conjuntos de datos. Recoge tríos de pregunta-respuesta-cita como JSON limpio para análisis posteriores o pipelines de evaluación.

Por Qué el Raspador de ChatGPT de Scrapeless

El actor scraper.chatgpt es parte de la familia Scrapeless LLM Chat Scraper dentro de la línea de API de Raspado Universal. Trata la respuesta de IA como un objetivo de primera clase:

  • Una solicitud, salida estructurada. Sin navegador que conducir, sin streaming que reensamblar, sin DOM que analizar; el actor renderiza la superficie de chat del lado del servidor y devuelve campos analizados.
  • Citas como datos. content_references lleva cada fuente citada como un objeto discreto; el cuerpo de la respuesta mantiene sus marcadores de cita en línea para que los dos puedan ser unidos.
  • Salida residencial fijada por país. Las ejecuciones pasan a través de proxies residenciales en más de 195 países, por lo que las respuestas específicas de localidad son reproducibles por mercado.
  • Un token, un formato, cinco plataformas. El mismo x-api-token y el contrato { status, task_id, task_result } cubren a ChatGPT, Grok, Gemini, Perplexity y Copilot.

La referencia completa de parámetros se encuentra en la documentación de LLM Chat Scraper.


Requisitos Previos

  • Una cuenta de Scrapeless y una clave API: regístrate en app.scrapeless.com.
  • curl para la prueba rápida, o Python 3.10+ para el cliente a continuación.
  • Familiaridad básica con HTTP y JSON.

Almacena tu clave en el entorno para que nunca termine en el código:

bash Copy
export SCRAPELESS_API_KEY=tu_token_api_aqui

Cómo funciona el raspador ChatGPT

Nombras al actor, le entregas una entrada y envías tu clave en un encabezado.

  • Endpoint: POST https://api.scrapeless.com/api/v2/scraper/execute
  • Actor: scraper.chatgpt
  • Encabezado de autenticación: x-api-token: $SCRAPELESS_API_KEY

Parámetros de la solicitud

campo de entrada requerido descripción
prompt la pregunta que enviar a ChatGPT
country no código de país de dos letras que fija el egreso residencial de la ejecución (por ejemplo, US)

Captura rápida con curl

bash Copy
curl -sS -X POST https://api.scrapeless.com/api/v2/scraper/execute \
  -H "Content-Type: application/json" \
  -H "x-api-token: ${SCRAPELESS_API_KEY}" \
  -d '{
    "actor": "scraper.chatgpt",
    "input": { "prompt": "¿Cuáles son las mejores herramientas de raspado web?", "country": "US" }
  }'

Sobre el sobre de respuesta

json Copy
// muestra ilustrativa — esquema de una ejecución en vivo de scraper.chatgpt; valores resumidos
{
  "status": "success",
  "task_id": "7218e510-…",
  "task_result": {
    "prompt": "¿Cuáles son las mejores herramientas de raspado web?",
    "model": "gpt-5-5",
    "result_text": "La mejor herramienta depende del caso de uso… ([fuente][1])",
    "content_references": [
      { "title": "…", "url": "https://…", "attribution": "…" }
    ],
    "search_result": [
      { "title": "…", "url": "https://…", "snippet": "…", "attribution": "…" }
    ],
    "links": [],
    "products": null,
    "web_search": false
  }
}

Campo por campo:

campo tipo lo que contiene
status cadena success en una ejecución completada
task_id cadena el identificador de la ejecución, útil como clave de auditoría en tu propio almacenamiento
task_result.prompt cadena el prompt tal como lo recibió ChatGPT
task_result.model cadena el modelo que respondió (por ejemplo, gpt-5-5 en capturas recientes)
task_result.result_text cadena la respuesta completa como markdown, se preservan los marcadores de citación en línea
task_result.content_references[] arreglo cada fuente citada como { title, url, attribution }
task_result.search_result[] arreglo los resultados de búsqueda web que ChatGPT consultó para la respuesta
task_result.links[] arreglo enlaces barecidos que aparecen en la respuesta, cuando están presentes
task_result.products arreglo | nullo referencias a productos para prompts de tipo compra; nulo de lo contrario

Obtén tu clave API en el plan gratuito: app.scrapeless.com


Integrando la API en Python

Un cliente completo: envía el prompt, verifica el sobre y imprime la tabla de citas.

python Copy
import os
import requests

ENDPOINT = "https://api.scrapeless.com/api/v2/scraper/execute"


def ask_chatgpt(prompt: str, country: str = "US") -> dict:
    resp = requests.post(
        ENDPOINT,
        headers={
            "Content-Type": "application/json",
            "x-api-token": os.environ["SCRAPELESS_API_KEY"],
        },
        json={"actor": "scraper.chatgpt", "input": {"prompt": prompt, "country": country}},
        timeout=180,
    )
    resp.raise_for_status()
    return resp.json()


if __name__ == "__main__":
    data = ask_chatgpt("¿Cuáles son las mejores herramientas de raspado web?")
    result = data.get("task_result", {})
    refs = result.get("content_references") or []
    print(f"status={data.get('status')} model={result.get('model')} citations={len(refs)}")
    for i, ref in enumerate(refs, 1):
        print(f"  [{i}] {ref.get('attribution', '')}: {ref.get('title', '')[:60]} → {ref.get('url', '')[:60]}")

El cuerpo de la respuesta se mantiene en result.get("result_text") como markdown; para trabajo de parte de citación, el bucle anterior suele ser todo el trabajo: agrupar las URL impresas por dominio y contar.


Actores complementarios para el resto del paisaje de respuestas de IA

El mismo endpoint, encabezado y sobre cubren las plataformas vecinas: solo el nombre del actor y uno o dos campos específicos de la plataforma cambian:

  • scraper.grok — agrega un modo de razonamiento requerido y devuelve paneles de cita separados web_search_results y x_search_results.
  • scraper.gemini — el mismo input de dos campos que ChatGPT; devuelve result_text más un arreglo de citations.
  • scraper.perplexity — toma un country requerido y una bandera web_search; devuelve web_results, media_items y prompts relacionados.
  • scraper.copilot — la superficie de respuesta de Copilot bajo el mismo contrato.
  • scraper.overview / scraper.aimode — el bloque de AI Overview de Google y la pestaña de AI Mode; la guía de AI Overview cubre ese par de extremo a extremo.
    La fijación de precios para la línea se basa en el uso con créditos de prueba gratuitos al registrarse; los niveles actuales están en la página de precios.

Cómo evitar problemas comunes

  • content_references vacíos en algunos prompts. ChatGPT no cita fuentes para cada respuesta; los prompts de opinión o puramente generativos pueden regresar sin citas. Para el seguimiento de citas, formula los prompts de la manera en que lo haría un comprador investigador ("mejor X para Y"), lo que desencadena respuestas basadas en la web de manera confiable.
  • Las respuestas varían de una ejecución a otra. El mismo prompt puede producir una respuesta y un conjunto de citas diferentes en minutos de diferencia; esa volatilidad es el fenómeno que estás midiendo. Almacena cada captura con su task_id y marca de tiempo y trata la serie, no una sola ejecución, como la señal.
  • Considera cada campo como nullable. products es null fuera de los prompts de compras, links a menudo está vacío, y las cuentas de citas oscilan entre ejecuciones. Lee lo que está presente en lugar de afirmar una forma fija.
  • Fija el país deliberadamente. Una ejecución sin fijar captura una respuesta; una ejecución fijada captura la respuesta para un mercado que te importa. Mantén el valor de country en tus registros almacenados para que las series sean comparables.

Conclusión: respuestas como una dependencia de una línea

Capturar las respuestas de ChatGPT se reduce a una solicitud: POST { actor: "scraper.chatgpt", input: { prompt, country } } con tu x-api-token, lee result_text para la respuesta y content_references para las fuentes, y almacena el par con su task_id. El mismo cliente, apuntando a un conjunto de prompts y un cronograma, se convierte en un programa de participación en citas; al apuntar a los actores complementarios, se convierte en una cobertura de todo el paisaje de respuestas de IA.

¿Listo para construir tu pipeline de datos de respuestas de IA?

Únete a nuestra comunidad para reclamar un plan gratuito y conectarte con desarrolladores que están construyendo pipelines de respuestas de IA: Discord · Telegram.

Regístrate en app.scrapeless.com para créditos de prueba gratuitos, y dirige al actor scraper.chatgpt hacia los prompts, mercados y cronogramas que tu programa de monitoreo necesita.

Preguntas Frecuentes

P: ¿Es legal raspar las respuestas de ChatGPT?

El actor captura contenido de respuesta renderizado públicamente. Las reglas varían según la jurisdicción y los términos de servicio de la plataforma, así que revisa los ToS relevantes y consulta a un abogado para tu caso de uso, especialmente antes de redistribuir las respuestas capturadas. Nunca recojas datos personales protegidos bajo GDPR o CCPA.

P: ¿Cómo me autentico?

Cada solicitud lleva el encabezado x-api-token: <tu clave>. Una clave de cuenta funciona para scraper.chatgpt y todos los demás actores de Scrapeless. Crea una clave en el plan gratuito en app.scrapeless.com.

P: ¿Necesito un proxy?

No. La salida residencial y el geo-routing están integrados en el actor; country en la entrada es toda la configuración.

P: ¿Qué cambia realmente country?

El mercado de salida residencial para la ejecución. Las respuestas y citas de ChatGPT son sensibles a la localidad, por lo que una ejecución fijada en DE puede nombrar diferentes productos y citar diferentes fuentes que una ejecución fijada en US para el mismo prompt.

P: ¿Cómo obtengo las citas como una lista limpia?

Lee task_result.content_references — cada entrada es { title, url, attribution }. No se necesita análisis de texto; los marcadores en línea en result_text solo están ahí si deseas anclar citas a oraciones.

P: ¿Puedo ejecutar esto sin un SDK o agente de IA?

Sí. Es HTTP puro; curl, Python requests, Node fetch, o cualquier cliente HTTP funciona directamente contra POST /api/v2/scraper/execute. No se requiere SDK.

P: ¿Funciona el mismo código para Grok o Gemini?

El sobre y la autenticación son idénticos; cambia el nombre del actor y ajusta los campos de entrada específicos de la plataforma (Grok requiere un mode, Perplexity requiere country). Las claves task_result difieren por plataforma, así que mapea esas claves por actor.

En Scrapeless, solo accedemos a datos disponibles públicamente y cumplimos estrictamente con las leyes, regulaciones y políticas de privacidad del sitio web aplicables. El contenido de este blog es sólo para fines de demostración y no implica ninguna actividad ilegal o infractora. No ofrecemos garantías y renunciamos a toda responsabilidad por el uso de la información de este blog o enlaces de terceros. Antes de realizar cualquier actividad de scraping, consulte a su asesor legal y revise los términos de servicio del sitio web de destino u obtenga los permisos necesarios.

Artículos más populares

Catalogar