Internet Archive vs Common Crawl vs web archive

Lo que almacenan Internet Archive y Common Crawl, cuánto cuesta una consulta y cuándo la recopilación en vivo de Bright Data es la mejor opción.
27 min de lectura
Internet Archive vs Common Crawl vs Web archive

Consultamos el índice CC-MAIN-2026-30 de Common Crawl para theguardian.com y obtuvimos 185 registros. Ninguno es un artículo. Cada registro es el propio robots.txt del sitio o una redirección hacia él, y ese archivo prohíbe el acceso a CCBot. La verificación de permisos es lo único que el rastreo conservó.

La Wayback Machine de Internet Archive y Common Crawl almacenan copias de páginas que ya no existen, y responden preguntas distintas. La Wayback Machine reproduce una URL concreta tal como se veía en una fecha elegida. Common Crawl te entrega miles de millones de páginas como texto masivo, sin reproducción. Un archivo web es la categoría a la que pertenecen ambos, no un tercer producto. Esta misma categoría incluye archivos web nacionales, servicios de suscripción como Archive-It, sitios de captura bajo demanda como archive.today y archivos WARC que creas tú mismo. Los dos servicios responden preguntas sobre el pasado; ninguno recopila un conjunto definido de sitios de forma continua.

TL;DR

  • CCBot no ejecuta JavaScript. Una página renderizada en el cliente llega como su esqueleto.
  • Consulta primero Common Crawl para trabajo masivo y Wayback para los que falten; invierte el orden para una lista de URLs conocidas.
  • Un digest CDX es el SHA-1 del payload, así que usa collapse=digest y collapse=timestamp para comparar en el índice antes de descargar. Common Crawl ignora collapse.
  • Diseña un cliente Wayback CDX a 24 solicitudes por minuto, el 80% del pool compartido de 30/min.
  • Ninguno publica una garantía de cobertura ni un SLA, y ningún servicio recopila un conjunto definido de sitios de forma continua. Mide primero tus dominios.

What the Internet Archive and Common Crawl each store

Una captura de Wayback es accesible como web.archive.org/web/<timestamp>/<url>, y la misma URL puede tener miles de capturas a lo largo de tres décadas. La reproducción predeterminada reescribe los enlaces e inyecta una barra de herramientas para que la página se renderice en un navegador.

Cada rastreo mensual de Common Crawl es un conjunto de archivos WARC más archivos derivados de texto y metadatos, publicados en un bucket público. Un índice indica en qué rango de bytes de qué archivo se encuentra una URL determinada.

Wayback Machine Common Crawl
Almacena capturas de URLs individuales a lo largo del tiempo rastreos mensuales completos, WARC más texto derivado
Responde una URL en muchas fechas muchas URLs de una fecha de rastreo
Reproducción sí, con enlaces reescritos y barra de herramientas inyectada ninguna
Búsqueda de texto completo ninguna ninguna, pero los archivos WET te entregan el texto para indexar
Exportación masiva ninguna, acceso por API el rastreo completo, gratis en un bucket público
Límite de velocidad 30 solicitudes por minuto, CDX y timemap compartidos, no publicado por Internet Archive ninguno publicado, “con límites de velocidad estrictos”
Garantía de cobertura ninguna ninguna, y muestreada por rango de dominio

CC-MAIN-2026-30 se anuncia con 2.140 millones de páginas y 364 TiB de contenido sin comprimir en 40,5 millones de hosts, rastreado en 18 días. Common Crawl sitúa el corpus total en más de 300.000 millones de páginas y describe la tasa en 3 a 5 mil millones de páginas nuevas al mes, aunque los últimos 18 rastreos publicados han estado por debajo de los 3.000 millones. Dimensiona un trabajo a partir de un único rastreo.

Las FAQ de Common Crawl indican: «Actualmente, JavaScript no se ejecuta y no se usan cookies». CCBot almacena la respuesta HTTP sin procesar, por lo que una página renderizada en el cliente llega como su esqueleto. Si las páginas que te interesan generan su contenido en el navegador, verifica una captura antes de planificar con Common Crawl.

