GetItemsは1回10件まで|Creators APIでASINをまとめて取る回数の計算
Creators APIのGetItemsには、1回の呼び出しで10件までのASINを入れられます。10件を1回で取っても、数える呼び出しは1回です。資格情報を作ってから最初の30日は1秒に1回・1日に8,640回が上限なので、1日に取れるASINは最大86,400件になります。この記事では、その根拠と、商品数ごとの呼び出し回数をPythonで計算します。
(確認:Amazonアソシエイト「Creators API Documentation」の GetItems・API Rates・Frequently Asked Questions。確認日:2026年10月29日。上限は変わることがあります)
公式ドキュメントに書かれている数字
| 項目 | 記載 | ページ |
|---|---|---|
| 1回に入れられるASIN | itemIdsは「up to 10」 |
GetItems |
| 10件を入れた1回の数え方 | 1回の呼び出し(1 transaction)として数える | API Rates |
| 最初の30日の上限 | 1秒に1回(1 TPS)、1日に8,640回(8,640 TPD) | API Rates |
| 30日より後の上限 | Creators API経由の出荷売上に応じて自動で調整(最大10 TPS) | API Rates |
| 上限を超えた時 | 429(ThrottleException)。retryAfterSecondsが付くことがある |
Error Codes and Messages |
| アクセスを失った時 | 429(TooManyRequests)が返る | API Rates |
API Rates のページでは、30日より後の上限は「直前30日間の出荷売上5セントごとに1 TPD、4,320ドルごとに1 TPS(最大10 TPS)」と書かれています。売上が少なければ、最初の30日より上限が小さくなる可能性があります。
そもそもCreators APIを使うには、過去30日間に10件以上の適格売上が必要です(Introduction の Prerequisites)。要件を満たさないとAssociateNotEligibleの403が返ります。
API Rates のページには、アクセスを失った(取り消された)場合は429 TooManyRequestsが返るとも書かれています。売上の要件を満たさない時に、AssociateNotEligibleの403ではなく429で返る可能性があるので、429を呼び出しの回数の問題だけと決めつけず、売上の件数も確かめてください。
コード:10件ずつに分けて回数を出す
APIは呼ばず、ASINの一覧を10件ずつに分ける処理と、商品数ごとの呼び出し回数・かかる秒数・1日の上限に占める割合を計算します。ASINは説明用の仮の値です。
# Creators API の GetItems で ASIN をまとめて取る時の回数と時間を計算する(APIは呼ばない)
# 根拠:公式ドキュメント GetItems「itemIds … (up to 10)」、API Rates「最初の30日は 1 TPS・8,640 TPD」(2026年10月29日に確認)
import math
PER_CALL = 10 # 1回の GetItems に入れられる ASIN の数
TPS = 1 # 1秒あたりの呼び出し(最初の30日の上限)
TPD = 8640 # 1日あたりの呼び出し(最初の30日の上限)
def chunks(items, n=PER_CALL):
return [items[i:i + n] for i in range(0, len(items), n)]
# 23件の ASIN(説明用の仮の値)を10件ずつに分ける
asins = [f'B0TEST{i:04d}' for i in range(1, 24)]
for k, c in enumerate(chunks(asins), 1):
print(f'{k}回目: {len(c):>2}件 {c[0]} 〜 {c[-1]}')
print()
print(f'{"商品数":>6} {"呼び出し":>6} {"1TPSでの秒数":>10} {"1日の上限に占める割合":>14}')
for n in (23, 500, 5000, 86400, 100000):
calls = math.ceil(n / PER_CALL)
print(f'{n:>8,} {calls:>8,} {calls / TPS:>12,.0f} {calls / TPD:>16.1%}')
print()
print(f'1日に取れる ASIN の最大(最初の30日): {TPD * PER_CALL:,}件')
計算の結果(Python 3)
1回目: 10件 B0TEST0001 〜 B0TEST0010
2回目: 10件 B0TEST0011 〜 B0TEST0020
3回目: 3件 B0TEST0021 〜 B0TEST0023
商品数 呼び出し 1TPSでの秒数 1日の上限に占める割合
23 3 3 0.0%
500 50 50 0.6%
5,000 500 500 5.8%
86,400 8,640 8,640 100.0%
100,000 10,000 10,000 115.7%
1日に取れる ASIN の最大(最初の30日): 86,400件
- 23件なら3回(10件・10件・3件)。端数の回も1回に数える
- 500件の価格を毎日取り直しても50回で、1日の上限の0.6%
- 100,000件は1日の上限(8,640回)を超えるので、最初の30日のうちは1日で取り切れない
まとめて取る時の注意
- 応答の順番は、入れた順と同じとは限らない。GetItems のページには、取れないASINは
errorsに入り、そのため応答の並びが変わることがあるので、ASINの値で照らし合わせるよう書かれている - 一部のASINが取れなくても、ほかのASINは
itemResultsで返る。取れなかったものだけを記録して、次回に回す - アクセストークンは1時間有効。呼び出しのたびに取り直すと、トークンを出す側の制限(429・
Retry-After: 300の例)に当たる(Error Codes and Messages) - 同じ商品を何度も記事にしないよう、取得したASINは投稿の履歴と照らす(同じ商品で記事を量産するとどうなるか)
1秒1回を守る書き方の考え方
1 TPSの上限では、呼び出しの間を1秒以上あけます。429が返った時は、公式ドキュメントのとおり待ってから再試行し、retryAfterSecondsがあればその秒数を待ちます。待ち時間を少しずつ伸ばす再試行(指数バックオフ)は、Error Codes and Messages の Best Practices に挙げられています。
資格情報の発行は、アソシエイトのプライマリアカウントに限られます(Amazon Creators API 資格情報の取得手順)。PA-API 5から移る場合の全体の流れはAmazon PA-APIが403になる理由と、Creators APIへの移行にまとめています。
当サイトが開発・販売しているAmazon Auto Posts(¥9,800・買い切り)は、Creators APIで商品情報を取得し、記事の生成から投稿までを扱います。自社製品なので割り引いて読んでいただいて構いません。使うには Creators API の利用資格(過去30日間に10件以上の適格売上)が要り、OpenAIの利用料は購入代金に含まれません。
この記事で確かめていないこと
- 実際のAPIでの応答時間(APIは呼んでいない。秒数は1秒1回の上限から出した最短の目安)
- 30日より後に、自分のアカウントの上限がいくつになるか(売上による。アソシエイト・セントラルで確認する)
- SearchItems など、GetItems 以外の操作で1回に返る件数(本記事では扱っていない)
まとめ
- GetItems は1回10件まで。10件で1回と数える
- 最初の30日は1秒1回・1日8,640回。1日に取れるASINは最大86,400件
- 応答の順番は変わることがあるので、ASINで照らし合わせる。トークンは1時間使い回す
本記事は2026年10月29日時点のCreators API公式ドキュメントにもとづく整理です。上限は変わる可能性があるため、利用前に公式の記載を確認してください。

