Документация Scraping API
Полный справочник по ASINSpotlight Amazon Scraping API
Базовый URL
https://api.asinspotlight.com/v1
Аутентификация
Все запросы требуют API-ключ в заголовке x-api-key:
curl -H "x-api-key: YOUR_API_KEY" "https://api.asinspotlight.com/v1/product?asin=B0B3ZD8QXJ"
| Заголовок | Обязательный | Описание |
|---|---|---|
x-api-key |
Да | Ваш API-ключ |
Метаданные ответа
Каждый успешный ответ содержит объект meta с метаданными по конкретному запросу. Блок meta.usage позволяет строить циклы с учётом квоты, не обращаясь к отдельному эндпоинту:
"meta": {
"marketplace": "us",
"timing_ms": 1842,
"request_url": "https://www.amazon.com/dp/B0B3ZD8QXJ",
"timestamp": "2026-05-03T10:14:22.318Z",
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"usage": { "requests_consumed": 1, "requests_remaining": 49999 }
}
requests_consumed равно 1 для любого успешного скрейпинга (HTTP 200) — включая результаты «не найдено», где found равно false, поскольку страница всё равно была загружена и разобрана; 0 для любой неудачи. Блок meta.usage также включается в ошибки 429 (превышение лимита запросов и квоты), чтобы вы могли узнать остаток кредитов даже при отклонённом запросе.
Found vs. Not Found
Коды состояния отражают работоспособность нашего сервиса, а не содержимое Amazon. Каждый успешный ответ содержит логическое поле верхнего уровня found:
found: true— сущность найдена;dataсодержит данные.found: false— скрейпинг выполнен успешно, но сущность отсутствует на Amazon (неверный ASIN/продавец, удалённый листинг).dataравноnull, HTTP-статус по-прежнему200, и запрос всё равно списывает один кредит.
Ориентируйтесь на found, а не на HTTP-статус, чтобы отличить «найдено» от «не найдено». Оставьте 4xx для ошибок ваших запросов, а 5xx — для наших сбоев.
Эндпоинты
GET /v1/product
Получить информацию о товаре по ASIN.
Параметры
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
asin |
string | Да | ASIN товара на Amazon | |
marketplace |
string | Нет | us |
Код маркетплейса (см. ниже) |
Пример
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/product?asin=B0B3ZD8QXJ&marketplace=us"
Ответ
{
"success": true,
"found": true,
"page_type": "product",
"data": {
"asin": "B0B3ZD8QXJ",
"title": "Product Title",
"buybox": true,
"bb_price": 29.99,
"rating": 4.5,
"reviews": 1234,
"bsr": 5678,
"in_stock": true,
"is_prime": true,
"brand": { "name": "BrandName", "url": "/stores/BrandName" },
"category": { "name": "Electronics", "url": "/b?node=123" },
"image_url": "https://m.media-amazon.com/images/I/...",
"sellers_all": 5,
"bought_past_month": 1000
},
"meta": {
"marketplace": "us",
"timing_ms": 2340,
"request_url": "https://www.amazon.com/dp/B0B3ZD8QXJ",
"timestamp": "2026-04-03T12:00:00.000Z",
"request_id": "550e8400-e29b-41d4-a716-446655440000"
}
}
GET /v1/offers
Получить все предложения продавцов для товара — полную панель Buy Box и список всех предложений (All Offers Display) — с указанием для каждого предложения состояния, цены, стоимости доставки, способа исполнения заказа, рейтинга продавца и наличия на складе.
Параметры
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
asin |
string | Да | ASIN товара на Amazon | |
marketplace |
string | Нет | us |
Код маркетплейса |
condition |
string | Нет | all |
Фильтрация предложений по состоянию (см. ниже) |
Фильтрация по состоянию
По умолчанию (condition=all) возвращаются предложения любого состояния. Передайте condition, чтобы ограничить результат одним состоянием или градацией состояния «бывший в употреблении»:
| Значение | Возвращает |
|---|---|
all |
Все состояния (по умолчанию) |
new |
Только новые предложения |
used |
Любая градация б/у (как новый / очень хорошее / хорошее / приемлемое) |
used_like_new |
Только б/у — как новый |
used_very_good |
Только б/у — очень хорошее |
used_good |
Только б/у — хорошее |
used_acceptable |
Только б/у — приемлемое |
collectible |
Только коллекционные предложения |
Фильтр применяется к итоговому condition каждого предложения, поэтому ответ содержит только предложения запрошенного состояния, а fba_count / fbm_count / sold_by_amazon отражают отфильтрованный набор. Каждый запрос списывает один кредит независимо от фильтра.
Пример
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/offers?asin=B0B3ZD8QXJ&marketplace=us"
Пример (только б/у предложения)
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/offers?asin=B0B3ZD8QXJ&marketplace=us&condition=used"
Ответ
Каждая запись в product_sellers_info содержит нормализованное состояние condition (new, used_like_new, used_very_good, used_good, used_acceptable или collectible) и дословный заголовок condition_text, который Amazon показывает для этого предложения. condition равно null, когда заголовок Amazon отсутствует или не распознан (например, Renewed/Refurbished или некоторые неанглийские формулировки) — исходная подпись по-прежнему доступна в condition_text. seller_id равно null для предложений, продаваемых напрямую Amazon.
{
"success": true,
"found": true,
"page_type": "offers",
"data": {
"sold_by_amazon": true,
"fba_count": 3,
"fbm_count": 2,
"product_sellers_info": [
{
"name": "Amazon.com",
"price": 29.99,
"shipping_price": 0,
"is_fba": true,
"is_amazon": true,
"stock_qty": 100,
"rating_percent": 95,
"reviews_count": 50000,
"condition": "new",
"condition_text": "New",
"seller_id": null,
"domain": "com",
"is_just_launched": false
},
{
"name": "ThriftBooks",
"price": 18.50,
"shipping_price": 3.99,
"is_fba": false,
"is_amazon": false,
"stock_qty": 5,
"rating_percent": 97,
"reviews_count": 4200,
"condition": "used_like_new",
"condition_text": "Used - Like New",
"seller_id": "A3XYZ123456",
"domain": "com",
"is_just_launched": false
}
]
},
"meta": { "..." : "..." }
}
GET /v1/search
Поиск товаров по ключевому слову.
Параметры
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
keyword |
string | Да | Ключевое слово для поиска | |
marketplace |
string | Нет | us |
Код маркетплейса |
Пример
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/search?keyword=wireless+headphones&marketplace=us"
Ответ
{
"success": true,
"found": true,
"page_type": "search",
"data": {
"title": "wireless headphones",
"current_page": 1,
"last_page_number": 20,
"total_results_count": 10000,
"shallow_parts": [
{
"asin": "B0CQXMXJC5",
"title": "Soundcore Q20i Headphones",
"price": 39.99,
"rating": 4.6,
"reviews": 58800,
"bought_past_month": 20000,
"in_stock": true,
"image_url": "https://m.media-amazon.com/images/I/..."
}
]
},
"meta": { "..." : "..." }
}
GET /v1/seller
Получить профиль витрины продавца по его ID.
Параметры
| Параметр | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
sellerId |
string | Да | ID продавца (мерчанта) на Amazon — токен A… из URL витрины (/sp?seller=<sellerId>) |
|
marketplace |
string | Нет | us |
Код маркетплейса |
Пример
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.asinspotlight.com/v1/seller?sellerId=A1PXYTJNWCR133&marketplace=us"
Ответ
Возвращает имя продавца, рейтинг отзывов и долю положительных отзывов за последние 12 месяцев, общее количество оценок, ссылку на витрину, а также блок «Detailed Seller Information» (юридическое название компании и адрес), если Amazon его публикует. Неверный ID продавца возвращает 200 с found: false и data: null.
{
"success": true,
"found": true,
"page_type": "seller",
"data": {
"seller_id": "A1PXYTJNWCR133",
"name": "Lovinio",
"storefront_url": "/s?ie=UTF8&marketplaceID=ATVPDKIKX0DER&me=A1PXYTJNWCR133",
"rating": 3.4,
"positive_percent": 59,
"ratings_count": 217,
"business_name": "Lovinio Inc",
"business_address": ["4652 Eagle Falls Pl", "Tampa", "FL", "33619", "US"]
},
"meta": { "..." : "..." }
}
POST /v1/scrape
Извлечь данные с любой страницы Amazon. Тип страницы определяется автоматически.
Тело запроса (JSON)
| Поле | Тип | Обязательный | По умолчанию | Описание |
|---|---|---|---|---|
url |
string | Да | Полный URL страницы Amazon | |
marketplace |
string | Нет | us |
Код маркетплейса |
Пример
curl -X POST -H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://www.amazon.com/s?k=laptop+stand", "marketplace": "us"}' \
"https://api.asinspotlight.com/v1/scrape"
Ответ
Форма data соответствует определённому page_type. Для product, search, offers и seller она совпадает с данными типизированных эндпоинтов выше. category, bestseller, storefront и reviews возвращают структурированные данные, адаптированные под страницу. Страница «не найдено» возвращает found: false и data: null.
{
"success": true,
"found": true,
"page_type": "search",
"data": { "...": "..." },
"meta": { "...": "..." }
}
Поддерживаемые маркетплейсы
| Код | Страна | Домен |
|---|---|---|
us |
США | amazon.com |
uk |
Великобритания | amazon.co.uk |
de |
Германия | amazon.de |
fr |
Франция | amazon.fr |
it |
Италия | amazon.it |
es |
Испания | amazon.es |
ca |
Канада | amazon.ca |
au |
Австралия | amazon.com.au |
jp |
Япония | amazon.co.jp |
in |
Индия | amazon.in |
mx |
Мексика | amazon.com.mx |
br |
Бразилия | amazon.com.br |
tr |
Турция | amazon.com.tr |
sa |
Саудовская Аравия | amazon.sa |
ae |
ОАЭ | amazon.ae |
sg |
Сингапур | amazon.sg |
nl |
Нидерланды | amazon.nl |
pl |
Польша | amazon.pl |
se |
Швеция | amazon.se |
be |
Бельгия | amazon.com.be |
Ответы с ошибками
Все ошибки возвращаются в едином формате:
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Описание ошибки"
}
}
Отсутствующая сущность (неверный ASIN/продавец, удалённый листинг) не является ошибкой — возвращается 200 с found: false и data: null, и списывается один кредит. См. Found vs. Not Found.
| HTTP-статус | Код | Описание |
|---|---|---|
| 401 | MISSING_API_KEY |
Заголовок x-api-key не передан |
| 401 | INVALID_API_KEY |
Недействительный API-ключ |
| 500 | SCRAPE_FAILED |
Не удалось извлечь данные |
| 500 | INTERNAL_ERROR |
Внутренняя ошибка сервиса |