API YouTube останавливает вас на 100 поисках в день. Web Unlocker возвращает каждую страницу поиска, которую вы запросите, до 20 видео на каждой, по $0.98 за 1000. Ключ Google API не нужен.
1000 бесплатных запросов · Оплата только за успех · 195+ стран · Работает с Claude
Страницы YouTube загружаются от 15 до 30 секунд. Всё ещё работаем, нажимать снова не нужно.
Готовы попробовать на своих запросах? Получите API‑ключ или запишитесь на демо.
Расскажите немного о вашей команде и получите:
Web Unlocker считает страницу результатов поиска YouTube одной страницей вместе со всеми её видео, а их до 20. Парсеры YouTube на Apify и Bright Data берут за каждое из этих видео отдельно.
API останавливается на 100 поисках в день.
Здесь 1000 поисков стоят $0.98.
Фильтруйте поиск так же, как YouTube, по дате загрузки или по просмотрам: каждый фильтр - ещё одна страница по той же цене.
Сколько стоят 1000 поисков по 20 видео
1000 страниц поиска и 20 000 видео по опубликованным ценам
SerpApi берёт за каждый поиск. Bright Data считает каждое видео записью, $1.50 за 1000. Самый популярный парсер YouTube на Apify берёт за каждое видео, от $2.40 до $4.00 за 1000.
YouTube Data API бесплатен, пока не закончатся его 100 поисков в день, а парсеры YouTube берут деньги за каждое видео. Вот что нужно на каждом пути для тех же 1000 поисков.
| Что нужно | YouTube Data API | Apify | SerpApi | |
|---|---|---|---|---|
| Поисков в день | Без лимита | 100 | Без лимита | По тарифу |
| Вы платите за | Страницу | Бесплатно в рамках квоты | Каждое видео | Каждый поиск |
| 1000 поисков по 20 видео | $0.98 | 10 дней квоты | от $48 до $80 | $25 |
| Расшифровки любых видео | С Cloud Browser | Только своих видео | Да | Нет |
| Старт без проекта Google | Да | Нет | Да | Да |
| Страница целиком в HTML | Да | Нет | Нет | Нет |
Парсите не только YouTube? Web Unlocker возвращает любую страницу так же и по той же цене.
Плейлист загрузок канала показывает 100 видео на первой странице, а каждая следующая добавляет ещё 78. Web Unlocker берёт за каждую страницу один раз: 10 страниц, 802 видео, $0.0098.
Apify берёт от $2.40 до $4.00 за 1000 видео.
Здесь 800 стоят 1 цент.
YouTube хранит все видео страницы как JSON внутри HTML. Web Unlocker возвращает этот HTML, а несколько строк кода достают из него видео.
Заполните форму выше. Ключ придёт на почту в течение одного рабочего дня.
Поиск по вашему ключевому слову, видео - для его показателей, загрузки канала - для всех его видео.
У каждого видео на странице есть название, просмотры, канал, дата и длительность.
pip install requestsGOLOGIN_SCRAPING_API_KEY=your_key python youtube_search.pyhttps://parsing.webunlocker.gologin.com/v1/scrapeimport json
import os
import time
from urllib.parse import quote_plus
import requests
search = "home espresso"
def scrape(url):
for attempt in range(3):
response = requests.get(
"https://parsing.webunlocker.gologin.com/v1/scrape",
params={"url": url, "geo": "us", "format": "json"},
headers={"apikey": os.environ["GOLOGIN_SCRAPING_API_KEY"]},
timeout=90,
)
page = response.json().get("data", {}).get("html", "") if response.ok else ""
if '"videoRenderer"' in page:
return page
time.sleep(5)
raise RuntimeError("No videos came back, try again later")
def find(node, key):
if isinstance(node, dict):
for name, value in node.items():
if name == key:
yield value
yield from find(value, key)
elif isinstance(node, list):
for item in node:
yield from find(item, key)
def text(field):
if not field:
return None
return field.get("simpleText") or "".join(run["text"] for run in field.get("runs", []))
page = scrape(f"https://www.youtube.com/results?search_query={quote_plus(search)}")
data = json.loads(page.split("var ytInitialData = ")[1].split(";</script>")[0])
videos = {}
for video in find(data, "videoRenderer"):
videos[video["videoId"]] = {
"title": text(video.get("title")),
"url": f"https://www.youtube.com/watch?v={video['videoId']}",
"channel": text(video.get("ownerText")),
"views": text(video.get("viewCountText")),
"published": text(video.get("publishedTimeText")),
"length": text(video.get("lengthText")),
}
print(json.dumps(list(videos.values()), indent=2, ensure_ascii=False))
print(f"{len(videos)} videos from one search page")GOLOGIN_SCRAPING_API_KEY=your_key node youtube-channel.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst channelId = 'UCBJycsmduvYEL83R_U4JriQ';
const wanted = 800;
const uploads = `UU${channelId.slice(2)}`;
async function scrape(url) {
for (let attempt = 1; attempt <= 3; attempt++) {
const params = new URLSearchParams({ url, geo: 'us', format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const page = response.ok ? (await response.json()).data?.html : '';
if (page?.includes('var ytInitialData = ')) return JSON.parse(page.split('var ytInitialData = ')[1].split(';</script>')[0]);
await new Promise((resolve) => setTimeout(resolve, 5000));
}
throw new Error('The page came back without videos, try again later');
}
function* find(node, key) {
if (Array.isArray(node)) for (const item of node) yield* find(item, key);
else if (node && typeof node === 'object') {
for (const [name, value] of Object.entries(node)) {
if (name === key) yield value;
yield* find(value, key);
}
}
}
const videos = new Map();
for (const item of find(await scrape(`https://www.youtube.com/playlist?list=${uploads}`), 'lockupViewModel')) {
if (item.contentType === 'LOCKUP_CONTENT_TYPE_VIDEO') videos.set(item.contentId, item.metadata.lockupMetadataViewModel.title.content);
}
let pages = 1;
while (videos.size < wanted) {
const last = [...videos.keys()].at(-1);
const before = videos.size;
for (const item of find(await scrape(`https://www.youtube.com/watch?v=${last}&list=${uploads}`), 'playlistPanelVideoRenderer')) {
videos.set(item.videoId, item.title.simpleText);
}
pages++;
if (videos.size === before) break;
}
console.table([...videos].slice(0, 5).map(([id, title]) => ({ title, url: `https://www.youtube.com/watch?v=${id}` })));
console.log(`${videos.size} videos in ${pages} pages: $${(pages * 0.00098).toFixed(4)} on the Growth plan`);GOLOGIN_SCRAPING_API_KEY=your_key node youtube-video.mjshttps://parsing.webunlocker.gologin.com/v1/scrapeconst video = 'https://www.youtube.com/watch?v=jNQXAC9IVRw';
async function scrape(url) {
for (let attempt = 1; attempt <= 3; attempt++) {
const params = new URLSearchParams({ url, geo: 'us', format: 'json' });
const response = await fetch(`https://parsing.webunlocker.gologin.com/v1/scrape?${params}`, {
headers: { apikey: process.env.GOLOGIN_SCRAPING_API_KEY },
});
const page = response.ok ? (await response.json()).data?.html : '';
if (page?.includes('var ytInitialPlayerResponse = ')) return page;
await new Promise((resolve) => setTimeout(resolve, 5000));
}
throw new Error('The video page came back empty, try again later');
}
const page = await scrape(video);
const player = JSON.parse(page.split('var ytInitialPlayerResponse = ')[1].split(';var meta')[0]);
const { videoDetails: details, microformat, captions } = player;
console.log({
title: details.title,
channel: details.author,
views: Number(details.viewCount),
likes: Number(page.match(/along with ([\d,]+) other/)?.[1].replaceAll(',', '')),
comments: page.match(/"contextualInfo":\{"runs":\[\{"text":"([^"]+)"/)?.[1],
published: microformat.playerMicroformatRenderer.publishDate,
seconds: Number(details.lengthSeconds),
tags: details.keywords ?? [],
captions: captions?.playerCaptionsTracklistRenderer.captionTracks.map((track) => track.languageCode) ?? [],
});Готовы запустить на своих запросах? Получите API-ключ и бесплатные запросы.
Web Unlocker возвращает страницу такой, какой её сначала отдаёт YouTube. Комментарии подгружаются только при прокрутке, а расшифровки - только по клику. Cloud Browser - дополнение, которое прокручивает и кликает за вас, от $4.50 в месяц за 50 браузерных часов.
100 комментариев к каждому из 1000 видео обходятся в $6.95: 8.3 браузерного часа и 6.2 GB трафика. Apify берёт за то же от $30 до $200.
API YouTube отдаёт расшифровки только ваших видео, а серверы получают пустой файл. Cloud Browser открывает расшифровку так же, как зритель, за 25 секунд.
Каждая сессия работает на резидентном IP в выбранной вами стране. Трафик сверх тарифа - $1/GB.
Запускайте из Playwright, Puppeteer или Claude. Посмотреть Cloud Browser.
Один аккаунт, одна прокси-сеть, одна экосистема. Выберите продукт под задачу.
Парсите больше сайтов? Смотрите парсеры Reddit, Google Maps и Amazon или все инструменты для веб-парсинга.
Да. Web Unlocker - это API для парсинга YouTube: отправьте ему поиск, видео или загрузки канала, и он откроет страницу в настоящем браузере и вернёт её с данными, которые YouTube хранит внутри: названиями, просмотрами, каналами, датами и длительностью. $0.98 за 1000 страниц, а код выше читает ответ.
Да. Страница видео YouTube отдаёт точные просмотры, лайки, число комментариев, описание, теги, дату публикации и языки субтитров, а также 20 похожих видео, и оплачивается как одна страница. Вкладка «Данные видео» выше читает их.
Отправьте youtube.com/results с вашим ключевым словом. Одна страница приносит до 20 видео и до 25 Shorts, у каждого есть просмотры, канал, давность и длительность, а оплата - как за одну страницу. Добавьте фильтры самого YouTube, по дате загрузки или по просмотрам, чтобы получить другую выдачу.
По умолчанию 100 поисковых вызовов в день на проект, в каждом до 50 результатов. Чтобы получить больше, нужны запрос на квоту и аудит Google. У Web Unlocker нет дневного лимита: вы платите за страницу, $0.98 за 1000.
Да, в рамках квоты: 10 000 единиц в день для большинства вызовов плюс 100 поисков. Сверх этого Google повышает квоту только после аудита вашего проекта.
Да. Страницы поиска, видео и каналов публичные и открываются без входа. Web Unlocker возвращает их такими, какими их видит браузер посетителя, без проекта Google и без ключа API.
Откройте плейлист загрузок канала: первая страница показывает 100 видео с просмотрами и давностью. Затем откройте его последнее видео вместе с этим плейлистом: каждая такая страница показывает ещё 78. 10 страниц приносят 802 видео за 1 цент.
YouTube подгружает комментарии при прокрутке, поэтому Web Unlocker их не возвращает. Cloud Browser прокручивает видео за вас: 100 комментариев за 26 секунд, а 100 комментариев к каждому из 1000 видео обходятся в $6.95.
Да, с Cloud Browser. API YouTube отдаёт расшифровки только ваших видео, а запросы с серверов получают пустой файл. Cloud Browser открывает расшифровку так же, как зритель, за 25 секунд на видео.
Отправьте адрес поиска в Web Unlocker через библиотеку requests и прочитайте видео со страницы. Вкладка Python выше - готовый скрипт, проверенный на живом API.
Да. Страница поиска приносит до 25 Shorts с названиями и просмотрами, вкладка Shorts канала показывает 48, а на странице самого Shorts есть лайки, число комментариев и дата.
Web Unlocker возвращает страницу, а не таблицу, поэтому до вас ничего не обрезается. Превратить её в CSV можно несколькими строками кода или одним запросом: передайте страницу Claude вместе с Gologin scraping skill и попросите CSV.
$0.98 за 1000 страниц, одна цена за любую страницу. Поиск, который приносит до 20 видео, - одна страница, видео с его показателями - одна страница. Страница, которая не загрузилась, ничего не стоит. Тарифы начинаются от $49 в месяц за 50 000 запросов.
Да, для старта: с Web Unlocker вы получаете 1000 бесплатных запросов, этого хватит на 1000 поисков или 1000 видео.
Зависит от задачи. API YouTube бесплатен для 100 поисков в день. Apify и Bright Data продают готовые строки и берут деньги за каждое видео. Web Unlocker возвращает всю страницу по одной цене, поэтому 20 видео стоят столько же, сколько одно.
Страницы поиска, видео и каналов - публичные страницы, которые открываются без входа. Web Unlocker загружает их так же, как браузер посетителя, и возвращает страницу. Что вы собираете и как используете, решаете вы, поэтому сверьтесь с правилами, которые относятся к вашему проекту.
Расскажите немного о вашей команде и получите: