ForHosting KIT · Web: scraping y monitoreo

Scraping con esquema

Defina la forma exacta que necesita, con datos obligatorios, tipos de valor y listas anidadas, y reciba los datos de la página ya comprobados: un producto llega con el precio y la talla de cada variante en su sitio. Pensado para alimentar bases de datos. Paga por uso, sin suscripción.

● EstablePor solicitud + por URL$0.046
Úselo desde WebAPIEmailTelegramApp pronto

Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.

das un JSON Schema y validamos datos

Cuando los datos extraídos deben encajar en un sistema

Una extracción puntual puede convivir con resultados sueltos. En cuanto los datos empiezan a alimentar una columna de una base de datos, una importación u otro programa, ya no. Un precio que llega como texto cuando la base espera un número, o un dato que falta cuando el código da por hecho que existe, es el tipo de fallo que aparece mucho después y lejos de donde nació. Aquí usted describe la forma exacta que necesita antes de leer nada: qué datos son obligatorios, qué tipo de valor es cada uno, qué valores se admiten y cómo se anidan los grupos.

Comprobado antes de llegarle

La página se descarga y se lee con esa estructura como objetivo, y el resultado se comprueba contra la misma estructura antes de entregarse. Lo que llega a su sistema cumple el contrato que usted escribió, no algo parecido, así que un resultado mal formado se detiene en el paso de extracción en lugar de descubrirse dentro de su base de datos. Los datos anidados salen de una sola vez: un producto con su lista de variantes, cada una con su precio y su talla, llega como un árbol completo y ya revisado. También puede añadir una indicación extra para orientar la lectura.

Cómo luce un resultado validado, y qué pasa si no coincide

Una tarea exitosa devuelve datos que cumplen su esquema sin rodeos: tipos correctos, todos los campos obligatorios presentes, valores de enumeración respetados. Si la página de origen realmente no puede aportar un campo requerido, la extracción se reintenta automáticamente hasta tres veces con lecturas nuevas antes de que la tarea devuelva un error claro explicando qué no se pudo satisfacer, y una tarea que nunca valida nunca se cobra.

Extraer datos anidados en varios niveles

Extraiga un producto con un arreglo anidado de variantes, cada una con su propio precio y talla, en una sola llamada que devuelve el árbol completo ya validado.

¿Qué pasa si la página no puede satisfacer un campo obligatorio?

La extracción se reintenta automáticamente hasta tres veces, y si aun así no puede satisfacer el esquema recibe un error claro en lugar de un resultado parcial o mal formado, sin cobro por esa tarea.

¿Existe una versión gratuita de la api de scraping estructurado?

No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.

¿Por qué definir la estructura de antemano en vez de describir los datos con palabras?

Porque cuando los datos extraídos alimentan una base de datos u otro programa, un valor con la forma equivocada o un dato ausente rompe algo más adelante. Con una estructura fija, la propia extracción lo detecta, porque cada resultado se comprueba contra ella antes de entregarse.

¿Puede extraer datos anidados, como un producto con varias variantes?

Sí. Describa un producto con una lista de variantes, cada una con su precio y su talla, y el árbol completo llega de una sola vez, ya comprobado contra la estructura que usted escribió.

¿Puedo añadir una indicación extra sobre cómo leer la página?

