Методы API
GET /api/v1/reviews/<sku>
Отзывы товара по артикулу: текст отзывов, рейтинг, медиа из отзывов, данные о товаре.
market — обязательный: ozon или wb
sku — артикул в URL, только цифры
page — номер страницы, обязательный (Ozon: по 3 отзыва; при media=1 — по ~15; WB: по 20)
media — Ozon: 1 только с медиа, 0 только текст, без параметра — все. WB: необязательный, по умолчанию 1 (только с медиа, в т.ч. без текста)
only_sku — 1 только отзывы на этот SKU (Ozon)
curl "https://mpdown.ru/api/v1/reviews/123456789?market=ozon&page=1&only_sku=1" \
-H "X-API-Key: ваш_api_ключ"
curl "https://mpdown.ru/api/v1/reviews/270569932?market=wb&page=1" \
-H "X-API-Key: ваш_api_ключ"
GET /api/v1/user-reviews/<user_id>
Отзывы покупателя Ozon по UUID (ClientGuid): текст, рейтинг, данные о товаре, медиа из отзывов.
user_id — UUID покупателя в URL
page — номер страницы, обязательный (по 20 отзывов на страницу)
curl "https://mpdown.ru/api/v1/user-reviews/0d379928-b39f-4598-b16e-5092168d3fc0?page=1" \
-H "X-API-Key: ваш_api_ключ"
GET /api/v1/gallery/<sku>
Фото и видео товара — галерея карточки, ссылки на медиа в JSON.
market — обязательный: ozon или wb
sku — артикул в URL, только цифры
curl "https://mpdown.ru/api/v1/gallery/123456789?market=ozon" \
-H "X-API-Key: ваш_api_ключ"
curl "https://mpdown.ru/api/v1/gallery/270569932?market=wb" \
-H "X-API-Key: ваш_api_ключ"
GET /api/v1/suggestions
Подсказки по ключевому слову (как в строке поиска на сайте). Без брендов и категорий — только поисковые фразы.
market — обязательный: ozon или wb
q — ключевое слово или начало фразы (до 200 символов)
curl "https://mpdown.ru/api/v1/suggestions?q=флешка&market=ozon" \
-H "X-API-Key: ваш_api_ключ"
curl "https://mpdown.ru/api/v1/suggestions?q=бейдж&market=wb" \
-H "X-API-Key: ваш_api_ключ"
GET /api/v1/search
Поиск товаров по ключевому слову: артикул, название, цена, рейтинг, массив images.
market — обязательный: ozon или wb
q — ключевое слово (до 200 символов)
listing_url — только Ozon: URL следующей страницы из next_page_url
page — только WB: номер страницы (по умолчанию 1)
sorting — Ozon: score, new, price, price_desc, rating, discount
sort — WB: popular, rate, priceup, pricedown, newly, benefit
curl "https://mpdown.ru/api/v1/search?q=флешка+500гб&sorting=price&market=ozon" \
-H "X-API-Key: ваш_api_ключ"
curl "https://mpdown.ru/api/v1/search?q=бейдж&sort=popular&page=1&market=wb" \
-H "X-API-Key: ваш_api_ключ"
GET /api/v1/seller
Товары продавца: артикул, название, цена, рейтинг, массив images.
market — обязательный: ozon или wb
seller — slug, ID или ссылка на продавца
listing_url — только Ozon: URL следующей страницы из next_page_url
page — только WB: номер страницы (по умолчанию 1)
sort — только WB: сортировка каталога продавца
category_ids — только WB: ID категорий через запятую (макс. 10)
curl "https://mpdown.ru/api/v1/seller?seller=wouytf&market=ozon" \
-H "X-API-Key: ваш_api_ключ"
curl "https://mpdown.ru/api/v1/seller?seller=123456&sort=popular&page=1&market=wb" \
-H "X-API-Key: ваш_api_ключ"
GET / POST /api/v1/searchs
Массовое получение отзывов или фото товаров по списку артикулов (как /searchs/).
До 50 артикулов за запрос. Ответ — массив items с результатом по каждому артикулу.
mode — reviews (отзывы и медиа из отзывов) или gallery (фото карточки товара)
skus — артикулы через запятую в query или JSON {"mode": "reviews", "skus": ["123", "456"]} в POST
curl "https://mpdown.ru/api/v1/searchs?mode=reviews&skus=123456789,987654321" \
-H "X-API-Key: ваш_api_ключ"
Пример на Python
import requests
API_KEY = "oz_ваш_ключ"
ARTICUL = "123456789"
BASE = "https://mpdown.ru"
headers = {"X-API-Key": API_KEY}
reviews = requests.get(f"{BASE}/api/v1/reviews/{ARTICUL}", headers=headers, params={"market": "ozon", "page": 1}, timeout=60)
reviews.raise_for_status()
data = reviews.json()
print(data["count"], "отзывов на странице,", data["total"], "всего")
gallery = requests.get(f"{BASE}/api/v1/gallery/{ARTICUL}", headers=headers, params={"market": "ozon"}, timeout=60)
gallery.raise_for_status()
photos = gallery.json()["gallery"]
print(len(photos), "фото товара")
suggestions = requests.get(f"{BASE}/api/v1/suggestions", headers=headers, params={"q": "флешка", "market": "ozon"}, timeout=30)
suggestions.raise_for_status()
print(suggestions.json()["suggestions"])
search = requests.get(f"{BASE}/api/v1/search", headers=headers, params={"q": "флешка 500гб", "sorting": "price", "market": "ozon"}, timeout=60)
search.raise_for_status()
page = search.json()
print(page["total_on_page"], "товаров, артикулы:", [p["sku"] for p in page["products"]])
if page.get("next_page_url"):
page2 = requests.get(f"{BASE}/api/v1/search", headers=headers, params={"listing_url": page["next_page_url"], "market": "ozon"}, timeout=60)
page2.raise_for_status()
print("страница 2:", page2.json()["total_on_page"], "товаров")
seller = requests.get(f"{BASE}/api/v1/seller", headers=headers, params={"seller": "wouytf", "market": "ozon"}, timeout=60)
seller.raise_for_status()
catalog = seller.json()
print(catalog["total_on_page"], "товаров продавца", catalog["seller"])