scraper.mindq.ru

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}/resultJSON-результат (если 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

Дубли URL разрешены — каждый запрос получит свой job_id и будет обработан независимо.

Опции запроса 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_codeus, gb, de, fr, it, es, ru, jp, …Прокси из этой страны. Влияет на язык страницы.0
device_typedesktop / mobileUser-Agent: десктопный или мобильный.0
premiumtrue / falseResidential/mobile прокси.+10 кр
ultra_premiumtrue / falseУсиленный обход. Несовместим с premium.+30 кр
session_numberintegerSticky-session: один IP на 15 минут.0
keep_headerstrue / falseСохранять кастомные заголовки.0
follow_redirecttrue / 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