API для разработчиков
Поиск по Рунету для ваших продуктов
Подключайте выдачу SearchGo к сайтам, приложениям, ботам и внутренним сервисам. API уже работает бесплатно, без регистрации и без ключа доступа.
/api/v1/search/Бесплатный доступ60 запросов в минуту с одного IPБыстрый старт
Передайте запрос в параметре q. Необязательный параметр page переключает страницы выдачи.
https://searchgo.ru/api/v1/search/?q=разработка%20сайтов&page=1Параметры запроса
| Параметр | Тип | Обязателен | Описание |
|---|---|---|---|
q | string | да | Поисковая фраза или домен, от 1 до 200 символов. |
page | integer | нет | Номер страницы, начиная с 1. По умолчанию — 1. |
Примеры интеграции
cURL
curl "https://searchgo.ru/api/v1/search/?q=земельные%20торги"
JavaScript
const response = await fetch(
'https://searchgo.ru/api/v1/search/?q=' +
encodeURIComponent('земельные торги')
);
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();
console.log(result.data);PHP
$url = 'https://searchgo.ru/api/v1/search/?' . http_build_query(['q' => 'земельные торги']); $json = file_get_contents($url); $result = json_decode($json, true, flags: JSON_THROW_ON_ERROR);
Формат ответа
Массив data содержит сайты. В meta находятся параметры пагинации и идентификатор запроса, а в links — готовые ссылки перехода.
{
"data": [
{
"title": "Название сайта",
"url": "https://example.ru/",
"host": "example.ru",
"description": "Краткое описание сайта",
"category": {"slug": "business", "name": "Бизнес"},
"sg_rank": 72.4,
"indexed_at": "2026-09-10T08:30:00+00:00",
"favicon_url": "https://searchgo.ru/media/site/?...",
"searchgo_url": "https://searchgo.ru/example.ru/"
}
],
"meta": {
"api_version": "v1",
"query": "земельные торги",
"page": 1,
"per_page": 20,
"total": 25,
"total_pages": 2,
"returned": 20,
"request_id": "c0a8012e0f1d4b20"
},
"links": {"self": "...", "next": "...", "previous": null}
}sg_rankОценка качества сайта SearchGo от 0 до 100. Если оценка ещё не рассчитана, вернётся null.
indexed_atДата последнего сохранённого обхода в ISO 8601, часовой пояс UTC.
categoryРубрика сайта. Может быть null, если рубрика ещё не определена.
favicon_urlСсылка на иконку сайта или null, если иконка не сохранена.
Лимиты и служебные заголовки
В бесплатном режиме разрешено 60 запросов за фиксированное минутное окно с одного IP-адреса. Заголовки ответа помогают приложению следить за лимитом.
| Заголовок | Значение |
|---|---|
X-RateLimit-Limit | Максимум запросов в текущем окне. |
X-RateLimit-Remaining | Сколько запросов осталось. |
X-RateLimit-Reset | Unix-время сброса лимита. |
X-Request-ID | Идентификатор запроса для диагностики. |
Retry-After | Через сколько секунд повторить запрос после ошибки 429. |
Ошибки
Ошибки всегда возвращаются в JSON. Используйте HTTP-статус и поле error.code, а текст считайте пояснением для разработчика.
{
"error": {
"code": "invalid_query",
"message": "Параметр q должен содержать от 1 до 200 символов.",
"request_id": "c0a8012e0f1d4b20"
}
}Можно начинать интеграцию
Путь версии /v1/ и перечисленные поля не будут изменяться несовместимо без новой версии API. Бесплатный режим предоставляется без гарантии SLA; условия и лимиты могут быть обновлены с предварительным сообщением на этой странице.