Cada rastreo incluye cinco conjuntos de archivos paralelos de 100.000 archivos cada uno. WARC lleva la respuesta completa, WAT lleva metadatos y enlaces extraídos, WET lleva solo texto plano, y otros dos llevan las capturas de robots.txt y las respuestas que no son 200. Un trabajo de grafos de enlaces que lea WARC mueve muchos más bytes de los necesarios.

Common Crawl no promete volver a visitar ninguna página, por lo que muchas URLs en muchas fechas es una pregunta que ninguno de los dos servicios responde.

Matriz dos por dos. Eje vertical de una fecha a muchas fechas, eje horizontal de una URL a muchas URLs. La Wayback Machine ocupa una URL en muchas fechas; Common Crawl muchas URLs de una fecha de rastreo; una URL en una fecha es trivial para cualquiera de los dos. El cuadrante restante, muchas URLs en muchas fechas, no lo cubre ninguno.

Las FAQ de Common Crawl establecen la política de muestreo: el conjunto de datos «es una muestra de la web, y generalmente no archivamos ningún sitio web completo, sino un subconjunto seleccionado aleatoriamente». El mecanismo está documentado en una charla de ingeniería de Common Crawl y no en las FAQ: los rangos de centralidad armónica a nivel de dominio definen un presupuesto de cuántas URLs recibe cada dominio, de modo que los dominios bien enlazados reciben un presupuesto mayor y los de bajo rango pueden no recibir ninguno.

La Wayback Machine no tiene búsqueda de texto completo del contenido archivado. Su propia página de ayuda indica que Internet Archive espera «implementar un motor de búsqueda de texto completo en algún momento futuro». La búsqueda del sitio coincide con metadatos del sitio, no con el texto dentro de las páginas archivadas. Common Crawl te da el texto pero sin reproducción, por lo que una página reconstruida a partir de un archivo WET no se verá como el original.

What a domain lookup returns

Ejecutamos la misma consulta en cinco dominios, con coincidencia de prefijo.

Dominio consultado Registros en el índice Registros de robots.txt Páginas de contenido
nytimes.com/* 1 1 0
cnn.com/* 1 1 0
bbc.com/* 2 2 0
theguardian.com/* 185 185 0
github.blog/* 4.700 49 4.651

Los 185 registros de The Guardian se resuelven en solo dos URLs, el robots.txt y su redirección http, vueltos a obtener durante el rastreo. Un script que cuente registros del índice consideraría los cinco como cubiertos y estaría equivocado en cuatro. De los 4.651 registros de contenido de github.blog, 3.647 respondieron con 200.

El tipo de coincidencia cambia el resultado. La canonicalización SURT integra www. en el host base, pero una coincidencia de prefijo domain/* no alcanza ningún otro subdominio: cnn.com/* devolvió 1 registro mientras que *.cnn.com devolvió 11, y nytimes.com/* devolvió 1 frente a 2 para *.nytimes.com. Cada registro era una obtención de robots.txt en ambos casos, pero los recuentos son una propiedad de la consulta tanto como del rastreo. Indica siempre tu tipo de coincidencia cuando reportes un número como este.

La misma consulta data el bloqueo aproximadamente si la ejecutas con IDs de rastreos anteriores. La consulta tiene un punto ciego: ve lo que un editor escribió en robots.txt, no un bloqueo aplicado en el borde de la red ni una exclusión posterior, así que se lee como un mínimo más que como un recuento. Nuestra guía de robots.txt para scraping explica cómo se resuelven los grupos de agentes.

El tamaño por rastreo también ha ido cayendo. Las estadísticas de tamaño de rastreo publicadas por Common Crawl muestran que el recuento mensual de páginas bajó de 3.031 millones en CC-MAIN-2025-05 a 2.149 millones en CC-MAIN-2026-30, una caída del 29,1%. En los 29 rastreos de CC-MAIN-2024-10 a CC-MAIN-2026-30, los 10 rastreos de 2024 promedian 2.690 millones de páginas, los 12 de 2025 promedian 2.530 millones, y los 7 publicados en 2026 hasta julio promedian 2.150 millones.

Gráfico de líneas de páginas de Common Crawl por rastreo que baja de 3.100 a unos 2.100 millones, con medias anuales discontinuas en 2.690M para 2024, 2.530M para 2025 y 2.150M para los siete rastreos de 2026 hasta julio.

Nada aquí identifica una causa: el tamaño del rastreo varía con la infraestructura, el presupuesto y la planificación interna de Common Crawl tanto como con lo que hacen los editores. La caída sí significa que un corpus dimensionado a partir de un rastreo de 2024 sobreestima uno de 2026 en aproximadamente un cuarto, y que los recuentos por rastreo no se suman. Los rastreos consecutivos vuelven a obtener gran parte del mismo frontier, por lo que sumarlos sin deduplicar por urlkey y digest infla de nuevo la estimación.

Check your own domains

El script cuenta registros de contenido frente a obtenciones de robots.txt para el rastreo publicado más reciente, usando la misma coincidencia de prefijo domain/* que la tabla. Recorre el índice página a página, rechaza una página cuya truncación divida un registro en lugar de contar parte de uno, y continúa cuando un dominio nunca responde limpiamente. Los dos dominios siguientes tardan unos 70 segundos, casi todo en las pausas deliberadas:

import http.client, json, time, urllib.error, urllib.parse, urllib.request

DOMAINS = ["theguardian.com", "github.blog"]
# Use your own contact address. One shared UA string arriving from many callers
# is the string an operator blocks.
UA = {"User-Agent": "coverage-check/1.0 ([email protected])"}

def latest_crawl():
    """Common Crawl ships roughly monthly. Hardcoding an ID measures a stale crawl
    and returns a number that looks current."""
    url = "https://index.commoncrawl.org/collinfo.json"
    info = urllib.request.urlopen(urllib.request.Request(url, headers=UA), timeout=60).read()
    return json.loads(info)[0]["id"]        # newest first

CRAWL = latest_crawl()
INDEX = f"https://index.commoncrawl.org/{CRAWL}-index"
print(f"crawl: {CRAWL}")

def fetch(params, tries=3):
    url = f"{INDEX}?{urllib.parse.urlencode(params)}"
    for attempt in range(tries):
        wait = None
        try:
            return urllib.request.urlopen(
                urllib.request.Request(url, headers=UA), timeout=120).read()
        except urllib.error.HTTPError as e:
            if e.code == 404:
                return None               # this crawl never captured the domain
            if e.code not in (429, 500, 502, 503, 504):
                raise
            wait = e.headers.get("Retry-After")   # the server's own number beats ours
        except (urllib.error.URLError, http.client.IncompleteRead, TimeoutError):
            pass                          # dropped connection
        time.sleep(int(wait) if wait and wait.isdigit() else 5 * 2 ** attempt)
    return b""

def coverage(domain):
    """(robots, content) for one domain, or None if the index never answered cleanly."""
    query = {"url": f"{domain}/*", "output": "json", "pageSize": 1}
    head = fetch({**query, "showNumPages": "true"})
    if head is None:
        return 0, 0
    if not head:
        return None
    robots = content = 0
    for page in range(json.loads(head)["pages"]):
        body = fetch({**query, "page": page})
        if not body:
            return None
        # CDXJ is one JSON object per line. Use split, not splitlines(): splitlines()
        # breaks on several characters that are not newlines, which cuts records in half.
        for line in body.split(b"\n"):
            if not line.strip():
                continue
            try:
                record = json.loads(line)
            except json.JSONDecodeError:
                return None               # the page arrived incomplete
            if record.get("url", "").rstrip("/").endswith("/robots.txt"):
                robots += 1
            else:
                content += 1
        time.sleep(5)
    return robots, content

for domain in DOMAINS:
    result = coverage(domain)
    if result is None:
        print(f"{domain}: no clean response")
    else:
        robots, content = result
        print(f"{domain}: {robots + content} records, {robots} robots.txt, {content} content")
    time.sleep(20)

Imprime:

crawl: CC-MAIN-2026-30
theguardian.com: 185 records, 185 robots.txt, 0 content
github.blog: 4700 records, 49 robots.txt, 4651 content

Con CC-MAIN-2026-30, las dos líneas de dominio reproducen la tabla anterior. Un rastreo más reciente devuelve recuentos distintos; lo que debería mantenerse es la forma: solo robots para theguardian.com y con contenido para github.blog. Los registros sin páginas de contenido significan que el rastreo no conserva contenido de página de ese dominio.

How to query each source, and what the round trip costs

Ambos servicios exponen un índice CDX, pero los formatos de respuesta difieren: el servidor CDX de Wayback devuelve un array JSON de arrays, mientras que output=json de Common Crawl devuelve CDXJ, un objeto JSON por línea.

El servidor CDX de Wayback devuelve una fila por captura, y el filtrado en el servidor mantiene la respuesta lo suficientemente pequeña para paginarla:

curl "https://web.archive.org/cdx/search/cdx?url=example.com&output=json&from=2026&limit=3&fl=timestamp,original,statuscode"

Devuelve:

[["timestamp","original","statuscode"],
["20260101000936","http://www.example.com/","200"],
["20260101002937","https://example.com/","200"],
["20260101004445","https://example.com/","200"]]

Para analizar una página archivada en lugar de renderizarla, solicita la captura sin procesar. Añadir id_ después del timestamp devuelve los bytes originales, sin barra de herramientas y sin enlaces reescritos:

curl -sL "https://web.archive.org/web/2026id_/https://example.com/" -o raw.html
curl -sL "https://web.archive.org/web/2026/https://example.com/"    -o rewritten.html

La copia reescrita lleva referencias inyectadas a web.archive.org, lo que puede romper selectores anclados en la estructura del DOM.

Más allá del tipo de coincidencia, dos campos en una fila CDX y un parámetro de consulta determinan qué coincide, si puedes detectar cambios y cuánto cuesta.

urlkey es la forma SURT de la URL. https://github.blog/ se indexa como blog,github)/: host invertido, luego ruta. Las consultas de prefijo y rango operan sobre esa clave en lugar de la URL que escribiste, por lo que el manejo de www. y el orden de los parámetros de consulta determinan si una consulta coincide con algo.

digest es el SHA-1 del payload, codificado en base32, y es el valor que el registro WARC lleva como WARC-Payload-Digest. Un digest hexadecimal no coincidirá. La detección de cambios es por tanto una operación de índice: dos filas que comparten un digest tienen los mismos bytes de payload.

collapse convierte eso en la consulta que realmente necesitas. Pedir al servidor CDX de Wayback todas las capturas de example.com en el año 2024 devuelve 130.115 filas. La misma consulta con collapse=timestamp:8 devuelve 366, una por día: los timestamps son YYYYMMDDhhmmss, por lo que truncar a ocho dígitos colapsa por fecha. Con collapse=digest devuelve 17.448, uno por cambio entre capturas adyacentes. El índice de Common Crawl acepta el parámetro y lo ignora, devolviendo las mismas filas en cualquier caso.

La paginación mediante page y pageSize cuenta bloques del índice, no filas de resultados, y el tamaño del bloque varía: dos bloques adyacentes en una consulta devolvieron 2.032 y 4.726 registros. Consultar el servidor CDX de Wayback para bbc.com con matchType=domain y pageSize=1 reportó 28.257 páginas.

Una página puede volver vacía simplemente porque tus filtros no coincidieron con nada en esos bloques, lo que no significa que el conjunto de resultados haya terminado. El pageSize predeterminado es 1, y la documentación no indica ningún máximo.

El índice de Common Crawl pagina de la misma manera, con tres diferencias: showNumPages devuelve JSON en lugar de un número simple, el pageSize predeterminado es 5 en lugar de 1, y sus bloques tienen un tamaño diferente. Dimensiona un bucle desde showNumPages en lugar de asumir un tamaño de bloque, y solicita el recuento de páginas con el pageSize que vayas a usar, porque el recuento cambia con él.

Hay dos formas de iterar. La predeterminada es el modo límite, donde limit y una clave de reanudación recorren el conjunto de resultados; el modo paginado usa page y pageSize en su lugar. El modo paginado existe para que el recuento de páginas sea conocido de antemano y el trabajo se distribuya entre trabajadores. El modo límite suele hacer menos solicitudes en total, pero en una URL raramente capturada en un amplio rango de fechas puede escanear lo suficiente como para agotar el tiempo de espera.

Common Crawl invierte el paso de obtención, y la ventaja es que obtener una página cuesta una sola solicitud de rango en lugar de descargar un archivo. El índice te da un nombre de archivo, un desplazamiento de bytes y una longitud, por lo que una solicitud HTTP de rango devuelve un registro. Como CDXJ pone un objeto por línea, el código siguiente lee una sola línea en lugar de analizar todo el cuerpo:

import gzip, json, urllib.error, urllib.parse, urllib.request

url = "https://example.com/"
crawl = "CC-MAIN-2026-30"
q = urllib.parse.quote(url, safe="")

# Common Crawl asks API clients for a properly formed UserAgent. Use your own.
ua = {"User-Agent": "coverage-check/1.0 ([email protected])"}

# Step 1: ask the index which WARC file and byte range holds this page.
index = f"https://index.commoncrawl.org/{crawl}-index?url={q}&output=json&limit=1"
try:
    req = urllib.request.Request(index, headers=ua)
    rec = json.loads(urllib.request.urlopen(req, timeout=60).read().split(b"\n")[0])
except urllib.error.HTTPError as e:
    if e.code != 404:
        # 502, 503 and 504 all mean try again later, not "not captured".
        # Treating them as a miss under-reports coverage.
        raise
    # A URL this crawl never captured returns 404. That is the normal case for a
    # blocked domain, not an error in your code.
    raise SystemExit(f"{url} is not in {crawl}")

# Step 2: fetch only those bytes.
offset, length = int(rec["offset"]), int(rec["length"])
warc = "https://data.commoncrawl.org/" + rec["filename"]
req = urllib.request.Request(warc, headers={**ua, "Range": f"bytes={offset}-{offset + length - 1}"})
record = gzip.decompress(urllib.request.urlopen(req, timeout=60).read())

print(record.decode("utf-8", "replace")[:400])

Devuelve un registro WARC comprimido con gzip que contiene las cabeceras de respuesta y el HTML de la página. En los 29 registros de contenido que muestreamos, el tamaño comprimido fue de 7 a 45 KiB, por lo que la solicitud de rango mueve kilobytes de un archivo de unos 900 MiB. El mismo proceso funciona con cualquier rastreo que liste el servidor de índices.

Para trabajo a escala de corpus, el URL Index de Common Crawl distribuye el mismo índice en formato Parquet con columnas adicionales, publicado en s3://commoncrawl/cc-index/table/cc-main/warc/ y consultable con DuckDB localmente o Athena en AWS. Common Crawl sitúa el índice columnar en aproximadamente 300 GB por rastreo mensual y un análisis completo de Athena en unos $1,50 a septiembre de 2025, por lo que la mayoría de las consultas filtradas cuestan menos. El acceso a los datos es gratuito a través del programa AWS Open Data, y data.commoncrawl.org no requiere cuenta de AWS, aunque el egreso de tu propio proveedor en la nube sigue siendo tu cargo.

Rate limits and quotas you will hit

Las FAQ de Common Crawl indican que el endpoint CDX «se abusa con frecuencia y por lo tanto tiene límites de velocidad estrictos». Un HTTP 503 significa que debes reducir la velocidad, y una IP bloqueada temporalmente debe esperar 24 horas. La guía también pide que duermas entre llamadas, evites múltiples hilos desde una IP, evites redes de proxies y envíes un User-Agent correctamente formado, que sus FAQ vinculan al RFC 9110. La cláusula del proxy es la que merece más atención. El bloqueo de las FAQ y su guía de hilos están ambos dirigidos a la IP, por lo que distribuir un trabajo en más direcciones elude el límite en lugar de respetarlo, y la escalada es un bloqueo de la dirección en lugar de más 503s.

Internet Archive publica cuotas para Save Page Now y prácticamente nada para las APIs de lectura. La especificación de Save Page Now 2 da estos límites:

Límite Autenticado Anónimo
Capturas por minuto 7 3
Capturas por día 30.000 200
Bytes archivados por día 5 GB 2 GB
Capturas de la misma URL por día 5 5

La especificación no nombra ningún nivel de pago por encima de estos números y dirige a los usuarios más intensivos a contactar con Internet Archive por correo electrónico. La especificación da la cifra anónima como 2 GB y también como 500 MB, y su registro de cambios redujo la cifra autenticada a 4 GiB mientras la tabla sigue indicando 5 GB.

Para las APIs de lectura, las cifras provienen de fuera de Internet Archive. El mantenedor del cliente Python wayback documentó una conversación con el personal de Internet Archive y codificó el resultado como los valores predeterminados de la biblioteca. El documento no es una publicación de Internet Archive.

Los endpoints /cdx/search/cdx y /web/timemap/ son ahora un único servicio en los mismos servidores, diferenciándose solo en cómo leen el parámetro output, y comparten un único pool de límite de velocidad. Ese pool es de 30 solicitudes por minuto entre ambos. El documento no indica si el contador está vinculado a una dirección o a una cuenta, por lo que un trabajo distribuido entre trabajadores no puede asumir que el presupuesto se multiplica. El endpoint de memento sirve la reproducción y utiliza un pool separado.

La biblioteca codifica esos límites como sus valores predeterminados, 0,8 * 30 / 60 para CDX y 0,8 * 600 / 60 para reproducción, tras pedir el personal de Internet Archive que los clientes se sitúen al 80% de los límites máximos. Eso es 24 solicitudes por minuto en lugar de 30, y 480 para reproducción. Diseña con esos valores, no con los máximos.

El endpoint de disponibilidad en archive.org/wayback/available es un tercer servicio sin límite propio publicado, así que trátalo como limitado y no como gratuito. Respeta Retry-After cuando la respuesta lo incluya. Cuando no lo incluye, el cliente wayback pausa 60 segundos antes de volver a intentarlo.

Why archive.today captures cannot be verified on their own

archive.today renderiza páginas en un navegador en el momento de la captura e ignora robots.txt, por lo que contiene páginas que la Wayback Machine no tiene. Los flujos de trabajo de citación adoptaron archive.today por esa cobertura.

archive.today almacena HTML mutable en lugar de WARC, por lo que no hay digest del payload ni nada dentro de la captura con lo que verificarla. Se presentaron pruebas de que sus operadores alteraron páginas archivadas, y Wikipedia deprecó el sitio y lo añadió a la lista negra de spam. La declaración de cierre se basa en un fundamento diferente: afirma que el sitio incorporó código que convertía los navegadores de los visitantes en un ataque de denegación de servicio contra un blog, y trata las capturas alteradas como argumento adicional.

Verifica de nuevo todo lo que ya cites de archive.today con una segunda fuente. La misma página registra que el código seguía presente en junio de 2026 a una tasa de llamadas reducida, y recomienda a quienes necesiten el sitio que lo carguen detrás de un bloqueador de contenido.

National archives, formats, and replay tools

Arquivo.pt: el archivo web nacional portugués dispone de una API de búsqueda de texto completo que la Wayback Machine no tiene. Un GET a arquivo.pt/textsearch devuelve JSON con un linkToExtractedText por resultado, por lo que se omite completamente el análisis de HTML. La API es gratuita y no requiere clave, y el límite documentado es de 250 solicitudes por 60 segundos desde una IP, compartido entre búsqueda de texto completo y búsqueda de URL sin presupuesto separado. Superar ese límite está documentado como motivo de bloqueo permanente, mientras que el bloqueo de Common Crawl es temporal. La cobertura está centrada en lo portugués, y la latencia es irregular, de menos de 3 segundos a 18 en tres consultas de un solo resultado, así que establece el tiempo de espera del cliente en 30 segundos.

WARC y WACZ: WARC es el contenedor de archivo, estandarizado como ISO 28500:2017, que cubre WARC 1.1. No existe WARC 1.2. WACZ empaqueta registros WARC con un índice CDX para que un navegador pueda reproducirlos sin servidor. Hay un borrador 1.2.0, pero wacz/latest sigue sirviendo 1.1.1, así que implementa contra 1.1.1.

Browsertrix: cuando necesitas capturas que controlas tú, el crawler de Webrecorder produce archivos WACZ que se reproducen en un navegador a través de ReplayWeb.page sin servidor. Los planes alojados comienzan en $30 al mes para el plan de entrada, y el crawler es de código abierto si prefieres ejecutarlo tú mismo.

How to choose

Comienza por la forma de la pregunta: URLs específicas, texto en masa o una propiedad que ningún servicio ofrece.

Usa la Wayback Machine cuando la URL y la fecha son lo importante. Recuperar una página eliminada, demostrar lo que decía un sitio antes de una edición, seguir una página de producto a lo largo del tiempo o reconstruir un conjunto de documentación desaparecido. Ninguna otra opción de uso general iguala su profundidad temporal en URLs individuales, aunque un archivo nacional puede igualarlo dentro de su propio alcance.

Si el uso es probatorio, presupuesta más que la captura. Los tribunales estadounidenses han admitido capturas de Wayback, pero una impresión por sí sola rara vez es suficiente, porque las capturas no se autentican por sí mismas. Una declaración de Internet Archive es la vía que los tribunales han aceptado, y a las tarifas publicadas a principios de 2025 cuesta $250 por solicitud más $20 por cada URL, o $30 para URLs que contienen un archivo descargable como un PDF.

Usa Common Crawl cuando quieras muchas páginas y no te importe cuáles. Corpus lingüísticos, preentrenamiento de modelos, análisis de grafos de enlaces, investigación de seguridad en muchos hosts y cualquier medición donde sea aceptable una muestra sesgada por rango. La mayoría de los grandes corpus de preentrenamiento abiertos se basan en él, incluyendo C4, RefinedWeb, FineWeb y Dolma. Si quieres un corpus en lugar del rastreo bruto, vale la pena leer primero esos derivados y sus licencias, y nuestra revisión de fuentes de datos de entrenamiento para LLM es un punto de partida. No lo uses para garantizar cobertura de un sitio concreto, porque la política de muestreo hace la cobertura impredecible.

Un estudio de Sichang Steven He y colegas clasificó unos 100.000 sitios en Common Crawl y encontró que el 6,0% de ellos estaban dominados por texto generado con escasa intervención humana. Entre los sitios vistos por primera vez en la primera mitad de 2025, la proporción fue del 29,4%, frente al 2,1% entre los sitios vistos por primera vez a finales de 2022.

Lee el 6,0% y el 29,4% como subestimaciones probables. Los autores informan de una fuerte correlación negativa entre la precisión de su clasificador y la puntuación de referencia del modelo que generó un sitio, por lo que la proporción que el clasificador pasa por alto crece a medida que mejoran los generadores.

Usa un archivo nacional o propio cuando necesites una propiedad que ninguno de los dos servicios ofrece. Búsqueda de texto completo sobre contenido archivado, capturas que controlas de principio a fin, o páginas renderizadas en el cliente que se reproducen mal en otros lugares.

archive.today se excluye por un motivo diferente: una captura que puede cambiar después del hecho no puede sostenerse por sí sola como evidencia.

Para trabajo masivo en muchos hosts, consulta primero Common Crawl por amplitud y coste, luego recurre a la Wayback Machine para lo que el rastreo omitió. Para una lista de URLs conocidas, hazlo al revés: la mayoría de las búsquedas en Common Crawl no darán resultado, y cada búsqueda gasta una solicitud contra un índice cuya penalización documentada por uso excesivo es un bloqueo de 24 horas. Y cuando un dominio importa a tu trabajo a largo plazo, ejecuta tus propias capturas con un crawler que produzca WARC en paralelo, porque esa es una copia cuya disponibilidad controlas tú.

Ejecutar tu propio crawler conlleva costes de almacenamiento, infraestructura de reproducción y mantenimiento que ningún servicio público te cobra, así que hazlo tú mismo donde perder el acceso rompería algo, y apóyate en los archivos públicos o en colecciones compradas para el resto.

When you need collection instead of an archive

Ninguno de los dos servicios está diseñado para recopilar un conjunto definido de sitios según un calendario. Save Page Now sí recopila bajo demanda, y funciona a 7 capturas por minuto cuando estás autenticado y a 3 cuando no lo estás.

Los cuatro dominios de noticias que consultamos no tenían páginas de contenido en CC-MAIN-2026-30. Ninguno publica una garantía de cobertura, un SLA ni un compromiso de soporte contra el que puedas escalar.

Cuando necesitas sitios concretos recopilados según un calendario, con la cobertura que tú defines, eso es un producto de recopilación y no un archivo. El rastreo descubre lo que hay; la recopilación dirigida devuelve páginas conocidas bajo demanda. Nuestra guía de rastreo vs scraping desarrolla la diferencia.

Pagar por la recopilación no compra una exención del bloqueo. Los editores restringen los crawlers comerciales igual que los crawlers de archivo; un proveedor cambia quién asume el mantenimiento cuando un sitio cambia sus defensas.

Bright Data vende recopilación dirigida: la API Web Scraper a $1 por 1.000 registros, con los primeros 5.000 cada mes gratuitos, y conjuntos de datos listos para usar desde $0,0025 por registro con un mínimo de $250. Ambos cubren sitios compatibles de forma continua. Ninguno reemplaza la Wayback Machine, y la razón es un rango de fechas: los datos prerecopilados se remontan días o meses, no a 1996, por lo que una pregunta sobre lo que decía una página en 2014 sigue yendo al archivo.

Next steps

Ejecuta el script de cobertura en los dominios que te importan y luego comprueba los mismos dominios en el servidor CDX de Wayback para ver la densidad de capturas.

Los registros de contenido te dicen si el trabajo masivo es posible; la densidad de capturas te dice si el historial a nivel de URL es posible. Un recuento saludable es una lectura y no un compromiso: la política de muestreo no garantiza ningún mínimo, y los totales por rastreo han caído aproximadamente un cuarto desde 2024, así que vuelve a ejecutar la comprobación antes de depender de él.

Captura lo que importa ahora donde perder el acceso rompería algo, compra recopilación para el resto, guarda lo que captures en WARC para que sea portátil, y trata ambos archivos públicos como fuentes que consultas en lugar de almacenamiento del que dependes.

Frequently asked questions

¿Puedo usar Common Crawl comercialmente?

Las condiciones de uso lo permiten y ponen el riesgo en ti. Common Crawl limita su responsabilidad total a $100 y te exige que lo indemnice por reclamaciones derivadas del uso de contenido rastreado para desarrollar, entrenar o desplegar sistemas de IA. Common Crawl recomienda asesoramiento legal antes de cualquier uso comercial.

¿Se pueden descargar todos los datos de la Wayback Machine?

No de forma masiva. Internet Archive no publica ninguna exportación masiva del archivo web general, y el acceso se realiza a través de APIs con límites de velocidad. Para análisis a escala de investigación, Internet Archive ofrece ARCH, su plataforma de cómputo, que es solo bajo presupuesto y no tiene precios publicados.

¿A qué velocidad debo diseñar un cliente Wayback CDX?

Diseña para 24 solicitudes por minuto. El límite es de 30 por minuto, que Internet Archive no publica, compartido entre los endpoints CDX y timemap desde que se convirtieron en un único servicio, y el cliente wayback envía el 80% de ese límite como valor predeterminado. La reproducción es un pool separado de 600 por minuto, así que diseña para 480 allí.

¿Por qué una búsqueda de dominio en Common Crawl devuelve registros pero sin contenido?

Porque esos registros son obtenciones de robots.txt. CCBot solicita robots.txt de cada host que toca, y cuando un sitio lo prohíbe, esa solicitud y cualquier redirección hacia ella son todo lo que el rastreo retiene. Clasifica las URLs devueltas antes de concluir que un dominio está cubierto, e indica tu tipo de coincidencia, porque una consulta de prefijo y una de dominio pueden devolver recuentos diferentes.