# 아마존 상품 정보 조회



아마존 상품 주소 또는 ASIN 으로 상품명·가격·평점·리뷰 수·재고·판매자·특징·이미지를 조회합니다.



인증: Authorization: Bearer $APICK_API_KEY

본문 있는 REST 요청: multipart/form-data. GET 본문 및 MCP JSON-RPC 규격은 해당 명세를 따릅니다.

인증키는 서버에 보관하세요. 모든 예제는 정적 자료입니다.



## POST /rest/amazon_product 응답 필드

- `data` (object): 조회 데이터. 실패하면 error 에 안내 문구가 담깁니다.

- `data.asin` (string): ASIN

- `data.url` (string): 상품 주소

- `data.title` (string): 상품명

- `data.brand` (string): 브랜드

- `data.price` (number): 판매가

- `data.original_price` (number): 정가

- `data.currency` (string): 통화

- `data.rating` (number): 평점

- `data.reviews_count` (integer): 리뷰 수

- `data.availability` (string): 재고 표기

- `data.is_available` (boolean): 구매 가능 여부

- `data.bought_past_month` (integer): 지난달 구매 수 표기값. 없으면 null null 허용.

- `data.seller_name` (string): 판매자

- `data.categories` (array): 카테고리

- `data.features` (array): 상품 특징

- `data.customers_say` (string): 고객 리뷰 요약

- `data.image_url` (string): 대표 이미지

- `data.image_urls` (array): 이미지 목록

- `data.date_first_available` (string): 최초 판매일 표기

- `data.model_number` (string): 모델 번호

- `api` (object): API 호출 공통 데이터

- `api.success` (boolean): API 서버 정상 응답 여부

- `api.cost` (integer): 차감된 포인트. 실패한 응답은 0

- `api.pl_id` (integer): API 결제 로그 ID

- `api.ms` (integer): API 응답 시간(밀리초)

## API 요청: POST /rest/amazon_product



### 입력

- `url` (string, 조건부): 아마존 상품 주소 (/dp/ASIN 형식, url 또는 asin 중 하나 필수)

- `asin` (string, 조건부): ASIN 10자리 (미국 아마존 기준)



### 응답 명세

```json

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "asin": {
          "type": "string",
          "description": "ASIN"
        },
        "url": {
          "type": "string",
          "description": "상품 주소"
        },
        "title": {
          "type": "string",
          "description": "상품명"
        },
        "brand": {
          "type": "string",
          "description": "브랜드"
        },
        "price": {
          "type": "number",
          "description": "판매가"
        },
        "original_price": {
          "type": "number",
          "description": "정가"
        },
        "currency": {
          "type": "string",
          "description": "통화"
        },
        "rating": {
          "type": "number",
          "description": "평점"
        },
        "reviews_count": {
          "type": "integer",
          "description": "리뷰 수"
        },
        "availability": {
          "type": "string",
          "description": "재고 표기"
        },
        "is_available": {
          "type": "boolean",
          "description": "구매 가능 여부"
        },
        "bought_past_month": {
          "type": "integer",
          "description": "지난달 구매 수 표기값. 없으면 null",
          "nullable": true
        },
        "seller_name": {
          "type": "string",
          "description": "판매자"
        },
        "categories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "카테고리"
        },
        "features": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "상품 특징"
        },
        "customers_say": {
          "type": "string",
          "description": "고객 리뷰 요약"
        },
        "image_url": {
          "type": "string",
          "description": "대표 이미지"
        },
        "image_urls": {
          "type": "array",
          "items": {},
          "description": "이미지 목록"
        },
        "date_first_available": {
          "type": "string",
          "description": "최초 판매일 표기"
        },
        "model_number": {
          "type": "string",
          "description": "모델 번호"
        }
      },
      "description": "조회 데이터. 실패하면 error 에 안내 문구가 담깁니다."
    },
    "api": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "API 서버 정상 응답 여부"
        },
        "cost": {
          "type": "integer",
          "description": "차감된 포인트. 실패한 응답은 0"
        },
        "pl_id": {
          "type": "integer",
          "description": "API 결제 로그 ID"
        },
        "ms": {
          "type": "integer",
          "description": "API 응답 시간(밀리초)"
        }
      },
      "description": "API 호출 공통 데이터"
    }
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "asin": "B0BDHWDR12",
    "url": "https://www.amazon.com/dp/B0BDHWDR12",
    "title": "Apple AirPods Pro (2nd Gen) Wireless Earbuds",
    "brand": "Apple",
    "price": 263.86,
    "original_price": 263.86,
    "currency": "USD",
    "rating": 4.7,
    "reviews_count": 57950,
    "availability": "In Stock",
    "is_available": true,
    "bought_past_month": 400,
    "seller_name": "6ave",
    "categories": [
      "Electronics"
    ],
    "features": [
      "RICHER AUDIO EXPERIENCE ..."
    ],
    "customers_say": "Customers love the sound quality ...",
    "image_url": "https://m.media-amazon.com/images/I/61f1YfTkTDL._AC_SL1500_.jpg",
    "image_urls": [],
    "date_first_available": "September 9, 2022",
    "model_number": "MQD83AM/A"
  },
  "api": {
    "success": true,
    "cost": 20,
    "pl_id": 1595635,
    "ms": 21240
  }
}

```

### curl

```curl

curl --fail-with-body --request POST 'https://apick.app/rest/amazon_product' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'asin=B0BDHWDR12'

```

### Node.js (서버 ESM)

```javascript

const form = new FormData();
form.append("asin", "B0BDHWDR12");
const response = await fetch("https://apick.app/rest/amazon_product", {
  method: "POST",
  headers: { Authorization: "Bearer " + process.env.APICK_API_KEY },
  body: form,
  signal: AbortSignal.timeout(120_000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const result = await response.json();
console.log(result);

```

### python

```python

import os
import requests
parts = [
    ("asin", (None, "B0BDHWDR12")),
]
response = requests.request("POST", "https://apick.app/rest/amazon_product",
    headers={"Authorization": "Bearer " + os.environ["APICK_API_KEY"]},
    files=parts,
    timeout=(10, 120))
response.raise_for_status()
result = response.json()
print(result)

```

### php

```php

<?php
$headers = ["Authorization: Bearer " . getenv("APICK_API_KEY")];
$form = [
    'asin' => 'B0BDHWDR12',
];
$curl = curl_init('https://apick.app/rest/amazon_product');
curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $form,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 120,
]);
$body = curl_exec($curl);
if ($body === false) { throw new RuntimeException(curl_error($curl)); }
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($status >= 400) { throw new RuntimeException($body); }
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
print_r($result);

```

## 코드·오류

## 상세 기능·요금

Method URL POST https://apick.app/rest/amazon_product 실패한 호출(입력 오류, 시간 초과, 대상 없음)은 과금하지 않습니다. 처리에 보통 20~30초가 걸립니다. 클라이언트 타임아웃을 100초 이상으로 설정해 주세요. 같은 요청은 최대 10분 동안 같은 결과가 반환될 수 있습니다. API 호출 요청 요청하기 Key Value url asin 응답

## 상세 요청

Header 이름 필수 설명 Authorization O Bearer 인증키

## 상세 응답

Body 이름 타입 설명 data Object 조회 데이터. 실패하면 error 에 안내 문구가 담깁니다. asin String ASIN url String 상품 주소 title String 상품명 brand String 브랜드 price Number 판매가 original_price Number 정가 currency String 통화 rating Number 평점 reviews_count Integer 리뷰 수 availability String 재고 표기 is_available Boolean 구매 가능 여부 bought_past_month Integer 지난달 구매 수 표기값. 없으면 null seller_name String 판매자 categories Array 카테고리 features Array 상품 특징 customers_say String 고객 리뷰 요약 image_url String 대표 이미지 image_urls Array 이미지 목록 date_first_available String 최초 판매일 표기 model_number String 모델 번호 api Object API 호출 공통 데이터 success Boolean API 서버 정상 응답 여부 cost Integer 차감된 포인트. 실패한 응답은 0 ms Integer API 응답 시간(밀리초) pl_id Integer API 결제 로그 ID

## 상세 예제

요청 예시 form-data 전체 예제 보기 응답 예시 { "data": { "asin": "B0BDHWDR12", "url": "https://www.amazon.com/dp/B0BDHWDR12", "title": "Apple AirPods Pro (2nd Gen) Wireless Earbuds", "brand": "Apple", "price": 263.86, "original_price": 263.86, "currency": "USD", "rating": 4.7, "reviews_count": 57950, "availability": "In Stock", "is_available": true, "bought_past_month": 400, "seller_name": "6ave", "categories": [ "Electronics" ], "features": [ "RICHER AUDIO EXPERIENCE ..." ], "customers_say": "Customers love the sound quality ...", "image_url": "https://m.media-amazon.com/images/I/61f1YfTkTDL._AC_SL1500_.jpg", "image_urls": [], "date_first_available": "September 9, 2022", "model_number": "MQD83AM/A" }, "api": { "success": true, "cost": 20, "pl_id": 1595635, "ms": 21240 } }
