Публичный API Google News
Проверьте, находит ли Google News свежие публикации сайта
Эти методы проверяют, находит ли RSS Google News свежие публикации указанного сайта, и собирают ленты по запросу, сущности, теме или сюжету. API-ключ не нужен.
#Один домен
/public/google-newsPublicdomainstringобязательный- Домен или полный URL. Протокол, путь и
www.будут удалены автоматически.
curl "https://dstrends.com/api/public/google-news?domain=osome.com"{
"ok": true,
"domain": "osome.com",
"exists": true,
"publicationCount": 100,
"latestItems": [
{
"title": "Example headline",
"url": "https://news.google.com/rss/articles/...",
"sourceLabel": "Osome"
}
]
}#Список доменов
/public/google-news/bulkPublicdomainsstring[]обязательный- До
100доменов или URL.
curl "https://dstrends.com/api/public/google-news/bulk" \
-H "Content-Type: application/json" \
-d '{"domains":["osome.com","bbc.com","example.invalid"]}'#Ленты, темы и сюжеты
Проверка Google News также собирает ленты по поисковому запросу, ID сущности из Knowledge Graph, теме или сюжету. Эти проверки выполняются на сервере через Scrapering; ключ поставщика в браузер не передаётся.
Инструмент запрашивает максимальный размер ленты за последние 7 дней. Его селекторы с поиском охватывают 72 страны и региона из каталога веб-изданий Google News и доступные языки каждой страны.
/public/google-news/explorePublicmodestringобязательныйsearch,entity,topicилиstory.inputstringобязательный- Поисковый запрос, ID сущности вида
/m/или/g/, название темы либо токен или ссылка темы/сюжета Google News. titlestringнеобязательный- Необязательная подпись темы или сюжета. Какую ленту запросить, определяет токен.
country / languagestringобязательный- Поддерживаемые коды страны и языка, например
RUиru. timeframestringобязательный1d,7dили30d.limitnumberобязательный10,20,50или100элементов.
Примеры ниже используют те же тела запросов, что и инструмент. Отправляйте их наPOST /api/public/google-news/explore. Интерактивные примеры пользуются эквивалентным маршрутом /api/google-news-explore. Все четыре запрашивают максимум 100 элементов за последние 7 дней.
#Поиск по запросу
Найдите новости о фразе или теме. Запрос передаётся в input; операторы вроде site:bbc.com поддерживаются.
{
"mode": "search",
"input": "artificial intelligence",
"country": "US",
"language": "en",
"timeframe": "7d",
"limit": 100
}#Поиск по ID сущности
Используйте ID сущности из Knowledge Graph, чтобы отличать тёзок. Поддерживаются ID вида /m/ и /g/; необязательный префикс kg: убирается.
{
"mode": "entity",
"input": "/m/045c7b",
"country": "US",
"language": "en",
"timeframe": "7d",
"limit": 100
}#Поиск ID тем
Прочитайте доступные категории страны, прежде чем создавать ленту темы. Этот GET не расходует дневную проверку. Скопируйте возвращённый topics[].token в input запроса темы.
/public/google-news/explore?topics=RUPublic{
"ok": true,
"topics": [
{
"title": "Business",
"token": "CAAqJggKIiBDQkFTRWdvSUwyMHZNRGx6TVdZU0FtVnVHZ0pWVXlnQVAB",
"url": null
}
]
}#Лента по ID темы
Вставьте полный токен или ссылку https://news.google.com/topics/…. Готовые ленты также возвращают ID тем в result.relatedTopics[].token.
{
"mode": "topic",
"input": "CAAqJggKIiBDQkFTRWdvSUwyMHZNRGx6TVdZU0FtVnVHZ0pWVXlnQVAB",
"title": "Business",
"country": "US",
"language": "en",
"timeframe": "7d",
"limit": 100
}#Публикации по ID сюжета
Скопируйте result.stories[].token из готовой ленты или вставьте ссылку https://news.google.com/stories/…. Это один кластер сюжета, и в ответе будут публикации разных изданий о нём. Пример ниже взят из документации поставщика; для живого исследования берите актуальный токен сюжета.
{
"mode": "story",
"input": "CAAqNggKIjBDQklTSGpvSmMzUnZjbmt0TXpZd1NoRUtEd2k1c2J2MUVSRWN0X3l1dFpkS3dpZ0FQAQ",
"title": "Wall Street stocks",
"country": "US",
"language": "en",
"timeframe": "7d",
"limit": 100
}#Чтение результата любой ленты
Каждый успешный POST возвращает одинаковый ответ об обработке. Сохраните его jobToken: это приватный токен доступа к проверке, а не ID темы или сюжета.
{
"ok": true,
"status": "processing",
"jobToken": "YOUR_JOB_TOKEN",
"pollAfterMs": 2500,
"quota": {
"limit": 10,
"remaining": 9,
"resetAt": "2026-09-15T00:00:00Z"
}
}{
"method": "GET",
"path": "/api/public/google-news/explore",
"headers": {
"Authorization": "Bearer YOUR_JOB_TOKEN"
}
}Повторяйте этот GET через pollAfterMs, пока статус processing, с исходной cookie браузера. Остановитесь, когда статус станет ready или вернётся ошибка. Не повторяйте POST, чтобы дождаться результата.
{
"ok": true,
"status": "ready",
"result": {
"request": {
"mode": "topic",
"input": "CAAqJggKIiBDQkFTRWdvSUwyMHZNRGx6TVdZU0FtVnVHZ0pWVXlnQVAB",
"title": "Business",
"country": "US",
"language": "en",
"timeframe": "7d",
"limit": 100
},
"title": "Business",
"googleNewsUrl": "https://news.google.com/topics/CAAqJggKIiBDQkFTRWdvSUwyMHZNRGx6TVdZU0FtVnVHZ0pWVXlnQVAB?hl=en-US&gl=US&ceid=US:en",
"entityId": null,
"fetchedAt": "2026-09-14T12:00:00Z",
"articles": [
{
"title": "Example market headline",
"url": "https://example.com/markets",
"googleNewsUrl": null,
"publisher": "Example News",
"domain": "example.com",
"author": "Example author",
"publishedAt": "2026-09-14T10:00:00Z",
"relativeTime": "2 hours ago",
"imageUrl": null
}
],
"stories": [
{
"title": "Wall Street stocks",
"token": "CAAqNggKIjBDQklTSGpvSmMzUnZjbmt0TXpZd1NoRUtEd2k1c2J2MUVSRWN0X3l1dFpkS3dpZ0FQAQ",
"url": "https://news.google.com/stories/CAAqNggKIjBDQklTSGpvSmMzUnZjbmt0TXpZd1NoRUtEd2k1c2J2MUVSRWN0X3l1dFpkS3dpZ0FQAQ",
"articles": [
{
"title": "Example market headline",
"url": "https://example.com/markets",
"googleNewsUrl": null,
"publisher": "Example News",
"domain": "example.com",
"author": "Example author",
"publishedAt": "2026-09-14T10:00:00Z",
"relativeTime": "2 hours ago",
"imageUrl": null
}
]
}
],
"relatedTopics": [
{
"title": "Business",
"token": "CAAqJggKIiBDQkFTRWdvSUwyMHZNRGx6TVdZU0FtVnVHZ0pWVXlnQVAB",
"url": "https://news.google.com/topics/CAAqJggKIiBDQkFTRWdvSUwyMHZNRGx6TVdZU0FtVnVHZ0pWVXlnQVAB"
}
]
}
}Создание лент ограничено 10 проверками на IP и браузер в сутки по UTC, в том числе при локальной разработке. Чтение готового результата не расходует ещё одну проверку. Открытие другой темы или сюжета создаёт новую проверку. В результатах есть статьи, издания, доступные кластеры сюжетов и связанные темы; отсутствующие разделы возвращаются пустыми списками.