Crear un feed RSS
Algunos sitios simplemente nunca publicaron un feed: un portafolio estático, una página de avisos de una municipalidad, un pequeño medio de noticias que corre sobre un gestor de contenido armado a mano; y ningún descubrimiento va a encontrar lo que nunca se creó. Este endpoint va en la dirección contraria: le entrega un conjunto de páginas y construye un feed RSS real y válido a partir de ellas.
Ejecútela online
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.
Cuando no hay nada que descubrir
Un lector de feeds, una herramienta de monitoreo o un flujo de automatización construido alrededor de RSS asume que toda fuente tiene uno, pero muchos editores legítimos nunca adoptaron el formato: una página de avisos municipales, la sección de noticias de un departamento universitario, el blog de una tienda en línea sobre una plataforma que nunca se molestó en agregar soporte de feed. Para esos sitios la respuesta no es encontrar un feed oculto, porque no existe; es construir uno a partir de las páginas que ya existen.
Qué necesita el endpoint y qué construye
Envíe una lista de URLs de páginas por POST a /web/make-rss y reciba un task_id mientras cada página se descarga, se extrae su título, fecha de publicación y contenido principal, y los resultados se ensamblan en un solo documento RSS válido con entradas de item, enlaces y fechas correctos. El feed terminado sigue la especificación de RSS lo bastante bien como para que los lectores y analizadores estándar, incluido nuestro propio endpoint de RSS a JSON, lo consuman sin tratamiento especial. Llega por webhook o mediante un enlace firmado válido por 24 horas.
Un feed es solo un contrato, y esto lo cumple
RSS tuvo éxito originalmente porque es un formato pequeño y sin ambición: un canal con título y descripción, y una lista de elementos con título, enlace y fecha cada uno. Esa simplicidad es justo lo que hace posible sintetizar uno a partir de páginas arbitrarias: no hay metadatos propietarios que descifrar, solo el puñado de campos que todo lector espera. El feed generado se comporta como cualquier otro feed ante las herramientas que lo consumen, porque estructuralmente lo es.
Cómo encaja un feed creado en la automatización
Una vez que existe un feed para un sitio que nunca lo tuvo, encaja en cualquier cosa construida alrededor de feeds: herramientas de monitoreo que consultan cambios, agregadores que necesitan un formato consistente entre docenas de fuentes, o una configuración personal de lectura que solo quiere todo en un mismo lector. El precio es una tarifa base por solicitud más un cargo por URL, así que construir un feed de tres páginas cuesta una fracción pequeña de lo que cuesta construir uno de trescientas, y el costo escala exactamente con el trabajo realizado en lugar de una tarifa plana que sobrecobra trabajos pequeños o subcobra los grandes. Una extracción fallida en una página individual nunca se cobra, así que una URL rota ocasional dentro del lote no infla la factura.
Qué puede hacer con ella
Feed para un sitio sin soporte de RSS
Construya un feed funcional a partir de una página de avisos municipales o universitarios para poder monitorearla igual que cualquier blog moderno.
Revivir un blog abandonado o limitado por la plataforma
Genere un feed para el blog de un negocio pequeño que corre sobre una plataforma que nunca agregó salida de RSS nativa.
Agregación consistente entre fuentes mixtas
Cree feeds para el puñado de fuentes de un agregador de noticias que carecen de RSS nativo, para poder consultar cada fuente de la misma forma.
Automatización de lista de lectura personal
Convierta un conjunto de páginas marcadas de sitios sin feed en un solo feed para seguir sus actualizaciones desde una sola aplicación lectora.
Preguntas frecuentes
¿Cómo creo un feed RSS de un sitio web con la API?
Envíe una lista de URLs de páginas por POST a /web/make-rss, guarde el task_id devuelto y reciba el documento RSS generado por webhook o mediante un enlace firmado válido por 24 horas.
¿Es gratis la API para crear RSS?
No, no hay plan gratuito ni prueba; cuesta $0.040 por solicitud más $0.001 por cada URL enviada, y una generación fallida nunca se cobra.
¿Qué pasa si el sitio ya tiene un feed?
Use primero el endpoint de descubrimiento de RSS; es más barato y más rápido encontrar un feed existente que construir uno que lo duplicaría.
¿Cuántas URLs puedo enviar en una sola solicitud?
Puede enviar tantas URLs de páginas como tenga el sitio; el costo escala de forma lineal con el cargo por URL, así que los feeds más grandes simplemente cuestan proporcionalmente más.
¿El feed generado funcionará en lectores RSS estándar?
Sí, sigue la especificación de RSS lo suficientemente bien como para que los lectores y analizadores estándar lo consuman sin ningún manejo especial.
¿Qué datos incluye cada elemento del feed?
Título, enlace, fecha de publicación y contenido principal extraídos de cada página enviada, ensamblados en entradas de item estándar.
¿Puedo regenerar el feed después para incluir páginas nuevas?
Sí, envíe una lista actualizada de URLs cada vez que el sitio agregue páginas y el feed se reconstruye a partir del conjunto actual que usted proporcione.
¿Se guarda el contenido de las páginas de origen después de construir el feed?
No, las páginas descargadas y los feeds generados se eliminan después del período de retención y nunca se usan para entrenamiento.
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/make-rss \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://ejemplo.com"}'const res = await fetch("https://api.kit.forhosting.com/web/make-rss", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://ejemplo.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/make-rss",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://ejemplo.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/make-rss", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://ejemplo.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://ejemplo.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/make-rss", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"url": "https://ejemplo.com"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.make_rss",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
timeout_sec | 30 |
max_crawl_pages | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |