CDX API: как получить все страницы сайта из архива

Коротко

  1. CDX — служебный интерфейс веб-архива: отдаёт список сохранённых адресов с датами, типами и кодами ответа.
  2. Список — это план загрузки. Пока его нет, вы не знаете ни объёма работы, ни того, чего в архиве не хватает.
  3. collapse=urlkey убирает дубли: одна строка на адрес вместо всех снимков.
  4. filter=statuscode:200 отбрасывает редиректы и ошибки — обычно именно это и нужно.
  5. Большие домены выгружаются постранично; разбор добавляйте после проверки, а не на веру.

Прежде чем качать сайт из архива, нужно узнать, что там вообще есть. CDX-индекс отвечает на этот вопрос одной таблицей: адрес, дата снимка, тип файла, код ответа. Дальше эта же таблица становится списком загрузки и отчётом о потерях.

1. Что такое CDX и зачем он нужен

Internet Archive хранит ответы сервера. CDX — способ спросить: «какие адреса этого домена вы сохранили и когда». Ответ приходит плоской таблицей, которую можно считать скриптом.

Три задачи, которые решает выгрузка:

2. Параметры запроса

Базовый адрес сервиса:

https://web.archive.org/cdx/search/cdx?url=example.com
ПараметрЧто делаетКогда нужен
urlдомен или адрес, с которого начинается выборкавсегда
matchTypeexact, prefix, host, domaindomain — все поддомены
outputjson, csv, xml, текстjson для скриптов, csv для таблиц
flкакие поля вернуть: timestamp,original,mimetype,statuscodeменьше данных — быстрее ответ
filterфильтр по полю: statuscode:200, !mimetype:image/jpegотсечь мусор сразу
collapseсвернуть по полю, чаще urlkeyодна строка на адрес
from, toграницы периода в формате 20240101нужен конкретный год
limitограничение числа строкпробный запрос
page, pageSizeпостраничная выдачакрупные домены
showResumeKey, resumeKeyпродолжение выдачи с места обрывадлинные выгрузки

3. Готовые запросы под задачу

Все сохранённые HTML-страницы, без дублей, только успешные:

https://web.archive.org/cdx/search/cdx?url=example.com&matchType=domain&output=json&fl=timestamp,original,mimetype,statuscode&filter=statuscode:200&filter=mimetype:text/html&collapse=urlkey

Только изображения — чтобы понять, сколько картинок вообще уцелело:

https://web.archive.org/cdx/search/cdx?url=example.com&matchType=domain&output=csv&fl=timestamp,original,mimetype&filter=mimetype:image/.*&collapse=urlkey

Один раздел за конкретный год:

https://web.archive.org/cdx/search/cdx?url=example.com/blog/&matchType=prefix&from=2023&to=2023&output=json&collapse=urlkey&fl=timestamp,original

Проверка одного адреса — сохраняли ли его вообще:

https://web.archive.org/cdx/search/cdx?url=example.com/about/&output=json&fl=timestamp,statuscode&limit=5

Не писать скрипт ради списка

Site Restorer сам запрашивает CDX, скачивает по списку и показывает, что вернулось, а что потеряно.

Скачать

4. Как читать ответ

С output=json приходит массив массивов. Первая строка — имена полей, дальше данные:

[
 ["timestamp","original","mimetype","statuscode"],
 ["20240101120000","https://example.com/","text/html","200"],
 ["20240101120005","https://example.com/about/","text/html","200"]
]

Что важно в полях:

Один адрес с collapse=urlkey даёт строку не обязательно с самой свежей датой. Если нужен последний снимок, снимайте collapse и сортируйте сами.

5. Большие домены и пагинация

Когда адресов тысячи, один ответ либо обрывается, либо идёт слишком долго. Тогда выгрузку разбивают:

  1. по периодам — from и to по годам или месяцам;
  2. по разделам — matchType=prefix и адрес каталога;
  3. постранично — page и pageSize;
  4. с продолжением — showResumeKey, затем передача resumeKey в следующий запрос.

Ответы архива не стоит забирать в цикле без пауз: сервис общий, и грубая выгрузка упирается в ограничения по частоте запросов. Признак — коды 429 и 503 вместо данных. Пауза и повтор решают это, а параллельные запросы в двадцать потоков — усугубляют.

6. Сохранить и использовать

Практичный минимум для выгрузки в CSV:

curl.exe -o cdx.csv "https://web.archive.org/cdx/search/cdx?url=example.com&matchType=domain&output=csv&fl=timestamp,original,mimetype,statuscode&filter=statuscode:200&collapse=urlkey"

Дальше по списку считается главное:

ПоказательКак считатьО чём говорит
Страницстрок с text/htmlобъём работы
Разделовуникальные первые два сегмента путиструктура сайта
Картинокстрок с image/что вернётся из медиа
Периодминимум и максимум timestampкакая версия сайта у нас есть

Этот же файл становится списком загрузки: адрес и метка из строки подставляются в запрос с id_.

7. Типичные ошибки

Частые вопросы

Можно ли получить список без программирования?

Да: те же параметры открываются в браузере, ответ показывается текстом или скачивается как CSV. С таблицей дальше можно работать в Excel, но при тысячах строк удобнее скрипт.

Почему в списке есть адреса с параметрами и мусором?

Краулер сохраняет всё, что встретил, включая ссылки с UTM-метками и пагинацию. Мусор отсекается фильтрами по mimetype, коду ответа и регулярным выражениям по адресу.

CDX отдаёт все снимки или один?

Все, если не указан collapse. С collapse=urlkey остаётся одна строка на адрес, и не обязательно самая свежая.

Что делать, если ответ обрывается?

Разбить выборку: по годам, по разделам или постранично. Для длинных выгрузок предусмотрены showResumeKey и resumeKey — продолжение с места обрыва.

Список из CDX — это точный список страниц сайта?

Нет. Это список того, что сохранил архив. Реальный сайт мог содержать больше страниц, особенно закрытых от обхода или редко посещаемых.

Смежные разборы

Не писать скрипт ради списка

Site Restorer сам запрашивает CDX, скачивает по списку и показывает, что вернулось, а что потеряно.

Скачать для Windows

Материал описывает публичные возможности Internet Archive и практику восстановления сайтов. Обновлено 10 ноября 2026.