Skip to main content
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:
  1. 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.
  2. 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.
  3. Readability + Markdown como respaldo — siempre en funcionamiento, completa los campos de nivel superior que no fueron llenados por las dos primeras capas.
Las solicitudes repetidas de URL serán capturadas por la caché de resultados de Redis, <1 ms de retorno.

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 considera structured.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/;
  • Offer anidado y AggregateOffer (este último lee lowPrice);
  • URL de imágenes relativas (se resuelven a absolutas según finalUrl).

Schema tipificado LLM

Cuando enable_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”:
  • articledescription / byline / publishedAt / language
  • productdescription
  • discussiondescription (primeros 280 caracteres del cuerpo) / byline (autor) / publishedAt (postedAt)
  • recipedescription / byline (autor)
  • videodescription / byline (canal) / publishedAt (uploadDate)
  • jobdescription / byline (empresa) / publishedAt (datePosted)
El relleno solo se activa cuando la fuente de datos determinista no ha llenado los campos correspondientes — LLM siempre es el último recurso.

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

Configurar async: true para entrar en modo asíncrono (proporcionar callback_url también hará que se active automáticamente). La plataforma devuelve inmediatamente (HTTP 200):
Cuando la tarea se complete, se enviará el sobre completo 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)

Campo clave data.structured.schemaOrg.primary:

2. Página de producto de BestBuy (schema.org hit)

schema.org extracción:

3. Página de recetas de AllRecipes (incluye nutrición y pasos)

schema.org extracción:

4. Página de discusión de HN (sin JSON-LD —— necesita habilitar LLM)

data.structured.llm.data:
Los campos de nivel superior también se rellenaron: 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: true en 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 es true pero structured.schemaOrg.primary es null, significa que la página usó un tipo @type que nuestro mapeador aún no ha cubierto —— informa un problema, lo agregaremos.
  • structured.llmError es informativo. La solicitud sigue siendo exitosa, el resultado heurístico aún se devuelve. Mira llmError.error para 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.