LoginSignup
4
3

More than 3 years have passed since last update.

Mastodon API のリクエスト制限と確認(quota 残量確認)

Posted at

「Mastodon API 制限」でググってもピンポイントの情報がなかったので自分のググラビリティとして。

Mastodon API のリクエスト/アクセス制限

分散型 SNS の Mastodon には Web API(RESTful API)にアクセス/リクエストできる頻度に制限があります。

アクセストークンを必要としない API へのアクセスは IP アドレスを制限対象としているため、気づかないうちに制限されている可能性があります。特に、同一ネットワーク内(例えば社内)からのアクセスの場合は、そのグローバル IP アドレスが対象となるからです。

Mastodon の API を利用したアプリを作る時は、そのリミット(限界)に触れていないか注意を払う必要があります。

現在のアクセス制限のリミット残の確認

制限レートの情報は応答ヘッダーで返されます。

ヘッダ 説明
X-RateLimit-Limit 期間ごとに許可されるリクエストの数
X-RateLimit-Remaining 実行できるリクエストの残数
X-RateLimit-Reset 制限レートがリセットされるタイムスタンプ
QiitaのSNS「Qiitadon(β)」の例
$ curl -s --head https://qiitadon.com/api/v1/instance | grep ratelimit
x-ratelimit-limit: 7500
x-ratelimit-remaining: 7495
x-ratelimit-reset: 2020-09-08T13:25:00.019685Z

API のメソッドによって異なる制限レートがあるため、複数の制限による影響を受ける可能性があります。ヘッダーは、そのうち最も制限が近いものに関する情報を返します。

API メソッド毎のアクセスの制限レート

API のエンドポイント 制限対象 対象期間 期間内の
最大回数
目安 制限タイプ
*/api/* アカウント情報
(アクセストークンあり)
5分 300 1 回/秒 アカウント毎
*/api/* 一般アクセス
(アクセストークンなし)
5分 300 1 回/秒 IP 毎
POST /api/v1/accounts アプリのサインアップ 30分 5 6 分/回 IP 毎
POST /api/v1/media メディアのアップロード 30分 30 1 回/分 アカウント毎
DELETE /api/v1/statuses/:id トゥートの削除 30分 30 1 回/分 アカウント毎
POST /api/v1/statuses/:id/unreblog ブーストの削除 30分 30 1 回/分 アカウント毎

参考文献

合わせて読みたい

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3