---
title: "Парсинг TikTok Shop в 2026: способы сбора и легальность"
description: Сравниваем способы парсинга TikTok Shop в 2026 году, от готовых сервисов вроде Kalodata и EchoTik до своего скрипта на Python. Отдельно о законности сбора.
---

[Блог Froxy | Новости, полезные статьи о использовании прокси](https://blog.froxy.com/ru)

# [Парсинг TikTok Shop в 2026: способы сбора и легальность](https://blog.froxy.com/ru/data-scraping-legality-tiktok-shop)

 Written by [Команда Froxy](https://blog.froxy.com/ru/author/team-froxy) | 10 нояб. 2026 г., 07:00:01

## TL;DR:

- Официальный API подходит, только если вы продавец, партнёр TikTok Shop или одобренный исследователь. Для мониторинга конкурентов остаются готовые сервисы (EchoTik, Kalodata и др.) или свой парсер.
- Пользовательское соглашение TikTok запрещает автоматический сбор данных без письменного разрешения. Нарушение условий сервиса – не уголовное преступление, но оно грозит блокировками и гражданскими исками.
- Свой парсер на Python строится на Playwright по схеме: страница видео → ссылка на товар → страница товара → поиск по ключевым словам.
- Сохраняйте product\_id и время сбора: без них не получится отслеживать цены и наличие в динамике.
- Прокси дают доступ к нужному региону и снижают число блокировок, но не снимают ограничений платформы и закона.

Проблема парсинга TikTok Shop актуальна в основном для бизнеса, которому нужен качественный и надёжный инструмент для сбора данных: трендовые товары, актуальные цены, спрос, выявление наиболее вероятных конкурентов – это бренды или конкретные продавцы, продвигающие свои услуги / продукты на площадке.

Технически создание парсера TikTok Shop может опираться на: официальный API сервиса, на готовые сервисы по сбору данных, а также на самописный или на готовый скрипт (пример – [TikTok scraper GitHub](https://github.com/drawrowfly/tiktok-scraper)).

Статья предлагает обзор доступных методов парсинга TikTok Shop и рассказывает о законности сбора открытых данных.

## Что такое TikTok Shop и как он работает

TikTok Shop – это встроенный функционал соцсети TikTok, благодаря которому продавцы могут предлагать товары и услуги в видео и в прямых эфирах через специальные карточки, как в интернет-магазинах. TikTok Shop изначально был запущен в США в 2023 году, но со временем расширился на страны Европы и Юго-Восточной Азии.

Такой подход решает сразу несколько задач пользователей и бизнеса: вовлечение, формирование рекомендаций, работа с возражениями и непосредственно прямые продажи. Здесь есть даже встроенная аналитика.

Однако, если бизнес планирует выходить на эту площадку, ему стоит начать с изучения ассортимента, цен и механик продвижения в TikTok Shop. Как раз тут ему и потребуется парсинг данных.

Как функционал TikTok Shop выглядит для покупателей:

- Товары появляются в естественном потоке контента TikTok – в видео (при просмотре ролика видна метка/корзинка с товаром), в прямых эфирах (аналогично), в отдельной вкладке Shop (это встроенный магазин с каталогом, рекомендациями, поиском и акциями), а также в профиле автора / продавца (тут тоже показывается страница магазина).
- После нажатия на кнопке с товаром открывается страница продукта с фото, описанием, ценой, отзывами и доставкой. Всё как в привычных онлайн-магазинах.
- Оформление заказа происходит внутри TikTok. Достаточно выбрать товар, добавить в корзину, указать адрес доставки и оплатить. Способы оплаты зависят от страны пользователя и настроек продавца.
- TikTok обрабатывает платёж, а продавец (или партнёрская служба TikTok) отправляет товар покупателю.
- Отслеживание заказа, возвраты и история покупок – всё внутри приложения TikTok.
- У продавцов свой раздел управления каталогом и аналитики по продажам.

## Зачем парсить данные TikTok Shop

Парсинг превращает быстро меняющуюся витрину TikTok Shop в структурированные данные, которые можно сравнивать во времени: цены и скидки, трендовые товары, конкуренты, остатки, отзывы и рейтинги. Эти данные подключают к дашбордам, моделям ценообразования и исследованиям ассортимента, а товары связывают с авторами и роликами, которые их продвигают.

Свой парсер TikTok Shop можно написать на разных языках программирования: Python, Go, JavaScript и пр. Но можно использовать и готовые решения, например, скачать популярные скрипты с GitHub.

Важен не столько язык программирования, сколько источник данных. В связи с этим парсеры TikTok Shop можно условно разделить на следующие группы:

- Утилиты и скрипты, которые работают с данными по [официальному API TikTok Shop](https://partner.tiktokshop.com/docv2/page/tts-developer-guide). У API для партнеров есть свои ограничения. Например, есть вызовы только для продавцов, для фулфилмент-операторов, для платёжных шлюзов и пр. Если вам нужна аналитика данных, то для ваших задач нужен [TikTok Research API](https://developers.tiktok.com/docs/en/research-api-get-started).
- Сервисы-посредники, которые собирают данные по требованию клиента или заранее, то есть имеют готовые базы данных – общие или под узкую специфику/задачу.
- Ручной сбор данных непосредственно со страниц TikTok Shop – скрипт посещает выбранные страницы и извлекает нужную информацию, структурируя её и сохраняя в конкретном формате – в файлы, таблицы, базы данных и пр.

###### Мобильные прокси

Мобильные IP с геотаргетингом и ротацией для сбора данных TikTok Shop в нужном регионе.

[Тарифы](https://froxy.com/ru/mobile-proxies) $1.99, 100Mb

## Готовые сервисы или свой парсер

Если вы не хотите или не можете написать и сопровождать свой парсер для TikTok Shop, вы можете задействовать альтернативные источники данных. Они либо предоставляют готовые срезы для типовых исследований, либо парсят данные под конкретные запросы пользователя.

Речь о таких платформах, как EchoTik, Kalodata, Shoplus, Apify и пр.

Это удобно и быстро. Не всегда гибко – хотя тут многое зависит от технической реализации сервиса.

Самый главный недостаток здесь – высокая стоимость данных. Доступ к данным или к пакетам запросов нужно оплачивать с помощью подписок. В бесплатном виде можно получить максимум демо-доступ.

Готовый сервис оправдан для разового или небольшого исследования. Если сбор нужен регулярно, данные должны попадать во внутренние системы или требуются нестандартные поля, имеет смысл вкладываться в свой парсер.

Свой парсер – наиболее сложный и трудоёмкий вариант, который требует от создателя не только полное понимание технических деталей, но и организацию связанной инфраструктуры:

- где и в каком виде будут храниться данные,
- как будет осуществляется обработка ошибок и блокировок,
- как трафик и запросы будут балансироваться для снижения нагрузки на хостинг TikTok,
- как будет организована ротация прокси и пр.

Основная проблема ручного парсинга TikTok Shop – это обход имеющихся средств защиты. TikTok защищает данные на высоком уровне, плюс площадка регулярно дорабатывает и изменяет свои алгоритмы, что усложняет сопровождение парсера – его периодически нужно обновлять и адаптировать под новые условия.

## Как парсить TikTok Shop в 2026 году

Основные проблемы по созданию парсеров для TikTok мы уже рассматривали ранее. На примере нашего кода вы сможете сделать TikTok видео-скрапер.

Подробности тут: [Как создать TikTok-парсер: легальность и основные шаги](https://blog.froxy.com/ru/how-to-build-a-tiktok-scraper?hsLang=ru).

### Какие данные можно собирать

Со страниц товаров доступны название, продавец, текущая цена и скидка, наличие, рейтинг, число отзывов, описание, категория, медиафайлы и URL. В зависимости от региона часть полей есть только во встроенном JSON страницы.

Вместе с данными сохраняйте product\_id и время сбора. Название карточки может измениться, а по ID удобно убирать дубли и отслеживать один и тот же товар. Снимки с временными метками превращают разовый сбор в мониторинг цен и ассортимента. Данные покупателей и закрытые разделы аккаунтов не собирайте: это другая категория юридического риска.

### Парсинг TikTok Shop на Python

Ниже примеры кода для парсинга типовых страниц TikTok Shop.

#### Получение ссылки на товар из видео

Это простейший парсер продукта TikTok Shop. Суть его работы можно свести к следующему: ссылка на товар обычно «зашита» в данные страницы видео.

В результирующем HTML-коде присутствует тег script с JSON-состоянием (\_\_UNIVERSAL\_DATA\_FOR\_REHYDRATION\_\_ или аналогичный), откуда можно извлечь product\_id или готовый URL вида https://shop.tiktok.com/view/product/{id}.

Для этого достаточно простого регулярного выражения:

```
import re

def extract_product_url_from_html(html: str) -> str | None:
    # Ищем ссылки на shop.tiktok.com/view/product/ или shop.tiktok.com/{region}/pdp/
    patterns = [
        r'https?://shop\.tiktok\.com/view/product/(\d+)',
        r'https?://shop\.tiktok\.com/[a-z]{2}/pdp/[^"\']*?/(\d+)',
    ]
    for pat in patterns:
        m = re.search(pat, html)
        if m:
            pid = m.group(1)
            return f"https://shop.tiktok.com/view/product/{pid}"
    return None
```

Скрипт «просмотрит» HTML-код и вычленит в нём только ссылки на товары. Регулярное выражение не зависит от CSS-классов, поэтому переживает изменения вёрстки. Но если TikTok поменяет формат ссылок на товары, шаблоны придётся обновить.

#### Получение данных со страницы товара

Внутри видеоролика, из-за обилия динамических элементов, достаточно сложно получить сразу цену товара, описание и другие данные. Более простой и надёжный путь – посетить страницу товара и взять всё оттуда. Ссылку мы уже получили на первом шаге.

Важное замечание: после перехода на страницу товара нужно дождаться загрузки динамического контента, так как TikTok рендерит данные через JavaScript, и извлечь поля. Это можно сделать через JSON-LD или встроенные данные в скрипте.

Для упрощения примера будем использовать классические CSS-селекторы.

Ниже мы пытаемся извлечь заголовок, цену и описание из видимых элементов, а если не получается, возвращаем None.

```
async def parse_product_page(page) -> dict:
    data = {"title": None, "price": None, "description": None}
    # Заголовок: несколько возможных селекторов (TikTok часто меняет разметку)
    for sel in ["h1", "[data-e2e='product-title']", "div[class*='title']"]:
        el = await page.query_selector(sel)
        if el:
            data["title"] = (await el.inner_text()).strip()
            break
    # Цена: ищем элементы, содержащие валютные символы
    for sel in ["[data-e2e='product-price']", "div[class*='price']", "span:has-text('$')"]:
        el = await page.query_selector(sel)
        if el:
            data["price"] = (await el.inner_text()).strip()
            break
    # Описание
    el = await page.query_selector("[data-e2e='product-desc'], div[class*='description']")
    if el:
        data["description"] = (await el.inner_text()).strip()
    return data
```

Если код не работает, актуализируйте селекторы.

#### Поиск товаров по ключевым словам

Поиск по ключевым словам в TikTok Shop удобнее делать через страницу поиска (https://shop.tiktok.com/search?q={query} или региональный аналог). После загрузки удобнее собрать тематические карточки товаров: ссылки, названия, цены. Селекторы нестабильны, поэтому в примере используется эвристика – поиск ссылок, содержащих /product/ или /pdp/, и извлечение ближайшего текста.

```
async def parse_search_results(page, limit=10) -> list[dict]:
    items = []
    # Ищем все ссылки, ведущие на товары
    links = await page.query_selector_all("a[href*='/product/'], a[href*='/pdp/']")
    for a in links[:limit]:
        href = await a.get_attribute("href")
        if not href or not re.search(r'/product/\d+|/pdp/.*?/\d+', href):
            continue
        # Пытаемся вытащить текст рядом со ссылкой
        title = (await a.inner_text()).strip() or None
        items.append({"url": href, "title": title})
    return items
```

В общем скрипте функция используется после перехода на страницу поиска; при необходимости можно добавить извлечение цены из соседних элементов.

### Парсинг видео TikTok Shop

Видео-скрапер нужен, когда товары надо связать с роликами и авторами, которые их продвигают. Не пытайтесь достать все коммерческие поля прямо со страницы видео: сначала извлеките ID или ссылку товара, затем откройте его карточку в Shop.

Такую двухшаговую схему проще поддерживать: на странице товара полнее цена, продавец и описание, а поиск контента отделён от сбора данных о товарах. Учтите, что метаданные видео, карточки товаров, данные продавцов и закрытые данные аккаунтов – разные наборы данных с разными правовыми рисками.

### Типичные препятствия и как с ними справляться

Как TikTok защищается от парсинга:

- TikTok защищает страницы с помощью CAPTCHA.
- В обязательном порядке ведётся статистика обращений, поэтому слишком частые обращения к серверам быстро блокируются.
- Платформа изучает и другую активность пользователей – на этом TikTok и сделал свою модель персонализации контента. Часть данных о профилях пользователей используется в том числе для защиты от ботов.
- Сервис следит за сетевой активностью и за IP-адресами клиентов.
- Результирующий код страницы формируется динамически – внутри TikTok использует огромный объем JavaScript-кода.

Так как функционал доступен только в определённых регионах, стоит строго следить за расположением прокси (IP-адреса).

Чтобы обойти эти ограничения, парсер должен работать на базе Headless-браузера и качественно скрывать признаки автоматизации.

Что снижает число блокировок:

- паузы между запросами и ограничение числа параллельных сессий;
- сохранение cookies в рамках сессии вместо нового «чистого» браузера на каждый запрос;
- повторы с растущей задержкой (backoff) после ошибок и капчи;
- мобильные или резидентные прокси с IP нужной страны;
- ротация IP на стороне прокси, чтобы скрипт работал с одной точкой подключения.

[Гайд по успешному парсингу без блокировок](https://blog.froxy.com/ru/the-essential-guide-to-successful-web-scraping?hsLang=ru).

Обратите внимание! Со временем вёрстка страниц может измениться, соответственно, парсер перестанет работать.

### Общий скрипт парсинга TikTok Shop на Playwright с прокси (без ротации)

Это скорее общий каркас – для понимания процесса. Он запускает headless Chromium, подключается через HTTP-прокси (с авторизацией или без – это настраивается в конфиге), открывает страницу видео, извлекает ссылку на товар, затем парсит страницу товара и (опционально) страницу поиска по ключевому слову.

```
import asyncio
import re
from datetime import datetime, timezone
from playwright.async_api import async_playwright

# ---------- Вспомогательные функции ----------

def extract_product_url_from_html(html: str) -> str | None:
    patterns = [
        r'https?://shop\.tiktok\.com/view/product/(\d+)',
        r'https?://shop\.tiktok\.com/[a-z]{2}/pdp/[^"\']*?/(\d+)',
    ]
    for pat in patterns:
        m = re.search(pat, html)
        if m:
            pid = m.group(1)
            return f"https://shop.tiktok.com/view/product/{pid}"
    return None

async def parse_product_page(page) -> dict:
    data = {"url": page.url, "title": None, "price": None, "description": None}
    for sel in ["h1", "[data-e2e='product-title']", "div[class*='title']"]:
        el = await page.query_selector(sel)
        if el:
            data["title"] = (await el.inner_text()).strip()
            break
    for sel in ["[data-e2e='product-price']", "div[class*='price']", "span:has-text('$')"]:
        el = await page.query_selector(sel)
        if el:
            data["price"] = (await el.inner_text()).strip()
            break
    el = await page.query_selector("[data-e2e='product-desc'], div[class*='description']")
    if el:
        data["description"] = (await el.inner_text()).strip()
    return data

async def parse_search_results(page, limit=10) -> list[dict]:
    items = []
    links = await page.query_selector_all("a[href*='/product/'], a[href*='/pdp/']")
    for a in links[:limit]:
        href = await a.get_attribute("href")
        if not href or not re.search(r'/product/\d+|/pdp/.*?/\d+', href):
            continue
        title = (await a.inner_text()).strip() or None
        items.append({"url": href, "title": title})
    return items

# ---------- Основная логика ----------

async def main():
    # ==== НАСТРОЙКИ ====
    VIDEO_URL = "https://www.tiktok.com/@username/video/1234567890"  # замените на актуальные
    SEARCH_QUERY = "wireless earbuds"  # ключевое слово для поиска товаров
    # PROXY_SERVER = "http://froxy.com:8080"  # без авторизации
    # Если прокси с авторизацией:
    PROXY_SERVER = "http://froxy.com:8080"
    PROXY_USER = "user"
    PROXY_PASS = "pass"

    proxy_config = {"server": PROXY_SERVER}
    # Для прокси с авторизацией:
    proxy_config["username"] = PROXY_USER
    proxy_config["password"] = PROXY_PASS

    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=True)
        context = await browser.new_context(proxy=proxy_config)
        page = await context.new_page()

        # 1. Открываем видео и извлекаем ссылку на товар
        print("[*] Открываем видео...")
        await page.goto(VIDEO_URL, wait_until="domcontentloaded", timeout=60000)
        await page.wait_for_timeout(3000)  # даём JS подгрузить данные
        html = await page.content()
        product_url = extract_product_url_from_html(html)
        if not product_url:
            print("[!] Ссылка на товар не найдена в видео.")
        else:
            print(f"[+] Найден товар: {product_url}")
            # 2. Парсим страницу товара
            await page.goto(product_url, wait_until="domcontentloaded", timeout=60000)
            await page.wait_for_timeout(3000)
            product_data = await parse_product_page(page)
            product_data["product_id"] = product_url.rsplit("/", 1)[-1]
            product_data["scraped_at"] = datetime.now(timezone.utc).isoformat()
            print("[+] Данные товара:", product_data)

        # 3. Поиск товаров по ключевому слову
        print(f"[*] Поиск товаров по запросу: {SEARCH_QUERY}")
        search_url = f"https://shop.tiktok.com/search?q={SEARCH_QUERY.replace(' ', '%20')}"
        await page.goto(search_url, wait_until="domcontentloaded", timeout=60000)
        await page.wait_for_timeout(3000)
        search_items = await parse_search_results(page, limit=10)
        print(f"[+] Найдено {len(search_items)} товаров:")
        for item in search_items:
            print("    ", item)

        await browser.close()

if __name__ == "__main__":
    asyncio.run(main())
```

### Альтернативный способ: парсинг через мобильное приложение

В качестве основы можно использовать репозиторий с GitHub – [tiktokshop-scraper](https://github.com/alfianpr/tiktokshop-scraper).

Обратите внимание, что в текущем коде используются некоторые устаревшие вызовы!

Принцип достаточно простой:

1. Вы устанавливаете на устройстве полноценное приложение TikTok.
2. Подключаете и настраиваете [мобильные прокси](https://blog.froxy.com/ru/how-mobile-proxies-work-and-how-to-use-them?hsLang=ru) с таргетингом до стран, в которых работает функционал магазина (на мобильном устройстве).
3. Авторизуетесь в профиле TikTok (если нужно).
4. Активируете режим отладки на смартфоне – по ADB.
5. Устанавливаете и настраиваете Appium Server, а также Android-драйвер Appium.
6. Настраиваете Python-окружение для работы скрипта.
7. Подключаетесь к Android-смартфону через Appium из скрипта.
8. Скрипт нажимает на заданные координаты экрана и открывает товар – он нажимает кнопку Share и выбирает Copy link.
9. Скопированная ссылка передается через буфер обмена.
10. Все ссылки записываются в CSV-файл. Так как они изначально могут быть сокращенными, отдельный скрипт пытается получить полные URL и исключить дубликаты.

Исходный код репозитория можно адаптировать и расширить под свои задачи.

Этот способ медленнее браузерного: одно устройство обслуживает одну сессию, а нажатия по координатам ломаются после обновлений интерфейса приложения. Вход в аккаунт переводит сбор в зону закрытых данных и повышает юридические риски.

## Парсинг или официальный API TikTok Shop

TikTok Research API не предназначен для коммерческого сбора данных о товарах и продажах конкурентов. Доступ к Research Tools предоставляют только одобренным независимым и академическим исследователям для некоммерческих проектов, коммерческие компании к программе не допускаются.

Продавцы, маркетологи и иные компании, которым нужна аналитика TikTok Shop для бизнеса, точно не могут рассчитывать на этот API как на универсальный инструмент мониторинга.

Заявки на подключение подаются и рассматриваются в индивидуальном порядке.

Плюс стоит учитывать следующие моменты:

- Здесь есть строгие технические лимиты по скорости и объему запросов.
- Данные обновляются с задержкой (иногда до нескольких дней).
- Программа доступна далеко не во всех регионах, в которых работает TikTok.
- Есть ограничения по типам данных.
- Сами данные сильно обезличены, ведь их основная задача – исследование тенденций и выявление закономерностей.

Подробную аналитику по продажам конкретных товаров можно получить только по своему магазину. Поэтому для масштабных исследований отдельное API продавцов не подходит.

[TikTok Shop Analytics Tools](https://seller-us.tiktok.com/university/essay?knowledge_id=4169993017509675).

Итог: официальный API – лучший вариант, если вы продавец, партнёр или одобренный исследователь и нужные данные есть в его методах. Для мониторинга конкурентов и исследования рынка остаются готовые сервисы и собственный парсер.

## Легален ли парсинг данных TikTok Shop?

Легален ли веб-парсинг TikTok Shop? На деле сложно дать однозначный ответ. Все будет зависеть от типа собираемых данных, объёма запросов / нагрузки на целевой сайт и от дальнейших действий с полученными данными.

### Условия использования TikTok и парсинг

[Официальное пользовательское соглашение TikTok Shop запрещает парсинг данных во всех его видах](https://t.tiktok.com/legal/page/us/terms-of-service/en) – с использованием любых средств автоматизации. [Публикация в блоге TikTok](https://www.tiktok.com/privacy/blog/how-we-combat-scraping/en).

Более того, площадка активно борется с ботами, которые не относятся к категории поисковых пауков: показывает капчу, анализирует браузерные профили, IP-адреса, замедляет или полностью блокирует подключения.

Но запрет в пользовательском соглашении и уголовная ответственность – разные вещи. Нарушение условий сервиса относится к договорным отношениям: TikTok может заблокировать аккаунт или IP-адреса, а в серьёзных случаях подать гражданский иск. Более высокие риски возникают, когда парсер обходит авторизацию или технические ограничения доступа, собирает персональные данные или нарушает авторские права.

### Открытые и закрытые данные

Открытость данных снижает уголовные риски, но не отменяет условия сервиса, законы о персональных данных (например, GDPR для пользователей из ЕС) и авторское право. Перед запуском проверьте четыре условия:

- данные доступны без входа в аккаунт;
- парсер не обходит авторизацию и не взламывает ограничения доступа;
- в выборку не попадают персональные данные и лишний контент, защищённый авторским правом (фото, тексты описаний);
- цель использования законна и задокументирована.

### Правовой контекст в США

Самый известный прецедент – [дело hiQ Labs против LinkedIn](https://en.wikipedia.org/wiki/HiQ_Labs_v._LinkedIn). В 2022 году Апелляционный суд девятого округа США указал, что сбор данных из открытых профилей не подпадает под «доступ без авторизации» в смысле закона CFAA, опираясь на решение Верховного суда по делу Van Buren. Но это было решение о предварительном запрете, а не итог спора. Позже в том же году суд первой инстанции признал, что hiQ нарушила пользовательское соглашение LinkedIn, и в декабре 2022 года стороны урегулировали спор: hiQ согласилась прекратить сбор и удалить полученные данные.

Для коммерческого или масштабного проекта нужна юридическая проверка с учётом юрисдикции. Этот раздел не является юридической консультацией.

## Заключение

Стратегия парсинга TikTok опирается не только на продуманную логику скрипта, но и на уровень доверия к цифровым отпечаткам. Наиболее весомыми здесь являются прокси – мобильные или [резидентные](https://blog.froxy.com/ru/residential-proxies-special-features-and-advantages?hsLang=ru) с таргетингом до города и оператора связи.

Выбор метода зависит от задачи: официальный API – если у вас есть доступ и он покрывает нужные данные, готовые сервисы – для типовых метрик, свой парсер – для гибкого мониторинга открытых карточек товаров. В любом случае собирайте только открытые данные, держите умеренную частоту запросов и сверяйтесь с актуальными условиями TikTok перед запуском.

Арендовать прокси можно у нас. [**Froxy**](https://froxy.com/ru) – это свыше 120 млн трастовых IP с автоматической ротацией. Оплата взимается не по количеству используемых прокси, а по объему потребляемого трафика.

[View full post](https://blog.froxy.com/ru/data-scraping-legality-tiktok-shop)

```json
{
  "@context" : "http://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Команда Froxy"
  },
  "dateModified" : "2026-11-10T07:00:01.683Z",
  "datePublished" : "2026-11-10T07:00:01Z",
  "headline" : "Как скрапить данные TikTok Shop в 2026",
  "image" : {
    "@type" : "ImageObject",
    "height" : 1104,
    "url" : "https://blog.froxy.com/hubfs/Image-Nov-09-2026-09-17-27-9277-AM.png",
    "width" : 2208
  },
  "mainEntityOfPage" : "https://blog.froxy.com/ru/data-scraping-legality-tiktok-shop",
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : 60.0,
      "url" : "https://25353777.fs1.hubspotusercontent-eu1.net/hubfs/25353777/top-bar-logo.svg",
      "width" : 154.2857
    },
    "name" : "Блог Froxy | Новости, полезные статьи о использовании прокси "
  }
}
```