Любая страница →
структурированные данные
Отправь URL — получи 80+ SEO-полей и сырой HTML одним JSON-объектом. Батчи на сотни тысяч страниц, вебхуки, обход защит — под капотом.
И HTML, и SEO-параметры. Сразу.
Каждый URL разбирается в объект result: 80+ извлечённых полей плюс полный исходный код страницы. Ничего не нужно парсить повторно.
🧬 Сырой HTML html_raw
Полный исходник страницы в каждом ответе. Хочешь свою экстракцию — данные уже у тебя, без повторного похода на сайт. Плюс content_hash для дедупликации.
HTTP и редиректы 14
status_code · final_url · redirect_chain · https_enforced · has_hsts · cache_control · server_header…
Security-заголовки 4
has_csp · has_x_frame_options · has_x_content_type_options · has_x_robots_noindex
On-page SEO 15
title · description · h1/h2/h3_count · canonical · canonical_matches_url · is_indexed · robots_raw · lang…
OG / Twitter 6
og_title · og_description · og_image · og_type · twitter_card · twitter_title
Структурированные данные 8
json_ld_raw · json_ld_types · has_product_schema · has_breadcrumb_schema · has_faq_schema · microdata_raw…
Картинки и ссылки 6
images_total · images_missing_alt · images_without_dimensions · internal/external_links_count · nofollow_count
Контент 5
word_count · text_to_html_ratio · has_tables · lists_count · has_noscript_fallback
URL-структура 7
url_length · path_depth · has_cyrillic_url · has_query_params · trailing_slash · page_type…
Пагинация 3
is_paginated · rel_next · rel_prev
Soft-404 / SPA-детект 3
is_soft_404 · soft_404_patterns · is_suspicious_spa — отлавливаем заглушки и пустые SPA-шаблоны
Скорость 1+
ttfb_ms в basic · LCP / CLS и web-vitals в deep-режиме (браузерный рендеринг)
API в три вызова
Аутентификация — заголовок x-api-key. Кликни по эндпоинту для деталей.
POST/api/fetchбатч-сбор: от 1 URL до сотен тысяч
{ urls: [...], mode, webhook_url, metadata } → мгновенно отвечает 202 { batch_id, accepted, rejected } и ставит задачи в очередь. Результаты прилетают батч-вебхуками на твой webhook_url (до 100 страниц на POST, с ретраями — ничего не теряется) или забираются поллингом. metadata возвращается как есть — удобно прокидывать свои ID.POST/api/fetch-syncмгновенный ответ, без хранения
busy / unreachable / server_error. Идеален для попробовать и для точечных проверок.GET/api/jobs/:batch_idвыборка результатов с курсором
?status=done&since_id=<cursor>&limit=1000 → страницы с полным result и next_cursor.GET/api/jobs/:batch_id/statsпрогресс батча одним запросом
{ pending, processing, done, failed, empty, redirect, skipped, total } — дешёвый счётчик для прогресс-баров.POST/api/searchпоиск страниц-конкурентов
POST/api/reconразведка домена
# 1. Попробовать мгновенно — sync-режим (без хранения) curl -X POST https://api.catalogos.ru/api/fetch-sync \ -H "x-api-key: $KEY" -H "Content-Type: application/json" \ -d '{"urls": ["https://example-shop.ru/catalog/robot-x1"]}' # → { "stored": false, "results": [ { "status": "done", "ttfb_ms": 212, # "result": { ...80+ полей..., "html_raw": "<!DOCTYPE html>..." } } ] } # 2. Боевой батч — async с вебхуком curl -X POST https://api.catalogos.ru/api/fetch \ -H "x-api-key: $KEY" -H "Content-Type: application/json" \ -d '{"urls": [...165000 URL...], "mode": "basic", "webhook_url": "https://you.app/hooks/pages", "metadata": {"project": "robots"}}' # → 202 { "batch_id": "5f1c…", "accepted": 164998, "rejected": [...] }
Просто API. Сложное — наша забота
Вы отправляете ссылки и получаете данные. Скорости, обходы защит и повторные попытки происходят сами — без настройки с вашей стороны.
Бережно к сайтам
Скорость сбора подстраивается под каждый сайт автоматически: быстро там, где можно, аккуратно там, где нельзя. Источники не банят наши запросы — данные приходят стабильно.
Масштаб без очередей
Тысячи сайтов собираются параллельно: медленный или капризный домен не тормозит остальные — ваш батч не стоит в очереди за чужим.
Защищённые сайты — тоже данные
Если страница собирается JavaScript'ом или закрыта анти-бот защитой, она автоматически уходит в реальный браузер. Для вас это тот же API и тот же формат ответа.
Ни одна страница не теряется
Результаты доставляются с повторными попытками, зависшие задачи перезапускаются сами, а всё недоставленное можно добрать запросом в любой момент.
Честные статусы
Не просто «ошибка»: страница-заглушка, редирект, пустой шаблон, бинарный файл — каждый URL получает понятный статус, с которым можно работать дальше.
Срочно или дёшево
Нужен ответ прямо сейчас — синхронный режим. Нужны сотни тысяч страниц «к утру» — отложенный батч, он кратно дешевле.
Три способа забрать страницу
Мгновенный
- до 20 URL, ответ в том же запросе
- без хранения на нашей стороне
- повторные попытки при сбое
- для проверок, интеграций, «попробовать»
Батч-краул
- сотни тысяч URL одним батчем
- 80+ полей + html_raw на страницу
- вебхуки или поллинг с курсором
- авто-fallback в браузер при анти-боте
Браузерный
- полный рендеринг страницы
- web-vitals: LCP, CLS
- JS-сайты и SPA
- для глубокого аудита производительности
Платите за класс страницы
Открытый сайт стоит копейки, защищённый JS-сайт — дороже по ресурсам. Честная кредитная модель: страница списывает кредиты по своему классу, цена кредита падает с объёмом.
Открытый HTML
статическая страница, отдаётся сразу
JS-рендеринг
контент собирается браузером
Спец-прокси
нужны выделенные / гео-адреса
JS + защита
анти-бот + браузер вместе
Списываем кредиты только за успешно собранные страницы. Отложенный батч «к утру» — дешевле.
Не уверены, какой у вас класс?
Вставьте ссылку в поле вверху или напишите нам — прогоним пробу, определим класс и вернём точную цену за 1000 страниц под вашу задачу.
Поисковая выдача как данные
Не только страницы сайтов — отдаём структурированную выдачу Яндекса: органика, рекламные блоки и подсказки одним JSON. Дёшево за счёт отложенных запросов.
Реклама конкурентов
Кто и с какими текстами рекламируется по запросу — рекламные блоки выдачи с позицией, заголовком и ссылкой.
Позиции в органике
Мониторинг позиций сайта и конкурентов по ключам: title, сниппет, быстрые ссылки, миниатюра.
Поисковые подсказки
Тысячи живых подсказок по маске — готовое семантическое ядро из реального спроса.