Home      API一覧     商品価格ナビ製品検索API

商品価格ナビ製品検索APIは、キーワードやジャンルによって商品価格ナビ内の製品を検索することが可能なAPIです。
旧バージョンのプロダクト製品検索API、プロダクト製品詳細API、プロダクトジャンル情報APIの機能を実装しています。

リクエストURL(REST/JSON形式の場合)


https://app.rakuten.co.jp/services/api/Product/Search/20170426?format=xml&[parameter]=[value]…
https://app.rakuten.co.jp/services/api/Product/Search/20170426?format=json&[parameter]=[value]…
    

※JSONP形式は、JSON形式で入力パラメーターにcallbackを指定することで出力されます。

フィールド名keyword, sortに対応する[value]はUTF-8でURLエンコードされている必要があります。(リクエストURL全体をエンコードするのではなく、[value]部分を個別にエンコードしてください。)
たとえば、「ノートパソコン」という検索キーワードで、かつ「ノートパソコン(ジャンルID:100040)」から検索した場合のリクエストURLは下記になります。(実際には改行せずに1行につなげてリクエストしてください。)

https://app.rakuten.co.jp/services/api/Product/Search/20170426?
applicationId=[アプリID]
&format=xml
&keyword=%E3%83%8E%E3%83%BC%E3%83%88%E3%83%91%E3%82%BD%E3%82%B3%E3%83%B3
&genreId=100040

※短い時間の間に大量に、同一のリクエストURLへアクセスすると、一定時間利用できなくなる場合がございます。テストの際にはご注意ください。

入力パラメーター


商品価格ナビ製品検索API(ProductSearch) 入力パラメーター version:2017-04-26

ID 項目名 パラメーター 型(括弧内は最大バイト数) 必須 デフォルト 備考
区分:共通パラメーター
1 アプリID applicationId String 必須 - こちらで確認できます
2 アフィリエイトID affiliateId String - 指定無し こちらで確認できます
3 レスポンス形式 format String - json json か xml を選択することができます。
json を選択した場合、 callback パラメーター指定により jsonp 形式にすることもできます。
4 コールバック関数名 callback String - 指定無し JSONPとして出力する際のコールバック関数名
(UTF-8でURLエンコードした文字列)
英数字、「.(ドット)」、「_(アンダーバー)」、「[(中括弧)」、「](中括弧)」のいずれか1文字以上
5 出力パラメーター指定 elements String - ALL カンマ区切りで、必要な出力パラメータを指定した場合、
指定された出力パラメータのみを返却します。
(例)elements=reviewCount,reviewAverage
6 出力フォーマットバージョン formatVersion int - 1

出力フォーマットのバージョン指定です。

2 を指定すると、JSONの出力方法が改善され以下のようになります。

formatVersion=1 の場合:
配列データに関して、以下の様にデータが返ります。
したがって、最初の itemName にアクセスするためにitems[0].item.itemNameとたどる必要があります。

{"items": [
    {"item": {
        "itemName": "a",
        "itemPrice": 10
    }},
    {"item": {
        "itemName": "b",
        "itemPrice": 20
    }}
]}

formatVersion=2 の場合:
下記のように、配列中の重複するオブジェクトが省略されます。
最初の itemName にアクセスするためにitems[0].itemNameでアクセスできます。

{"items": [
    {
        "itemName": "a",
        "itemPrice": 10
    },
    {
        "itemName": "b",
        "itemPrice": 20
    }
]}
区分:サービス固有パラメーター
1 検索キーワード keyword String Affiliate対応あり
(*1)
- UTF-8でURLエンコードした文字列
(*1)検索キーワード、ジャンルIDのいずれかが指定されていることが必須です。
2 ジャンルID genreId String Affiliate対応あり
(*1)
- 楽天市場におけるジャンルを特定するためのID
ジャンル名、ジャンルの親子関係を調べたい場合は、「楽天ジャンル検索API(GenreSearch)」をご利用ください
(*1)検索キーワード、ジャンルIDのいずれかが指定されていることが必須です。
3 楽天プロダクト製品ID productId String Affiliate対応あり
(*1)
- 楽天プロダクト用の製品ID 他のAPI入力パラメーターと併用することはできません。
※共通パラメーターを除く
(*1)検索キーワード、ジャンルID、楽天プロダクト製品IDのいずれかが指定されていることが必須です。
4 1ページあたりの取得件数 hits int - 30 1から30までの整数
5 取得ページ page int - 1 1から100までの整数
6 ソート sort String - standard standard:
楽天標準ソート順
-releaseDate:
発売日順(降順)
-seller:
売上順(降順)
-satisfied:
満足順(降順)
※UTF-8でURLエンコードされている必要があります。
7 最小価格 minPrice long - - 1以上999,999,999以下の整数
出力パラメータのsalesMinPriceを参照し、検索結果を絞り込みます。
8 最大価格 maxPrice long - - 1以上999,999,999以下の整数
出力パラメータのsalesMinPriceを参照し、検索結果を絞り込みます。
9 OR検索フラグ orFlag int(1) - 0 複数キーワードが設定された場合に、AND検索、OR検索のいずれかが選択可能。
0:AND検索
1:OR検索
※ただし、(A and B) or Cといった複雑な検索条件設定は指定不可。
10 ジャンルごとの商品数取得フラグ genreInformationFlag int(1) - 0 0 :ジャンルごとの商品数の情報を取得しない
1 :ジャンルごとの商品数の情報を取得する

出力パラメーター


商品価格ナビ製品検索API(ProductSearch) 出力パラメーター version:2017-04-26

ID 大分類 分類 項目名 パラメーター 備考
1 全体情報 検索数 count 検索結果の総商品数
2 ページ番号 page 現在のページ番号
3 ページ内商品始追番 first 検索結果の何件目からか
4 ページ内結果終了番号 last 検索結果の何件目までか
5 ヒット件数番 hits 1度に返却する商品数
6 総ページ数 pageCount 最大100
1 製品情報 製品基本情報 楽天プロダクト製品ID productId
2 製品名 productName
3 型番 productNo
4 ブランド名 brandName
5 製品ページURL(PC) productUrlPC httpsではじまる製品ページURL(PC)となります
6 製品ページURL(モバイル) productUrlMobile httpではじまる製品ページURL(モバイル)となります
7 アフィリエイトURL affiliateUrl (入力パラメーターにアフィリエイトIDが含まれていた時のみ)
※carrierパラメーターの指定に関わらずPC/mobile両対応のhttps URLを返却
8 製品画像64x64URL smallImageUrl httpsではじまる商品画像(64x64ピクセル)のURL
9 製品画像128x128URL mediumImageUrl httpsではじまる商品画像(128x128ピクセル)のURL
10 製品説明文 productCaption
11 発売年月日 releaseDate
12 メーカー情報 楽天プロダクトメーカーコード makerCode
13 会社名 makerName
14 会社名カナ makerNameKana
15 会社正式名称 makerNameFormal
16 メーカーページURL(PC) makerPageUrlPC httpsではじまるメーカーページURL(PC)となります
17 メーカーページURL(モバイル) makerPageUrlMobile httpではじまるメーカーページURL(モバイル)となります
18 商品数/価格情報 商品数 itemCount
19 購入可能な商品数 salesItemCount
20 中古を除く商品数 usedExcludeCount
21 中古を除く購買可能な商品数 usedExcludeSalesItemCount
22 最高価格 maxPrice
23 購入可能な最高価格 salesMaxPrice
24 中古を除く最高価格 usedExcludeMaxPrice
25 中古を除く購入可能な最高価格 usedExcludeSalesMaxPrice
26 最低価格 minPrice
27 購入可能な最低価格 salesMinPrice
28 中古を除く最低価格 usedExcludeMinPrice
29 中古を除く購入可能な最低価格 usedExcludeSalesMinPrice
30 平均価格 averagePrice
31 評価情報 レビュー数 reviewCount
32 レビュー平均 reviewAverage
33 レビューページURL(PC) reviewUrlPC httpsではじまるレビューページURL(PC)となります
34 レビューページURL(モバイル) reviewUrlMobile httpではじまるレビューページURL(モバイル)となります
35 ランキング順位 rank
36 ランキングの対象ジャンルID rankTargetGenreId
37 ランキングの対象製品数 rankTargetProductCount
38 ジャンル情報 ジャンルID genreId
39 ジャンル名/td> genreName
40 製品詳細情報
(全体:<ProductDetails>
~ </ProductDetails>、
個別項目:<detail> ~ </detail>)
製品詳細 - detail 製品の詳細情報
複数ある場合は<detail> ~</detail>が
複数生成される
41 項目名 name
42 項目値 value
43 ジャンルごとの商品数 親ジャンル - parent
44 ジャンルID genreId
45 ジャンル名 genreName
46 ジャンル階層 genreLevel
47 ジャンルページURL(PC) genrePageUrlPC httpsではじまるジャンルページURL(PC)となります
48 ジャンルページURL(モバイル) genrePageUrlMobile httpではじまるジャンルページURL(モバイル)となります
49 自ジャンル - current
50 ジャンルID genreId
51 ジャンル名 genreName
52 ジャンルに紐づく商品数 productCount
53 ジャンル階層 genreLevel
54 ジャンルページURL(PC) genrePageUrlPC httpsではじまるジャンルページURL(PC)となります
55 ジャンルページURL(モバイル) genrePageUrlMobile httpではじまるジャンルページURL(モバイル)となります
56 子ジャンル - children
57 ジャンルID genreId
58 ジャンル名 genreName
59 ジャンルに紐づく商品数 productCount
60 ジャンル階層 genreLevel
61 ジャンルページURL(PC) genrePageUrlPC httpsではじまるジャンルページURL(PC)となります
62 ジャンルページURL(モバイル) genrePageUrlMobile httpではじまるジャンルページURL(モバイル)となります


