Última versión · v1.2.2
La capa de web y documentos
para agentes de IA
Entra cualquier URL, documento, correo, archivo comprimido o código fuente: sale Markdown limpio o JSON estructurado. Un único binario en Rust autoalojado, con CLI, API de Firecrawl y Jina Reader, servidor MCP y paquetes para Python, Node.js, Go, Java, C#, Ruby, PHP y más.
$ pagesift scrape https://example.com # Markdown a stdout $ pagesift scrape report.pdf # PDF, Office, libros electrónicos, correo… $ pagesift crawl docs.rs --limit 500 # sitios completos, un archivo por página $ pagesift mcp # servidor MCP para tu agente
Medido, no prometido
El resultado más fuerte de cada área, del informe de benchmarks 1.1 publicado: las mismas cifras que el README del proyecto, con métodos y fuentes en el informe completo.
Latencia por página: más bajo es mejor
Rendimiento: más alto es mejor
Memoria máxima por trabajador: más bajo es mejor
Benchmarks medidos con PageSift 1.1; xberg 1.3.9 medido el 2026-11-04. Métodos completos: docs/benchmarks.md · Cobertura en rastreo real 0,740 frente a Crawl4AI 0,529 (polite, 40 sitios × 60 páginas).
Una sola canalización, todas las entradas
La canalización de peticiones de la documentación de arquitectura: los puntos de entrada alimentan un único motor, las guardas de política y de red se ejecutan antes de cualquier obtención, una decisión de renderizado elige el camino más barato que añade contenido y todas las fuentes terminan en las mismas salidas.
Qué puede hacer
Seis verbos cubren toda la superficie de la API: las mismas operaciones en la CLI, las API HTTP y las herramientas MCP.
scrape · Contenido limpio
Detección del contenido principal y Markdown que conserva encabezados, listas, tablas, código y fórmulas. JavaScript solo se renderiza cuando añade contenido.
crawl · Sitios completos
Mapas del sitio, rastreos centrados en una consulta que se detienen cuando las páginas dejan de ayudar, gestión de trampas, robots.txt y límites por host. Salida WARC en cada rastreo.
map · Mapas del sitio
Descubre las URL de un sitio antes de gastar presupuesto en obtenerlas y pasa la lista a crawl, batch o extract.
batch · Muchas URL, un solo trabajo
Extracción por lotes con persistencia de trabajos, webhooks duraderos y aislamiento por propietario. Consulta o cancela trabajos desde la API o MCP.
monitor · Monitorización de cambios
Comprobaciones programadas que separan los cambios reales de fechas, contadores y anuncios, con webhooks cuando algo se mueve de verdad.
agent · Investigaciones
POST /v2/agent responde a una pregunta desde la web con tu propio modelo, y comprueba cada campo de la respuesta contra la página de la que procede.
Documentos y OCR
Lectores propios en Rust para PDF, Office, libros electrónicos, correo, archivos comprimidos y bases de datos, incluidos archivos dañados y fuentes CJK. Las páginas escaneadas pasan por PP-OCRv6 y las fórmulas en bloque por PP-FormulaNet, en CPU o GPU NVIDIA.
Extracción estructurada
JSON mediante selectores CSS que se reubican cuando un sitio cambia, o mediante un esquema que tu modelo escribe una vez y PageSift guarda en caché. Y acciones de navegador (clics, escritura, desplazamiento, sesiones conservadas) cuando una página las necesita.
Seguridad y resultados honestos
Guardas contra redes privadas y DNS rebinding. Una página parcial, un archivo truncado o un escaneo omitido devuelve un código de aviso en lugar de parecer completo.
Casi todo puede entrar
Una sola llamada se encarga de todo el montón, sin conectar convertidores por separado.
Páginas web
URL y HTML, renderizado solo cuando añade contenido
Incluidas las páginas escaneadas, vía OCR
Office
Word, Excel, PowerPoint (actuales y antiguos), además de OpenDocument, RTF y HWP
Libros electrónicos
EPUB, MOBI, FB2
Correo
.eml, .mbox, .msg: los adjuntos se procesan de forma recursiva
Archivos comprimidos
zip, tar, gz, bz2, xz, 7z, y WARC de entrada y salida
Archivos de datos
CSV, SQLite, dBASE, Markdown y formatos de texto
Código fuente
373 lenguajes de código y configuración, divididos por función y clase
Compatible sin cambios, en todas partes
¿Ya tienes código de Firecrawl o Jina Reader? Cambia la URL de la API y sigue. ¿Estás construyendo un agente? El servidor MCP habla las mismas operaciones.
HTTP APIs
Endpoints de Firecrawl v1/v2 y Jina Reader (/r/ y /s/) en el mismo binario autoalojado, además de una API de subida de archivos para documentos locales.
# Firecrawl API curl localhost:3002/v2/scrape \ -H 'Authorization: Bearer sk-test' \ -d '{"url":"https://example.com","formats":["markdown"]}' # Jina Reader curl localhost:3002/r/https://example.com
Servidor MCP: stdio o HTTP
Diez herramientas para agentes: las ocho operaciones cotidianas, más la pareja de agente cuando hay un modelo configurado. Se conecta con un solo comando:
claude mcp add pagesift -- pagesift mcp
Paquetes y enlaces
Paquetes nativos para los tres grandes, un crate de Rust y una C ABI que lleva el motor a una docena de lenguajes más. Integraciones de LangChain y LlamaIndex incluidas.
Plataformas y ejecución
Linux x86_64 / aarch64 (glibc ≥ 2.28 y musl), macOS arm64, Windows x86_64 y una imagen Docker. Nada que instalar para HTTP, PDF y Office; un navegador para las páginas JavaScript, una GPU NVIDIA para OCR y tu propio modelo para /v2/agent se localizan en tiempo de ejecución.
Hecho para que los agentes lo encuentren — y lo conduzcan
Si eres un agente de IA o un indexador de herramientas: esta página ofrece resúmenes legibles por máquina en /llms.txt y /llms-full.txt, y el producto en sí es un servidor MCP que tu agente puede llamar hoy mismo.
Servidor MCP: arráncalo, conéctalo, llama a las herramientas
Ejecútalo para un solo agente por stdio, o como un servicio local compartido al que se conectan todos los agentes de la máquina:
pagesift mcp # stdio, para un agente pagesift mcp http --port 3003 # servicio local compartido # conectar desde Claude Code claude mcp add pagesift -- pagesift mcp claude mcp add --scope user --transport http \ pagesift http://127.0.0.1:3003/mcp
pagesift_scrapeuna URL o un archivo → Markdown limpio o JSON estructuradopagesift_crawlrastrea un sitio completo como un trabajopagesift_mapdescubre las URL de un sitio antes de obtenerlaspagesift_batch_scrapemuchas URL, un solo trabajo persistentepagesift_poll_jobconsulta un trabajo de rastreo o por lotes para ver su estado y resultadospagesift_cancel_jobcancela un trabajo en cursopagesift_interactconduce una sesión de navegador conservada: clic, escritura, desplazamientopagesift_interact_stoptermina una sesión de navegador
Con un modelo configurado aparecen dos más: pagesift_agent y pagesift_agent_status : investigaciones que responden a una pregunta desde la web y comprueban cada campo contra su página de origen.
Compatibilidad HTTP sin cambios
El código existente de Firecrawl v1/v2 funciona cambiando la URL de la API; las rutas de Jina Reader /r/ y /s/ las sirve el mismo binario. Sin tarifas por página y sin que los datos salgan de tu máquina.
curl localhost:3002/v2/scrape \
-H 'Authorization: Bearer sk-test' \
-d '{"url":"https://example.com","formats":["markdown"]}'
curl localhost:3002/r/https://example.com
Documentación legible por máquina
- /llms.txt : resumen del proyecto para LLM
- /llms-full.txt : instalación, API, herramientas y benchmarks en un solo archivo
- /sitemap.xml · /robots.txt : todos los rastreadores son bienvenidos, IA incluida
- README · Arquitectura · Rendimiento
- Glama MCP listing : definiciones de herramientas y puntuaciones
API alojada: en preparación
Una API alojada de PageSift está en preparación y el endpoint api.pagesift.tech está reservado para ella, pero aún no está en línea. Hoy PageSift es autoalojado: las API de Firecrawl y Jina Reader anteriores se ejecutan en tu propia máquina; consulta las opciones de instalación más abajo.
Del cuaderno del autor
Artículos de lanzamiento y análisis de ingeniería en dev.to, Zenn y Qiita: el razonamiento de diseño que no cabe en las notas de la versión.
PageSift 1.2: ITNA, an access-barrier recovery engine — plus the 1.1 roundup
El artículo de la versión 1.2: la recuperación de barreras itna y el repaso de la serie 1.1, que nunca tuvo su propio artículo.
壁にぶつかったら、まず分類する —— PageSift 1.2 のアクセス障壁リカバリ「itna」の設計
Cómo clasifica itna una barrera antes de gastar un intento de navegador: el diseño detrás de 1.2.
壁にぶつかったら、まず分類する —— PageSift 1.2 のアクセス障壁リカバリ「itna」の設計
El análisis del diseño de itna, en Qiita.
PageSift 1.2:アクセス障壁リカバリ「ITNA」と、1.1 のまとめ
El artículo de la versión 1.2 en japonés, con el repaso de la serie 1.1.
PageSift 1.2:アクセス障壁リカバリ「ITNA」と、1.1 のまとめ
El artículo de la versión 1.2 en japonés, en Qiita.
PageSift 1.0: the Rust web content engine is feature-complete
El artículo de la versión 1.0: funciones completas (OCR, memoria de selectores, monitorización y la API de agente).
En marcha en un minuto
Elige tu superficie: todas ejecutan el mismo motor.
| Superficie | Instalación | Primera llamada |
|---|---|---|
| CLI | cargo install pagesift --locked | pagesift scrape https://example.com |
| Python | pip install pagesift | pagesift.scrape("https://example.com").markdown |
| Node.js | npm install @pagesift/node | (await new Scraper().scrape("https://example.com")).markdown |
| Servidor | docker run -p 3002:3002 ghcr.io/yolow92/pagesift:1.2.2 | curl localhost:3002/r/https://example.com |
| MCP | — | claude mcp add pagesift -- pagesift mcp |
Recuperación de barreras de acceso, opcional
- Desactivada por defecto. Se activa con
[itna] enabled: no cambia nada hasta que lo pides. - Primero se clasifica; luego se acota. Las barreras se clasifican primero; una página bloqueada o con desafío recibe como máximo un fallback acotado al navegador, compartiendo un único presupuesto de red entre redirecciones y subpeticiones.
- Nunca escala los casos equivocados. Los límites de velocidad (429) y los muros de inicio de sesión nunca activan la ruta del navegador.
- Sesiones aisladas. Las sesiones se alquilan por propietario, origen, salida y huella; las cookies HTTP solo llegan al navegador mediante una entrega restringida al origen exacto.
- La persona sigue en el bucle. Los CAPTCHA interactivos se informan como tareas que necesitan una persona: nunca se resuelven.
Novedades de la 1.2.2
- Los trabajos de crawl, batch y extract quedan restringidos a su propietario.
- Los intentos de página de search y extract ahora cuentan contra la cuota diaria.
- Las páginas en caché se comprueban contra robots.txt antes de reutilizarse.
- Las opciones no compatibles de snapshot e imágenes base64 ahora se rechazan en lugar de ignorarse en silencio.
Todas las versiones → · CHANGELOG
Buen encaje — y cuándo elegir otra cosa
Alimentar un LLM, un índice RAG o un agente con páginas y documentos; autoalojar un servicio estilo Firecrawl sin tarifas por página; entradas mixtas en máquinas pequeñas. Elige otra cosa para archivos de imagen independientes, un servicio en la nube gestionado, o si la AGPL no te sirve y una licencia comercial no es una opción.
Código abierto, con licencia comercial
Autoalojado gratuito bajo AGPL, con una vía comercial y una persona a la que escribir para despliegues propietarios.
AGPL-3.0: gratuito
Usa, modifica y autoaloja PageSift bajo la GNU AGPL v3. El código completo está en GitHub y el autoalojamiento no tiene tarifas por página.
Licencia comercial
Para enlaces propietarios o despliegues privados sin las obligaciones de la AGPL, hay una licencia comercial disponible. Escribe directamente al mantenedor: