Позиции из API в Google Таблицы и Python
Готовые примеры: выгрузить позиции SerpWatch в Google Таблицы через Apps Script и в CSV на Python.
Google Таблицы
Откройте таблицу → «Расширения» → Apps Script, вставьте код из примера, подставьте токен и id проекта и запустите функцию. Чтобы данные обновлялись сами, добавьте триггер по времени, например раз в день.
Python
Пример ниже выгружает позиции за 30 дней в CSV. Для отчётов в Looker Studio или Power BI удобно складывать такой файл в общую папку по расписанию.
Сколько данных
Метод позиций отдаёт до 50 000 строк за запрос. Больше — постранично через offset.
Пример
// Google Apps Script
function loadPositions() {
const token = 'sw_ваш_токен', project = 1;
const r = UrlFetchApp.fetch('https://serpwatch.ru/api/v1/projects/' + project + '/positions',
{headers: {Authorization: 'Bearer ' + token}});
const rows = JSON.parse(r.getContentText());
const sheet = SpreadsheetApp.getActiveSheet();
sheet.clear().appendRow(['keyword_id', 'date', 'position', 'url', 'source']);
rows.forEach(p => sheet.appendRow([p.keyword_id, p.date, p.position, p.url, p.source]));
}
# Python
import csv, requests
r = requests.get("https://serpwatch.ru/api/v1/projects/1/positions",
headers={"Authorization": "Bearer sw_ваш_токен"}, timeout=60)
with open("positions.csv", "w", newline="", encoding="utf-8") as f:
w = csv.DictWriter(f, fieldnames=["keyword_id", "date", "source", "position", "url", "impressions", "clicks"])
w.writeheader(); w.writerows(r.json())