seed ▸ crawl opened 0

Convierte un sitio entero
en datos limpios.

Apunta Writ a una URL. Mapea el sitio, reparte el rastreo por toda tu flota (best-first, en paralelo), y te devuelve cada página como Markdown limpio o JSON estructurado. Rastrea una página o un millón.

cuenta gratuita para empezar · $0.0005 / página en cloud · open-core autoalojable
playground.usewrit.app sin clave
https://
Markdown + frontmatter JSON estructurado sitemap + enlaces descubiertos
fetch ▸ page scraped 1
01
extracción

Una página entra, Markdown limpio sale.

Writ retira el cromo (navegación, banners de cookies, anuncios, boilerplate) y conserva el contenido, para que un LLM lea la página, no el maquetado. Pulsa Scrape:

tech.example/article
Raw page
nav · menu linkschrome
cookie consent bannerchrome
▓ sponsored · Surfsharkad
# Tech news & reviewscontent
article body · 1,240 wordscontent
newsletter signupchrome
footer · social · legalchrome
Markdown · 100% tokens
press Scrape to extract clean Markdown
map ▸ urls discovered 12
02
mapa

Cada URL descubrible, en segundos.

Map fusiona el sitemap con los enlaces que Writ descubre en vivo, así ves toda la superficie antes de gastar un solo rastreo de página. Elige tus seeds y rastrea solo lo que importa.

map tech.example
0 urlssitemap + discovered0.0s
net ▸ frontier draining 1,240
03
harvest · rastreo distribuido

Un rastreo, toda tu flota.

Un rastreo no es una sola máquina moliendo una cola. Writ comparte una única frontera entre todos los agents (best-first, para que las páginas más relevantes vuelvan primero) y escala linealmente a medida que añades workers. Añade agents:

agents 4frontier 2,914 · pg/s
auth ▸ wall opened 1,650
04
harvest · tras el login

La frontera depende de quién ha iniciado sesión.

Un crawler público se detiene en el muro de login. Adjunta una persona y la misma URL semilla se abre a las páginas que solo tu cuenta puede ver - historial de pedidos, facturas, páginas de miembros que no aparecen en ningún sitemap - y el propio mapa crece. Cambia la sesión:

/ /about /pricing /docs /login /account /account/orders /account/invoices /orders/8841 /orders/8842 /invoices/2291 muro de acceso
5 URL alcanzables desde una sola semilla

Sin sesión la frontera termina en /login. Todo lo que hay más allá es indescubrible — no lento de alcanzar, indescubrible: esas URL no están en ningún sitemap y nada del sitio público enlaza a ellas.

Topología ilustrativa. Un Harvest real corre dentro del alcance que fijas — inclusiones, exclusiones y topes de ritmo — y respeta robots.txt.

tgt ▸ urls scored 1,980
05
segmentación

Rastrea lo que quieres, no todo.

Describe la intención y Writ puntúa cada URL según ella, siguiendo las que coinciden y saltando el resto. Pagas por las páginas que querías, no por todo el sitio. Elige un objetivo:

ext ▸ content extracted 2,400
06
renderizado y extracción

HTML, JS, PDF, imágenes: todo legible.

Writ enruta cada recurso por la vía más barata que funcione: HTTP directo para páginas estáticas, un navegador real para apps JS, doc-extract para PDF y archivos de oficina, OCR sin conexión para imágenes. Obtienes texto de cualquier modo.

Qué sabe leer un rastreo
HTML estático http directo descargado y leído nativamente - la vía rápida y barata
App renderizada en JS navegador un navegador real renderiza la página cuando el contenido solo existe tras ejecutar los scripts
Documentos PDF doc-extract leídos desde la capa de texto cuando existe; las páginas escaneadas pasan a OCR. Los archivos de oficina (DOCX, XLSX, PPTX) y JSON/CSV también se extraen nativamente
Imágenes y escaneos ocr OCR sin conexión - ningún servicio OCR de terceros - con una puntuación de confianza informada por página
Tras un inicio de sesión persona requiere una Persona: el rastreador reproduce su sesión guardada, y nunca inicia sesión por sí mismo
Todo lo demás informado una página que Writ no sabe leer vuelve etiquetada con su tipo y motivo - nunca descartada en silencio
Auto por defecto: cada URL se sondea y se enruta por la vía más barata que funcione. Las páginas de navegador y OCR se miden a 2× la unidad de página base.
out ▸ shaped 2,900
07
salida

Markdown, JSON o un conjunto de datos consultable.

Toma Markdown limpio, o dale a Writ un esquema y obtén JSON estructurado por página. Cada rastreo aterriza en un conjunto de datos que puedes consultar, sin re-rastrear para responder la siguiente pregunta.

bill ▸ metered per page 8,900
08
precios

Un veinteavo de céntimo por página. Gratis para empezar.

Los crawls se ejecutan en la flota de Writ: una cuenta gratuita basta para empezar, sin tarjeta. Las páginas se facturan desde tu pool, y las vías de navegador y OCR pesan más porque cuestan más de ejecutar. Si autoalojas el open-core, tus propios agentes rastrean sin ningún cargo por nuestra parte. Arrastra tus páginas mensuales:

páginas / mes 50.000
est. $25.00/mes en cloud· autoalojado · tus agentes · $0 para nosotros
el plan más pequeño que lo cubre
Freeconcurrencia 3 · hasta 1000 páginas por rastreo$0
Starterconcurrencia 5 · hasta 10.000 páginas por rastreo$15
Proconcurrencia 10 · hasta 25.000 páginas por rastreo$49
Growthconcurrencia 25 · hasta 50.000 páginas por rastreo$199
Scaleconcurrencia 75 · hasta 50.000 páginas por rastreo$499
dev ▸ crawl kicked off 8,900
09
desarrolladores

Inicia un rastreo en una sola llamada.

Inicia un rastreo, consulta su estado, transmite resultados por REST, una herramienta MCP o el SDK. Elige una:

Un rastreo de sitio completo es un solo POST con una clave. Writ reparte la semilla por la flota y entrega el resultado como un dataset invocable.

# No account, no key — a few same-domain pages, one level deep.
curl -X POST https://api.usewrit.app/v1/keyless/crawl \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "limit": 3}'

# With a key: the whole site, as a job you poll.
curl -X POST https://api.usewrit.app/api/crawl \
  -H "Authorization: Bearer $WRIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "max_depth": 3, "page_budget": 500}'

curl https://api.usewrit.app/api/crawl/8125 -H "Authorization: Bearer $WRIT_API_KEY"

Sin cuenta para probarlo: el nivel sin clave rastrea unas pocas páginas del mismo dominio, un nivel de profundidad, con una asignación diaria. El alcance completo, los logins y un dataset invocable necesitan clave.