PICEX API: быстрый старт на JavaScript и Python
У PICEX есть простой REST API: вы отправляете адрес страницы, а в ответ получаете JSON со списком найденных картинок или информацией о видео. Это удобно, если нужно встроить поиск медиа в свой сервис, бота или скрипт. Полная документация с описанием всех полей — на странице /api/docs.
Найти все картинки на странице
Эндпоинт POST /api/images/scrape принимает JSON с полем url. Пример на curl:
curl -X POST https://picex.ru/api/images/scrape \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/gallery"}'В ответе — массив images. У каждой картинки есть адрес и размеры:
{
"images": [
{
"src": "https://example.com/img/hero.webp",
"size": { "width": 1536, "height": 1024, "format": "webp", "size": 178050 }
}
]
}Node.js
const r = await fetch("https://picex.ru/api/images/scrape", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ url: "https://example.com/gallery" }),
});
const data = await r.json();
if (!r.ok) throw new Error(data.error);
// Только крупные фото, без иконок
const photos = data.images.filter((i) => i.size && i.size.width >= 800);
console.log(`Найдено ${data.images.length}, крупных: ${photos.length}`);Python
import requests
r = requests.post(
"https://picex.ru/api/images/scrape",
json={"url": "https://example.com/gallery"},
timeout=120,
)
data = r.json()
if not r.ok:
raise RuntimeError(data.get("error"))
for img in data["images"]:
print(img["src"], img["size"]["width"], "x", img["size"]["height"])Информация о видео
Эндпоинт POST /api/videos/ytdlp принимает ссылку на ролик (YouTube, ВКонтакте, RuTube, Twitch и другие) и возвращает объект info: название, длительность, обложку, автора и список доступных форматов. Это удобно, чтобы показать карточку видео в своём интерфейсе.
curl -X POST https://picex.ru/api/videos/ytdlp \
-H "Content-Type: application/json" \
-d '{"url": "https://rutube.ru/video/..."}'Ошибки и лимиты
- При ошибке API возвращает статус 4xx/5xx и JSON с полями
error(текст для человека),code(машинный код) и иногдаhint(подсказка). Например,"code": "empty"— на странице не нашлось картинок. - На один IP-адрес действует ограничение частоты: около 20 запросов парсинга в минуту. При превышении придёт статус 429 — подождите минуту.
- Парсинг одной страницы занимает от нескольких секунд до минуты: ставьте таймаут запроса не меньше 120 секунд.
Если вам нужен больший объём запросов или отдельные условия — напишите на info@picex.ru.