アフィリエイトに関して


デベロッパーは、商品価格ナビ製品検索APIから取得した商品情報からアフィリエイトURLを作成することが可能です。リンク先にそのアフィリエイトURLを指定することで、楽天アフィリエイト経由の成果報酬を獲得することができます。

アフィリエイトURLの作り方は2通りあります。入力パラメーターcarrierでPCが指定された場合でもモバイルが指定された場合でも同様の方法でアフィリエイトURLを作成することができます。

(1) APIの入力パラメーターに「アフィリエイトID」を含める場合: APIの出力に「アフィリエイトURL」が含まれます。

(2) デベロッパーが自ら、(APIから取得した)「商品URL」と「アフィリエイトID(β版)」から「アフィリエイトURL」を作成する場合: 「アフィリエイトURL」は以下のルールで生成可能です。ただし、「商品URL」の部分はURLエンコードされている必要があります。

http://hb.afl.rakuten.co.jp/hgc/[アフィリエイトID]/?pc=[商品URL(PC)]&m=[商品URL(モバイル)]

エラー

エラー内容はHTTPステータスコードとレスポンスボディから判断できます。

HTTPステータスコード 意味 レスポンスボディ例 (JSON)
400 パラメーターエラー (必須パラメータ不足)

applicationId を指定しなかった場合

{
    "error": "wrong_parameter",
    "error_description": "specify valid applicationId"
}

keyword が正しい値でなかった時。(半角1文字のみ指定など)

{
    "error": "wrong_parameter",
    "error_description": "keyword parameter is not valid"
}
404 対象のデータが存在しなかった場合
{
    "error": "not_found",
    "error_description": "not found"
}
429 リクエスト過多 (各ユーザ制限値超過)

APIリクエスト数が上限に達した場合のエラーです。しばらく時間を空けてから、ご利用ください。

{
    "error": "too_many_requests",
    "error_description": "number of allowed requests has been exceeded for this API. please try again soon."
}
500 楽天ウェブサービス内のエラー

システムエラー。長時間続くようであれば、こちらよりごお問い合わせください。

{
    "error": "system_error",
    "error_description": "api logic error"
}
503 メンテナンス・リクエスト過多 (全ユーザ制限値超過)

メンテナンス (XXX/XXX にはAPI名が入る)

{
    "error": "service_unavailable",
    "error_description": "XXX/XXX is under maintenance"
}

レスポンスボディの形式は format に従います。

format エラー出力例
json
{
    "error": "wrong_parameter",
    "error_description": "page must be a number"
}
xml
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <error>wrong_parameter</error>
    <error_description>page must be a number</error_description>
</root>