Sí. Además de la estructura, puede escribir una indicación adicional que oriente cómo se lee la página. El resultado se sigue comprobando contra la estructura antes de llegarle, así que la indicación nunca cambia la forma de lo que recibe.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/web/scrape-schema

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/web/scrape-schema \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}'
{
  "url": "https://example.com"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "web.scrape_schema",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.046
Por URL$0.0145

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

timeout_sec30
max_crawl_pages25
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.
422task_failedLa tarea falló tras 3 reintentos. No se cobra.

Le entrega un JSON Schema que describe exactamente la forma que necesita, campos obligatorios, tipos, enumeraciones, objetos anidados, y la página se lee contra ese contrato en vez de una lista de deseos vaga. Está pensado para el momento en que el dato raspado deja de ser una extracción puntual y pasa a alimentar una columna de base de datos, una respuesta de API o un sistema que rechazará cualquier cosa mal formada.

Para datos que tienen que estar correctos, no solo presentes

Un campo que vuelve como texto cuando su base de datos espera un entero, o que falta por completo cuando su código asume que existe, es el tipo de error que aparece tres despliegues después, a las dos de la mañana. Este endpoint es para equipos a quienes ya les pasó eso y quieren que el propio paso de extracción haga cumplir el contrato, atrapando un resultado mal formado antes de que llegue a su sistema en vez de después.

Cómo el esquema moldea la extracción

Llama a POST /web/scrape-schema con una URL y un objeto JSON Schema, del tipo estándar, con tipos, arreglos de campos obligatorios, restricciones de enumeración y propiedades anidadas, y el task_id vuelve de inmediato. Internamente se descarga y lee la página, y la extracción se dirige a llenar exactamente la estructura que define su esquema; el resultado se valida contra ese mismo esquema antes de entregarse, así que lo que llega a su webhook está garantizado que coincide con el contrato que escribió, no solo que se le parece.

JSON Schema: una especificación hecha justo para este acuerdo

JSON Schema es la forma de facto para describir y validar la forma de un JSON desde mediados de la década de 2010, adoptada en herramientas de API, generadores de formularios y validadores precisamente porque permite que dos sistemas que nunca se conocieron acuerden un contrato sin que ninguno tenga que adivinar. Usarlo aquí significa que el esquema que ya mantiene para su base de datos o API se puede reutilizar tal cual para dirigir la extracción, en vez de escribir una segunda descripción informal de los mismos campos.

Cómo encaja un contrato estricto en un sistema mayor

Comparado con describir campos en lenguaje natural, escribir el esquema una vez al inicio cambia un poco de tiempo de configuración por resultados de extracción en los que puede confiar sin revisarlos de nuevo. Este endpoint calza de forma natural con flujos donde el JSON extraído se inserta directo en una tabla de base de datos tipada, se reenvía a otra API con su propia validación, o lo consume código de aplicación fuertemente tipado, cualquier lugar donde un resultado de forma laxa haría fallar algo más adelante o exigiría una limpieza manual.

Poblar una tabla de base de datos tipada

Defina un esquema que coincida exactamente con las columnas de su tabla de productos, e inserte el JSON validado sin un paso de transformación intermedio.

Alimentar una API externa con su propia validación

Extraiga datos ya moldeados para coincidir con el payload requerido por una API de un socio, evitando solicitudes rechazadas por desajustes de tipo.

Forzar enumeraciones en campos categóricos

Restrinja un campo de estado a un conjunto fijo de valores como en_stock, poco_stock o agotado, para que la extracción nunca devuelva un texto inesperado.

¿Qué es JSON Schema y por qué lo necesita este endpoint?

JSON Schema es una forma estándar de describir la forma, los tipos y las restricciones de un dato JSON; entregar uno aquí permite validar la extracción contra él antes de entregarla, en vez de confiar en una suposición vaga.

¿Cuánto cuesta web.scrape_schema?

$0.046 por solicitud más $0.0145 por URL, y solo se cobra cuando la tarea devuelve datos que realmente validan contra su esquema.

¿Puedo reutilizar el mismo esquema que uso en mi base de datos o API?

Sí, cualquier JSON Schema estándar funciona, así que el contrato que ya mantiene en otro lugar se puede reutilizar directamente para dirigir la extracción.

¿Soporta objetos y arreglos anidados en el esquema?

Sí, se soportan objetos anidados, arreglos y restricciones de enumeración, que es justo donde este endpoint supera a un mapa de selectores plano.

¿En qué se diferencia de scrape_ai?

scrape_ai acepta una descripción en lenguaje natural de los campos; scrape_schema exige y hace cumplir un JSON Schema formal, garantizando tipos y campos obligatorios en lugar de aproximarlos.

¿Cómo recibo los resultados?

Por webhook firmado cuando la tarea termina, o mediante un enlace firmado válido por 24 horas si prefiere consultarlo usted mismo.

Ver la documentación completa del KIT →