API Scraper de ChatGPT: Respuestas de IA y citas en formato JSON
Advanced Data Extraction Specialist
Resumen:
- Una API de raspado de ChatGPT convierte la respuesta del modelo en JSON estructurado. Una solicitud POST al actor
scraper.chatgptdevuelve 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.
promptlleva la pregunta; uncountryopcional 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_referencesenumera 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-tokeny 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_referenceslleva 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-tokeny 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.
curlpara 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
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 |
sí | 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
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
// 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
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 unmodode razonamiento requerido y devuelve paneles de cita separadosweb_search_resultsyx_search_results.scraper.gemini— el mismo input de dos campos que ChatGPT; devuelveresult_textmás un arreglo decitations.scraper.perplexity— toma uncountryrequerido y una banderaweb_search; devuelveweb_results,media_itemsy 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_referencesvací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_idy marca de tiempo y trata la serie, no una sola ejecución, como la señal. - Considera cada campo como nullable.
productsesnullfuera de los prompts de compras,linksa 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
countryen 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.



