crawlbaseДокументация
Войти

Использование API

Добавьте &scraper=google-trends к запросу Crawling API. Передайте целевой URL в параметре url в URL-кодированном виде. Фильтры, такие как geo, временной диапазон и категория, передаются как параметры строки запроса в самом URL Google Trends.

curl 'https://api.crawlbase.com/?token=YOUR_TOKEN' \
  --data-urlencode 'url=https://trends.google.com/trending?geo=AE-DU' \
  --data-urlencode 'scraper=google-trends' -G
from crawlbase import CrawlingAPI

api = CrawlingAPI({'token': 'YOUR_TOKEN'})
res = api.get(
    'https://trends.google.com/trending?geo=AE-DU',
    {'scraper': 'google-trends'}
)

import json
data = json.loads(res['body'])
const { CrawlingAPI } = require('crawlbase');
const api = new CrawlingAPI({ token: 'YOUR_TOKEN' });

const res = await api.get(
  'https://trends.google.com/trending?geo=AE-DU',
  { scraper: 'google-trends' }
);
const data = JSON.parse(res.body);
require 'crawlbase'
api = Crawlbase::API.new(token: 'YOUR_TOKEN')

res = api.get('https://trends.google.com/trending?geo=AE-DU', scraper: 'google-trends')
data = JSON.parse(res.body)

Пример входного URL

URL, передаваемый в параметре url (URL-декодированный для удобства чтения):

https://trends.google.com/trending?geo=AE-DU

Структура ответа

Тело JSON-ответа. Типы полей могут быть null, если исходная страница не содержит значения.

trends
array
Трендовые запросы на странице, упорядоченные по позиции.
trends[].position
integer
Позиция тренда на странице (начиная с 1).
trends[].title
string
Текст трендового запроса в том виде, как он отображается на странице Google Trends.
trends[].searchVolume
string
Сокращённое значение объёма поиска для тренда (например 20K+, 1M+).
trends[].searchVolumeText
string
Локализованная читаемая подпись объёма поиска (например 20K+ searches).
trends[].increasePercentage
string
Недавний рост поискового интереса, как показано на странице.
trends[].started
string
Когда тренд начал расти, в виде относительной строки времени (например 6 hours ago).
trends[].status
string
Статус тренда по данным Google (обычно Active или Lasted).
trends[].trendBreakdown
array<string>
Связанные подзапросы, которые Google группирует в этот тренд.
trends[].trendBreakdownMoreCount
integer
Количество дополнительных подзапросов сверх перечисленных в trendBreakdown.
trendsCount
integer
Общее число трендов, возвращённых в trends.
filters
object
Состояние фильтров, отражённое страницей и декодированное из URL Google Trends.
filters.geo
string
Распознанный географический ярлык (страна или субрегион), к которому привязаны тренды.
filters.timeRange
string
Ярлык временного диапазона, по которому отфильтрована страница (например Past 7 days).
filters.category
string
Ярлык фильтра категории (например All categories).
filters.trendType
string
Ярлык фильтра типа тренда (например All trends).
filters.sortBy
string
Ярлык порядка сортировки (например By relevance, By search volume).
filters.updatedAtText
string
Локализованная подпись, показывающая, когда страница была в последний раз обновлена Google.
pagination
object
Состояние пагинации для текущего запроса.
pagination.currentPage
integer
Индекс страницы текущего ответа (начиная с 1).
pagination.itemsPerPage
integer
Количество трендов, возвращаемых Google на одной странице.
pagination.totalItems
integer
Общее число трендов, доступных на всех страницах для текущих фильтров.
pagination.hasNextPage
boolean
true, если на следующей странице доступны ещё тренды.
pagination.hasPreviousPage
boolean
true, если доступна предыдущая страница.

Пример ответа

{
  "trends": [
    {
      "position": 1,
      "title": "al maktoum international airport (dwc)",
      "searchVolume": "20K+",
      "searchVolumeText": "20K+ searches",
      "increasePercentage": "600%",
      "started": "6 hours ago",
      "status": "Active",
      "trendBreakdown": ["dubai international airport"],
      "trendBreakdownMoreCount": 0
    }
  ],
  "trendsCount": 5,
  "filters": {
    "geo": "Dubai",
    "timeRange": "Past 7 days",
    "category": "All categories",
    "trendType": "All trends",
    "sortBy": "By relevance",
    "updatedAtText": "Updated Jun 2, 2:56 PM"
  },
  "pagination": {
    "currentPage": 1,
    "itemsPerPage": 25,
    "totalItems": 25,
    "hasNextPage": false,
    "hasPreviousPage": false
  }
}