POST https://api.acedata.cloud/webextrator/extract
La API de extracción inteligente WebExtrator convierte una URL en resultados estructurados tipificados — artículos, productos, recetas, videos, discusiones, reclutamiento, etc., junto con Markdown y texto plano limpios. Este es el interfaz que debes usar cuando deseas “datos estructurados limpios” en lugar de HTML crudo.
En su base hay una tubería de tres capas:
- Esquema de mapeo JSON-LD de schema.org — determinista, costo cero de LLM. Cubre Wikipedia / BestBuy / AllRecipes / YouTube / la mayoría de las noticias / la mayoría de las páginas de productos.
- Extracción tipificada de LLM — se activa solo cuando schema.org no coincide. Selecciona el esquema según el tipo de página, verificación estricta de Zod.
- Readability + Markdown como respaldo — siempre en funcionamiento, completa los campos de nivel superior que no fueron llenados por las dos primeras capas.
Proceso de Solicitud
Para usar la página de servicios de WebExtrator, primero ve a la consola de Ace Data Cloud para obtener tu Token de API, guárdalo para uso futuro.
Si aún no has iniciado sesión o registrado, serás redirigido automáticamente a la página de inicio de sesión que te invita a registrarte e iniciar sesión, y después volverás automáticamente a la página actual.
Un Token de API es suficiente para acceder a todos los servicios de la plataforma, no es necesario solicitar uno por cada servicio. La primera solicitud te otorgará un crédito gratuito para que lo pruebes; si el crédito es insuficiente, puedes recargar el saldo general en la consola.
📘 Documentación completa: Página de servicios de WebExtrator →
Autenticación
Parámetros de Solicitud
Extract acepta todos los parámetros de Render API (url, user_agent, timeout, wait_until, delay, wait_for_selector, block_resources, headers, cookies, callback_url, bypass_cache, cache_ttl_seconds, async), además de dos campos exclusivos de Extract:
Cuando la página tiene schema.org JSON-LD, enable_llm es ineficaz — el mapeador determinista devuelve resultados directamente, nunca desperdiciará una llamada LLM. Obtienes resultados tipificados sin costo.
Respuesta Sincrónica
Campos de Nivel Superior
Subcampos de data.structured
Alcance del mapeador schema.org
Ordenado por prioridad (al coincidir se considerastructured.schemaOrg.primary):
Procesamiento del mapeador:
- Contenedor
@graph(despliegue recursivo); - Array
@type(como["Recipe", "NewsArticle"]— ambos son reconocidos, se toma el de mayor prioridad); - Variantes con prefijo
http://schema.org/; Offeranidado yAggregateOffer(este último leelowPrice);- URL de imágenes relativas (se resuelven a absolutas según
finalUrl).
Schema tipificado LLM
Cuandoenable_llm: true y schema.org no tiene primary, el extractor utiliza heurísticas de URL
(o sugerencias de expected_type) para seleccionar uno de los modelos de validación Zod a continuación:
Cuando LLM tiene éxito, también rellenará los campos de nivel superior como “último recurso”:
article→description/byline/publishedAt/languageproduct→descriptiondiscussion→description(primeros 280 caracteres del cuerpo) /byline(autor) /publishedAt(postedAt)recipe→description/byline(autor)video→description/byline(canal) /publishedAt(uploadDate)job→description/byline(empresa) /publishedAt(datePosted)
Caché
Las solicitudes idénticas se hash a la misma clave de Redis:webextrator:cache:extract:<sha256(canonical-json)>. La clave de caché ignora async,
bypass_cache, cache_ttl_seconds (esto es un interruptor de operación, no afecta la respuesta). cookies /
headers se agrupan en caché.
Las respuestas que coinciden con la caché incluirán
data.cached: true y data.cacheStoredAt: <unix-ms>.
Modo asíncrono y callbacks
Configurarasync: true para entrar en modo asíncrono (proporcionar callback_url también hará que se active automáticamente). La plataforma devuelve inmediatamente (HTTP 200):
POST a tu callback_url (si se configuró). También puedes consultar
proactivamente a través de /webextrator/tasks.
Ejemplo
1. Artículo de Wikipedia (coincidencia schema.org, no necesita LLM)
data.structured.schemaOrg.primary:
2. Página de producto de BestBuy (schema.org hit)
3. Página de recetas de AllRecipes (incluye nutrición y pasos)
4. Página de discusión de HN (sin JSON-LD —— necesita habilitar LLM)
data.structured.llm.data:
byline = "alice"、publishedAt = "..."。
5. Página de producto de Amazon (Amazon sin JSON-LD —— necesita habilitar LLM)
data.structured.llm.data (tipificado product):
Python (requests)
Node.js (fetch)
Consejos y trampas
- Si puedes pasar
expected_type, hazlo. Consejo gratuito, salta la evaluación heurística, especialmente útil para páginas cuyo patrón de URL no está en la lista incorporada. enable_llm: trueen páginas con schema.org hit es gratuito. LLM solo se llama cuando schema.org no tiene primary, por lo que dejarlo activado también es seguro.- Al depurar, primero mira
rawSignals.hasJsonLd. Si estrueperostructured.schemaOrg.primaryesnull, significa que la página usó un tipo@typeque nuestro mapeador aún no ha cubierto —— informa un problema, lo agregaremos. structured.llmErrores informativo. La solicitud sigue siendo exitosa, el resultado heurístico aún se devuelve. MirallmError.errorpara localizar la causa (tiempo de espera, error de análisis JSON, error de validación Zod).- Los
links[]de páginas que no son artículos no se ordenarán por relevancia. Solo se limpiarán según “un límite de 100 entradas + filtrado de protocolos no válidos”. - Los aciertos de caché también se facturan. La caché es para retrasos y protección de la piscina de navegadores, no para ahorrar dinero.

