Scraper API
REST-обёртка над очередью Redis. Ставите задачу → получаете job_id → опрашиваете статус → забираете результат.
Базовый URL: https://scraper.mindq.ru
Эндпоинты
| Метод | Путь | Назначение |
|---|---|---|
| GET | /api/health | Жив ли сервис, доступен ли Redis |
| POST | /api/jobs | Поставить задачу в очередь |
| GET | /api/jobs/{id} | Статус и метаданные задачи |
| GET | /api/jobs/{id}/result | JSON-результат (если status=done) |
Поставить задачу
POST /api/jobs
Content-Type: application/json
{
"platform": "wolt",
"url": "https://wolt.com/en/deu/aachen/restaurant/friends-tasty-kitchen-c46887"
}
Ответ 202 Accepted
{
"job_id": "779be1795292c639d87a7173081102eb",
"status": "pending"
}
Поддерживаемые platform
wolt— Wolt menu & venue infodoordash— DoorDash store + menu (через ScraperAPI)googlemaps— Google Maps place + reviews (через ScraperAPI + Playwright)yelp— Yelp business + reviews (через ScraperAPI)
Кликайте на платформу, чтобы посмотреть стратегию парсинга, полный список вытаскиваемых полей с примерами и нюансы. Дубли URL разрешены.
Опции запроса options.scraperapi
Опциональный объект для платформ doordash, googlemaps, yelp — управляет тем, как ScraperAPI забирает HTML.
Источник: docs.scraperapi.com. Wolt не использует ScraperAPI и эти опции игнорирует.
POST /api/jobs
{
"platform": "googlemaps",
"url": "https://www.google.com/maps/place/...",
"options": {
"scraperapi": {
"country_code": "de",
"device_type": "desktop",
"premium": false,
"ultra_premium": false,
"session_number": 12345,
"keep_headers": false,
"follow_redirect": true
}
}
}
| параметр | значения | что делает | стоимость |
|---|---|---|---|
country_code | us, gb, de, fr, it, es, ru, jp, … | Прокси из этой страны. Влияет на язык страницы. | 0 |
device_type | desktop / mobile | User-Agent: десктопный или мобильный. | 0 |
premium | true / false | Residential/mobile прокси. | +10 кр |
ultra_premium | true / false | Усиленный обход. Несовместим с premium. | +30 кр |
session_number | integer | Sticky-session: один IP на 15 минут. | 0 |
keep_headers | true / false | Сохранять кастомные заголовки. | 0 |
follow_redirect | true / false | Следовать HTTP редиректам. | 0 |
Например для немецкого ресторана в Google Maps полезно country_code: "de", чтобы интерфейс был на немецком/английском, а не на случайном языке.
Статусы задачи
| pending | в очереди — задача поставлена, ждёт воркера |
| running | выполняется — воркер взял задачу в работу |
| done | готово — JSON можно забрать через /api/jobs/{id}/result |
| failed | ошибка — см. поле error и логи в админке |
cURL
# 1. поставить
curl -X POST https://scraper.mindq.ru/api/jobs \
-H 'Content-Type: application/json' \
-d '{"platform":"wolt","url":"https://wolt.com/..."}'
# 2. статус
curl https://scraper.mindq.ru/api/jobs/<JOB_ID>
# 3. результат
curl https://scraper.mindq.ru/api/jobs/<JOB_ID>/result > result.json