Twitter API version1

総括

API書式

format
APIコール時の拡張子で取得するデータ形式を指定する。
xml,json,rss,atom などがあるがAPIごとに対応が違うためめんどくさい。
json と xml は大体対応している。
また、一部拡張子を必要としないものもある。
「:引数名」の展開
/ で切り分けられたパス内の : で始まる名前の部分は引数と考える。
公式仕様書に書かれているのでこれに習うことにする。
たとえば「statuses/:id/retweeted_by」はステータスIDを指定する id 引数をその部分に与えて
http://api.twitter.com/1/statuses/99999/retweeted_by.json
のようにAPIをコールする。

実行制限

アプリケーションの制限
APIへの実行アプリケーションの登録時に Read/Write/DM の利用範囲を設定します。
Read はダイレクトメッセージ以外の情報の閲覧、
Write はダイレクトメッセージ以外の情報の改変(削除・更新)、
DM はダイレクトメッセージの閲覧・改変が許可されます。
APIリクエスト
API制限のあるメソッドは未認証ならIPアドレスごとに1時間あたり最大150回の実行まで、
認証済みならアカウントごとに1時間最大350回までを個別に実行できます。
APIコールのHTTPレスポンスヘッダで現在のリミットが参照できる。
HTTPレスポンスヘッダ内容
X-RateLimit-Class:"api_identified"
X-RateLimit-Limit:1時間にAPIを実行できる最大回数 "350"
X-RateLimit-Remaining:1時間にAPIを実行できる残り回数 "236"
X-RateLimit-Reset:次の残り回数リセット時間(UNIXタイムスタンプ) "1304578001"

検索API
HTTPレスポンスヘッダ内容
X-FeatureRateLimit-Class:"namesearch"
X-FeatureRateLimit-Limit:1時間にAPIを実行できる最大回数 "60"
X-FeatureRateLimit-Remaining:1時間にAPIを実行できる残り回数 "59"
X-FeatureRateLimit-Reset:次の残り回数リセット時間(UNIXタイムスタンプ) "1304580441"
投稿制限
statuses/update, statuses/retweet は1日最大1000件の投稿まで
ただし、1日ごとに制限がかかるのではなく時間で区切られもっと細かく制限されます。
direct_messages/new は1日最大250件の投稿まで。
また、ダイレクトメッセージは自分をフォローしている相手だけに送ることができます。
自分が相手をフォローしているかどうかは関係ありません。
フォローされていない相手に DM を送ることはできません。
重複投稿制限
同一内容の連続投稿は無視される。
同一ステータスの retweet は無視される。
フォロー制限
1日あたり最大1000件まで
現在のフォロー数(friends_count)2000を越えるアカウントは一定基準で制限される。
(あまりフォローされていないのに大量のフォローは無理)
アカウント設定の変更
1時間に最大4回。

意味のある文字列(URL、タグ、言及)

これらは include_entities オプションで送られる entities 情報として取得できます。

言及 mentions
ステータス本文中の「@ユーザ名」はそのユーザへの関連発言とみなされます。
ユーザ名は「http://twitter.com/ユーザ名」で本人のページが開かれるあれです。
APIでは screen_name と呼ばれています。
「これは@SCREEN_NAMEへの言及です」のように区切りがないと「への言及です」もユーザ名の一部と解釈されます。
ちゃんと半角スペースで区切りましょう。
また、言及を意味する記号「@」は全角「」でも解釈されます。これも注意が必要です。
形式が似ているためメールアドレスの一部が言及に解釈されてしまうおそれがあります。
ハッシュタグ
ステータス本文中の「#タグ名」はその名前の分類を意味します。
タグ名自体は公式な定義はありませんが、企業やイベントなどでタグ名が考案されユーザがそれに習う形が多いです。
名前規則は2011年7月ごろまでは半角英数字が望ましいとされていましたが
現在はマルチバイト文字による日本語ハッシュタグも有効になっています。
こちらも半角ハッシュ記号「#」と全角「」から半角スペースまでの文字列をハッシュタグと解釈します。
URLのアンカー名と形式が似ているためURLの一部がハッシュタグに解釈されてしまうおそれがあります。
リンク文字列
ステータス本文中の http://twitter.com/ のようなURLも特別な意味と解釈され、公式WEBでは自動的にリンクが張られます。
以前、リンクへの自動変換の汚染チェックが不完全だったためウィルスに感染することもありましたが現在は対処されているようです。
アフィリエイトリンクなどによるスパム行為が目立つため URL を含む投稿はチェックされています。
あまりに多用すると一時的にアカウント凍結を受けることもあるので注意が必要です。
2011年8月ごろからツイートやDM内のURLが自動的に http://t.co/ で始まる公式の短縮URLが適用されてしまうようになりました。
このため、entities データを参照するなどして t.co を展開する必要もでてきました。

発言内の自動URL変換

2011年ごろからつぶやき発言中のURLらしい文字列を自動的に補完してURLにするようになった。
URL認識されれば entities 情報にも追記される。
たとえば「google.co.jp」を「http://google.co.jp」に
「command.com」を「http://command.com」に補完する。
しかし command.com のようなコマンドファイル名ですら
URLにされてしまい望ましくない。
回避するためには半角クォートや半角ダブルクォートで囲み
"command.com" とつぶやくことで自動変換はされなくなる。
クォート以外でも変換されないものもあるが、多くはされてしまうし
引用符としてわかりやすいのでクォートを使うほうが望ましいだろう。

古い機能

新しい機能

include_rts 引数
ステータスに retweet を含むように指定する
statuses/user_timeline
	任意のユーザの行った retweet を含む。
	rss atom フォーマットではデフォルトで retweet を含む
statuses/friends_timeline
	任意のユーザのフレンドの retweet を含む
statuses/mentions
	フレンドの retweet を含む
lists/statuses
	リストのメンバーの retweet を含む

statuses/home_timeline
	指定なしでも retweet を含む
include_entities 引数
ステータス情報に entities というキー名の詳細情報を取得できる。
URL、ユーザ名、ハッシュタグを明確にする。
たとえば「#hashtag1 @uten_dev #hashtag2 #hashtag3 http://foo.bar/ http://twitter.com/」のentities 情報は
{
  "urls":[
    {"indices":[40,55],"url":"http:\/\/foo.bar\/","expanded_url":null},
    {"indices":[56,75],"url":"http:\/\/bit.ly\/twttr","expanded_url":null}
  ],
  "hashtags":[
    {"text":"hashtag1","indices":[0,9]},
    {"text":"hashtag2","indices":[20,29]},
    {"text":"hashtag3","indices":[30,39]}
  ],
  "user_mentions":[
    {"indices":[10,19],"screen_name":"uten_dev","id_str":"17085288","name":"\u3046\u3066\u3093dev","id":17085288}
  ]
}
indices はステータス本文の文字列の(@や#を含む)開始オフセットと
終了オフセット−1(該当文字列が終わった次のオフセット)。
expanded_url には t.co で短縮前の元URLが入る。
trim_user 引数
ステータス情報に含まれる投稿者のユーザ情報をユーザIDのみにする。
この引数に true t 1 のどれかをセットすると user キー内の情報は id,id_str の2つだけになる。
screen_name(ユーザ名)も入らないので注意。

HTTPステータスコード

ステータスコード意味
200 OK成功
302 Foundリダイレクト。大抵 Location ヘッダで移動先URLが明示される
304 Not Modified新しい情報はない
400 Bad RequestAPI の実行回数制限や投稿回数制限に引っ掛かった、などの理由でリクエストを却下した
401 Not Authorized認証失敗。OAuth認証のsignatureやtime引数が間違っている、など
403 Forbidden権限がないAPI を実行しようとした。同一内容の発言を投稿した。protected なユーザの情報を非フォロワーが取得しようとした、など
404 Not Found存在しない API を実行しようとしたり、存在しないユーザやステータスを指定した
500 Internal Server ErrorTwitter 側で何らかの問題が発生している。主にロボ画像状態
502 Bad GatewayTwitter のサーバが止まっている、あるいはメンテ中。もしくはくじら画像状態
503 Service UnavailableTwitter のサーバの負荷が高すぎて、リクエストを捌き切れない状態になっている。
主にメンテ。もしくはくじら画像状態

HTTPヘッダ

Content-Type
データ取得時に得られる Cotent-Type ヘッダ。
ただし、text/xml のように「type/subtype」が必ずしも一緒とは限らないので注意が必要。
形式MIME Type
XMLapplication/xml
JSONapplication/json
RSSapplication/rss+xml
ATOMapplication/atom+xml
HTMLtext/html
なお、 oauth/request_token などで取得するURLエンコードされたフォームデータ形式は
Content-Type が「application/x-www-form-encoded」だとよかったのだが
実際は「text/html」として返ってくるようで区別しにくい。

タイムライン関連のAPI

GET statuses/home_timeline

自分と自分の friend の過去800件分の retweet を含むステータスから20件(最大200件)を取得する。
home_timeline は、http://twitter.com/home で表示される timeline の内容に相当する。
friends_timeline との違い

home_timelinefriends_timeline
retweetを含むinclude_rtsを指定しなければ
retweetを含まない
id 指定できないid 指定できる
URL
GET http://api.twitter.com/1/statuses/home_timeline.format
format=json, xml, rss, atom
認証
必要
API制限
適用対象
引数
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

GET statuses/mentions

自分に対する過去800件分の言及(@ユーザ名 が含まれるステータス)から20件(最大200件)を取得する。
旧仕様の statuses/replies のように「@ユーザ名 」で始まるリプライのみを抽出するには
ステータス内容で仕分けするしかないだろう。
include_rts 引数はあるが、これをセットしてもうまく取得できない?

URL
GET http://api.twitter.com/1/statuses/mentions.format
format=json, xml, rss, atom
認証
必要
API制限
適用対象
引数
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_rts=true (または include_rts=t, include_rts=1) (オプション)
本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

GET statuses/user_timeline

指定ユーザの過去3200件分のステータスから20件(最大200件)を取得する。
ユーザを未設定の場合は自分のステータスを取得する。

URL
GET http://api.twitter.com/1/statuses/user_timeline.format
format=json, xml, rss, atom
rss または atom 指定時は、取得結果に retweets が含まれる。
xml または json 指定時は、取得結果に retweets がデフォルトでは含まれない。include_rts引数を指定すれば含まれる。
認証
不要
ただし、protected な非公開ユーザのステータスは
閲覧許可されたユーザで認証を行う必要がある。
API制限
適用対象
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
指定したユーザのステータスを取得する。
user_id=ユーザID (オプション)
screen_name=ユーザ名 (オプション)
対象のユーザを指定する。未設定なら自分自身が対象になる。
since=日時 (オプション)
<公式仕様書ではすでに削除されている>
指定した日時以降に update されたステータスを取得する
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_rts=true (または include_rts=t, include_rts=1) (オプション)
本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

GET statuses/retweeted_by_me

自分が retweet したステータスから20件(最大200件)を取得する。

URL
GET http://api.twitter.com/1/statuses/retweeted_by_me.format
format=json, xml, atom
認証
必要
API制限
適用対象
引数
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

GET statuses/retweeted_to_me

自分の friend が retweet したステータスから20件(最大200件)を取得する。

URL
GET http://api.twitter.com/1/statuses/retweeted_to_me.format
format=json, xml, atom
認証
必要
API制限
適用対象
引数
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

GET statuses/retweets_of_me

自分以外の誰かによって retweet された自分のステータスから20件(最大200件)を取得する。

URL
GET http://api.twitter.com/1/statuses/retweets_of_me.format
format=json, xml, atom
認証
必要
API制限
適用対象
引数
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

GET statuses/retweeted_to_user

指定ユーザの friend が retweet したステータスから20件(最大200件)を取得する。

URL
GET http://api.twitter.com/1/statuses/retweeted_to_user.format
format=json, xml
認証
必要
API制限
適用対象
引数
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
<公式仕様書にはユーザID指定が id と表記されているが誤植と思われる。実際 user_id で問題なく動く>
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

GET statuses/retweeted_by_user

指定ユーザが retweet したステータスから20件(最大200件)を取得する。

URL
GET http://api.twitter.com/1/statuses/retweeted_by_user.format
format=json, xml
認証
必要
API制限
適用対象外
引数
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
<公式仕様書にはユーザID指定が id と表記されているが誤植と思われる。実際 user_id で問題なく動く>
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

ステータス関連のAPI

GET statuses/:id/retweeted_by

指定したステータスを retweet しているユーザのうち最大100人分のユーザ情報を取得する

URL
GET http://api.twitter.com/1/statuses/:id/retweeted_by.format
format=xml, json
認証
不要
API制限
適用対象外
引数
id=ステータスID (必須)
retweet しているユーザの一覧を取得したいステータスのIDを指定する
count=ユーザ件数 (オプション)
一度に取得するユーザの数を取得する。最大 100 まで指定可能。未設定なら 100。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで100件)とみなしてユーザを取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 配列

GET statuses/:id/retweeted_by/ids

指定したステータスを retweet しているユーザのうち最大100人分のユーザIDを取得する

URL
GET http://api.twitter.com/1/statuses/:id/retweeted_by/ids.format
format=xml, json
認証
必要
API制限
適用対象
引数
id=ステータスID (必須)
ユーザID一覧を取得したい retweet されたステータスのIDを指定する
count=ユーザ件数 (オプション)
一度に取得するユーザの数を取得する。最大 100 まで指定可能。未設定なら 100。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで100件)とみなしてユーザを取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 配列

GET statuses/retweets/:id

指定したステータスを retweet しているユーザの一覧のうち最初の100人分を取得する。

URL
GET http://api.twitter.com/1/statuses/retweets/:id.format
format=xml, json
認証
必要
API制限
適用対象
引数
id=ステータスID (必須)
retweet しているユーザの一覧を取得したいステータスのIDを指定する
count=ユーザ件数 (オプション)
一度に取得するユーザの数を取得する。最大 100 まで指定可能。未設定なら 100。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 配列

GET statuses/show/:id

指定した ID のステータス(発言)1件を取得する。

URL
GET http://api.twitter.com/1/statuses/show/:id.format
format=xml, json
認証
不要
ただし、protected な非公開ユーザのステータスは
閲覧許可されたユーザで認証を行う必要がある。
API制限
適用対象
引数
id=ステータスID (必須)
指定した ID のステータスを取得する
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 1件

POST statuses/update

自分のステータス(発言)を投稿する。
投稿に成功した場合はそのステータスを返す。
「follow ユーザ名」「f ユーザ名」「/follow ユーザ名」「/f ユーザ名」
「leave ユーザ名」「l ユーザ名」「/leave ユーザ名」「/l ユーザ名」
などの発言で送れていたフォロー/リムーブ用コマンドは使えなくなりました。
現在はダイレクトメッセージ用のコマンドだけ使えるようです。

dm ユーザ名 発言
d ユーザ名 発言
/dm ユーザ名 発言
/d ユーザ名 発言

この形式でDMを送る場合、返ってくるのは今送ったダイレクトメッセージ情報ではなく、
最後にツイートしたステータス情報なので注意が必要です。しかも成功していなくても返ってきます。
DM を正しく送るには direct_message メソッドを使うほうが確実です。

URL
POST http://api.twitter.com/1/statuses/update.format
format=xml, json
認証
必要
API制限
適用対象外
ただし、同一発言の連続投稿はエラーとなる。
投稿は1日最大1000件(API による実行以外に、Web での投稿、モバイルでの投稿、SMSでの投稿もカウント対象)
上限に到達すると、それ以降は 403 エラーが返るようになる。
引数
status=ステータス (必須)
ステータス(発言)を指定する。
ステータスは 140文字以内におさめ、必ず URL エンコードすること。
140文字を超えるステータスを投稿しようとした場合は、403エラーを返す。
in_reply_to_status_id=ステータスID (オプション)
返信(reply)対象のステータスIDを指定する。どのステータスに対する返信か明示するのに使用する。
存在しない、あるいはアクセス制限のかかっているステータスIDを指定した場合は無視される。
発言中に対応する「@ユーザ名」が含まれない、あるいは指定したユーザそのものが存在しない場合、本引数は無視される。
lat=緯度 (オプション)
投稿しようとしている発言に関する位置情報のうち、「緯度」を指定する
「-90.0 〜 +90.0」 の範囲の値を指定する (正の値の場合「北緯」、負の値の場合「南緯」)
範囲外の値を指定した場合、geo_enabled が disabled(使用しない) に設定されている場合、
あるいはlong引数が指定されていない場合、本引数は無視される
緯度は小数点以下8桁まで指定可能
long=経度 (オプション)
投稿しようとしている発言に関する位置情報のうち、「経度」を指定する
「-180.0 〜 +180.0」 の範囲の値を指定する (正の値の場合「東経」、負の値の場合「西経」)
範囲外の値を指定した場合、geo_enabled が disabled(使用しない) に設定されている場合、
あるいはlat引数が指定されていない場合、本引数は無視される
経度は小数点以下8桁まで指定可能
place_id=geocode (オプション)
geo/reverse_geocode で取得した geocode を使って、位置情報を指定する
display_coordinates=true (オプション)
display_coordinates=false (オプション)
緯度、経度を表示するかどうか指定する。
未設定ではデフォルトで「表示する」となる。これは後方互換性のため。
正確な緯度、経度を表示させたくない場合は false を指定すること (表示されなくなるだけで、位置情報自体は Twitter 内に保存される)
(注意: 現在は、本引数がまだ機能していないので、位置情報付きで投稿した発言については、位置情報がそのまま表示されてしまう
[display_coordinates=true を指定したのと同じ状態])
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
source=クライアント名 (オプション)
<この引数は公式仕様書には存在しない>
ステータスの投稿に使用しているクライアント名を指定する。
「クライアント名」をOAuth アプリケーション登録用のWebフォームから申請することで、本オプションを指定しての投稿時、Twitter の Webページ上に“from クライアント名”付きで発言が掲載されるようになる。
OAuth 認証による API 実行時は、本引数は無視される(OAuth アプリケーション登録時のアプリケーション名、URLが自動的に適用、掲載される)。
なお、本引数は公式のAPI仕様書には掲載されていない。
参考: 2009年7月1日以降、未登録のアプリケーションによる API 経由での投稿に関して、from web ではなく、from API と表示されるようになった
contributors=ユーザID[,ユーザID,……] (オプション)
<この機能は現在のところ実験段階であり誰でも使えるわけではありません>
企業アカウントのような組織的アカウントを複数人で使う場合に投稿したユーザを明示します。
半角 , で区切ったユーザIDとして渡します。その一例が http://twitter.com/twitterapi/status/7680619122 です。
応答
成功
ステータス情報 status 1件
発言が140文字以上
エラー情報 error に「Status is over 140 characters.」(403)
位置情報 geo-tag
プロフィールの「ツイート位置情報」のチェックを入れると geo_enabled キーの値が true になり
geo キーの値がセットされてステータスに位置情報を含めるようになります。
位置情報は緯度 -90(北緯)〜90(南緯)、経度 -180(西経)〜180(東経)の浮動小数値で示します。
XML形式のステータス情報は GeoRSS(http://georss.org/Main_PageExternal Site)、JSON形式では GeoJSON(http://geojson.org/External Site) を利用します。
GeoJSONでは本来座標は (経度,緯度) で表現しますが2011年5月現在 (緯度,経度) の表現になっています。
これは TwitterAPI の version 2 では直される予定です。
保存されている位置情報はプロフィールの設定で一括削除できます。

POST statuses/retweet/:id

指定したステータスを retweet する。ステータスIDの指定は必須。
retweet が成功した場合は、format で指定した形式で応答(retweet 元のステータスと、retweet 結果)が返る
同一内容の retweet を連続して投稿しようとした場合、最初の投稿以外は無視される。
また、自分の発言を自分で retweet しようとした場合も、無視されてしまう。
retweet に成功すると以下の形式で指定ステータスの内容が text 要素に入る。
140文字を越えた場合は省略される。

RT @ユーザ名: 発言
URL
POST http://api.twitter.com/1/statuses/retweet/:id.format
format=xml, json
認証
必要
API制限
適用対象外
ただし、一定時間辺りの実行回数上限が設定されている。
投稿は1日最大1000件(API による実行以外に、Web での投稿、モバイルでの投稿、SMSでの投稿もカウント対象)
上限に到達すると、それ以降は 403 エラーが返るようになる。
引数
id=ステータスID (必須)
retweet したいステータスIDを指定する
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 1件

POST statuses/destroy/:id

自分のステータスを削除する。ステータスIDの指定は必須。
削除が成功した場合は、format で指定した形式で応答が返る。
また、自分がretweetしたステータスも削除するが、
retweetした元ステータスIDは他人のものなので削除できない。

URL
POST http://api.twitter.com/1/statuses/destroy/:id.format
format=xml, json
認証
必要
API制限
適用対象外
引数
id=ステータスID (必須)
削除したいステータスのIDを指定する。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 1件

検索関連のAPI

GET search

指定した検索条件を満たす「発言」を返す。特に件数を指定しない場合は最大15件分の結果を返す 検索結果情報のユーザID (from_user_id および to_user_id)」は他のメソッドで使われているユーザIDとは違う。
ユーザ名は同じなのでこれに users/lookup などを通して実際のユーザIDを取得するしかない。
「検索関連のAPI」を使用するアプリケーションは http リクエストヘッダで User Agent を明示すること。= User Agent が明示されていない場合、通常より厳しい API 制限を行なうことがある。

URL
GET http://search.twitter.com/search.format
format=json, atom
認証
不要
API制限
適用対象
引数
q=検索条件 または phrase=検索語句&検索条件 (必須)
検索条件(検索したいキーワード等)を指定する。
キーワード等はURLエンコードすること。URLエンコードされた状態で140文字以内におさめること。
検索条件は、https://twitter.com/search-advanced のフォームで使っているのと同じものが使用可能。
実際には「」は含まない。
「条件1 条件2」		条件のAND演算(両方の条件に当てはまった発言)
「条件1 OR 条件2」	条件のOR演算(どちら片方、もしくは両方に当てはまった発言)
「-条件」		条件の否定。この条件を除外する
「"単語1 単語2"」	「単語1 単語2」「単語1_単語2」「単語1-単語2」などのフレーズにマッチする。「単語2 単語1」は除外。
			また、半角スペースを含むアプリ名などをフレーズでまとめて指定できる。
「from:ユーザ名」	このユーザが投稿した発言
「-from:ユーザ名」	このユーザが投稿していない発言
「to:ユーザ名」		このユーザへのリプライ。つまり先頭の「@ユーザ名 」から始まる発言
「-to:ユーザ名」	このユーザへのリプライ以外の発言。
「@ユーザ名」		このユーザへの言及(mentions)。つまり内容に「@ユーザ名」を含む発言
「-@ユーザ名」		このユーザへの言及(mentions)以外の発言。
「#タグ名」		このハッシュタグを含む発言
「-#タグ名」		このハッシュタグを含まない発言

「filter:links」	URLを含む発言のみ。
「-filter:links」	URLを含まない発言。
「include:links」	URLも含む発言。
「exclude:links」	URLを含まない発言。

「filter:hashtags」	ハッシュタグを含む発言のみ。
「-filter:hashtags」	ハッシュタグを含まない発言。
「include:hashtags」	ハッシュタグも含む発言。
「exclude:hashtags」	ハッシュタグを含まない発言。

「filter:replies」	リプライを含む発言のみ。
「-filter:replies」	リプライを含まない発言。
「include:replies」	リプライも含む発言。
「exclude:replies」	リプライを含まない発言。

「filter:retweets」	公式/非公式retweetを含む発言のみ。
「-filter:retweets」	公式/非公式retweetを含まない発言。QT形式は含む。
「include:retweets」	公式/非公式retweetも含む発言。(デフォルト)
「exclude:retweets」	公式/非公式retweetを含まない発言。QT形式は含む。
 
「source:アプリ名」	このアプリケーション(クライアント)で投稿された発言。
			公式Webは「Web」ツイートボタンは「tweet_button」
「-source:アプリ名」	このアプリケーション(クライアント)で投稿されていない発言。
「lang:言語コード」	この言語の発言のみ。「lang:ja」で日本語の発言。
「until:YYYY-MM-DD」	指定日付以前の発言。YYYY-MM-DD形式で年月日を指定。
「since:YYYY-MM-DD」	指定日付以後の発言。YYYY-MM-DD形式で年月日を指定。
「place:opentable:ID」	OpenTableIDで指定した地域からの発言(地域情報を送っている人のみ)
「place:geocode」	geocodeで指定した地域からの発言(地域情報を送っている人のみ)
「near:地域」		その地域の発言。「near:Tokyo」など。APIでは使えない。関係ない発言が拾われることもある?
「within:距離」		nearと組み合わせる。その地域から指定距離内の発言。「within:15km」など。APIでは使えない。
callback=コールバック関数名 (オプション)
コールバック関数名を指定する。
format に JSON を指定したときのみ指定可能でこの名前の関数を JSONP 形式で取得できるようになる。
lang=言語コード (オプション)
検索対象となる「言語」を指定する。この言語で書かれた発言を検索する。
「言語」は ISO 639-1 掲載の文字列で指定すること。
日本語なら "ja" 英語なら "en"。参照External Site
locale=言語コード (オプション)
検索条件を送る「言語」を指定する。(現在は "ja" のみ有効)
固有言語のクライアントのために用意されています。
rpp=ステータス数 (オプション)
一度に取得する検索結果の数を取得する。最大 100 まで指定可能。未設定なら 15。
page=ページ番号 (オプション)
1ページを rpp 件(デフォルトで15件)とみなして過去の発言を取得する。最新ページは 1。
(rpp * page で遡れるのは、最大1500件まで)
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
since=YYYY-MM-DD形式の日時 (オプション)
<公式仕様書ではすでに削除されている>
検索結果のうち、指定した日付以降に投稿された発言のみを返す。2011年5月現在、まだ使える。
until=YYYY-MM-DD形式の日時 (オプション)
検索結果のうち、指定した日付以前に投稿された発言のみを返す。
geocode=位置情報 (オプション)
指定した緯度・経度、半径(その緯度・経度から半径何マイル[mi]/キロメートル[km]以内か指定可能)で為された「発言」のみを検索対象とする (注意: この位置情報(緯度・経度)は、Twitter のユーザのプロフィールに設定されている情報ではなく、Geotagging に対応した API 経由で取得したものになる [Twitter では、位置情報(geo引数)を含む形で投稿された発言から、その位置情報を取り出し、データベースに格納している])
例
http://search.twitter.com/search.atom?geocode=40.757929%2C-73.985506%2C25km
北緯40.757929度、西経73.985506度の地点から半径25km以内で為された「発言」を Atom 形式で取得する
show_user=true (オプション)
show_user=false (オプション)
<何故か反映されていない>
true を指定すると「発言」の先頭に「ユーザ名: 」が付加される。デフォルトでは false。
result_type=recent (オプション)
result_type=popular (オプション)
result_type=mixed (オプション)
欲しい検索結果の種類を指定する。「種類」には、以下の3つがある。
現在のデフォルトは recent だが将来的に mixed になる予定。
recent「新しい発言」を優先的に検索結果に含める
popular「人気の高い発言」を優先的に検索結果に含める(公式RTされた発言ほど人気が高いとみなされるらしい)
mixed「新しい発言」と「人気の高い発言」の両方を適度に検索結果に含める
応答
検索結果一覧 results

検索条件保存

GET saved_searches

自分が公式の検索やAPIから保存していた検索条件を返す。

URL
GET http://api.twitter.com/1/saved_searches.format
format=xml, json
認証
必要
API制限
適用対象
引数
なし
応答
検索条件情報 saved_searches 配列

GET saved_searches/show

IDで指定した自分の保存済みの検索条件を返す。

URL
GET http://api.twitter.com/1/saved_searches/show/:id.format
format=xml, json
認証
必要
API制限
適用対象
引数
id=検索条件ID (必須)
指定した ID の検索条件を取得する
応答
検索条件情報 saved_searches 1件

POST saved_searches/create

指定した検索条件を保存する。

URL
POST http://api.twitter.com/1/saved_searches/create.format
format=xml, json
認証
必要
API制限
適用対象外
引数
query=検索条件クエリー (必須)
保存したい検索条件を指定する。
応答
検索条件情報 saved_searches 1件

POST saved_searches/destroy

指定した「保存済み検索条件」を破棄する

URL
POST http://api.twitter.com/1/saved_searches/destroy/:id.format
DELETET http://api.twitter.com/1/saved_searches/destroy/:id.format
format=xml, json
認証
必要
API制限
適用対象外
引数
id=検索条件ID (必須)
削除したい検索条件IDを指定する。
応答
検索条件情報 saved_searches 1件

ダイレクトメッセージ関連のAPI

GET direct_messages

自分宛てのダイレクトメッセージの一覧を20件(最大200件)を取得する。

URL
GET http://api.twitter.com/1/direct_messages.format
format=json, xml, rss, atom
認証
必要
API制限
適用対象
引数
since=日時 (オプション)
<公式仕様書ではすでに削除されている>
指定した日時以降に届いたダイレクトメッセージを取得する
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=メッセージ件数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ダイレクトメッセージ情報 direct_message 配列

GET direct_messages/sent

自分が送信したダイレクトメッセージの一覧を20件(最大200件)を取得する。

URL
GET http://api.twitter.com/1/direct_messages/sent.format
format=json, xml, rss, atom
認証
必要
API制限
適用対象
引数
since=日時 (オプション)
<公式仕様書ではすでに削除されている>
指定した日時以降に送信したダイレクトメッセージを取得する
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=メッセージ件数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ダイレクトメッセージ情報 direct_message 配列

POST direct_messages/new

ダイレクトメッセージを送信する。宛先と本文の指定は必須。
送信が成功した場合は、format で指定した形式で応答が返る。

URL
POST http://api.twitter.com/1/direct_messages/new.format
format=json, xml
認証
必要
API制限
適用対象外
ただし、同一発言の連続投稿はエラーとなる。
投稿は1日最大250件(API による実行以外に、Web での投稿、モバイルでの投稿、SMSでの投稿もカウント対象)
上限に到達すると、それ以降は 403 エラーが返るようになる。
(当分の間) 位置情報は、投稿から7日経過した時点で削除される。
引数
user=ユーザID または user=ユーザ名 (必須)
<公式仕様書ではすでに削除されている>
ダイレクトメッセージの宛先を指定する。
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
text=本文 (必須)
ダイレクトメッセージの本文を指定する。必ず URL エンコードすること。本文は140文字以内におさめること。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ダイレクトメッセージ情報 direct_message 1件

POST direct_messages/destroy/:id

ダイレクトメッセージを削除する。メッセージIDの指定は必須。
削除が成功した場合は、format で指定した形式で応答が返る。

URL
POST http://api.twitter.com/1/direct_messages/destroy/:id.format
DELETE http://api.twitter.com/1/direct_messages/destroy/:id.format
format=json, xml
認証
必要
API制限
適用対象外
引数
id=メッセージID (必須)
削除したいダイレクトメッセージのIDを指定する
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ダイレクトメッセージ情報 direct_message 1件

フレンドとフォロワーのAPI

GET friends/ids

自分もしくは指定ユーザがフォローしているユーザのID一覧を一度に最大5000件取得する。
friends の中に「アカウント停止中のユーザ(suspended users)」が含まれる場合、5000件より少ない件数の一覧が返る。

URL
GET http://api.twitter.com/1/friends/ids.format
format=json, xml
認証
不要
ただし、protected な非公開ユーザの friends は
閲覧許可されたユーザで認証を行う必要がある。
API制限
適用対象
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<公式仕様書ではすでに削除されている>
指定した ID またはユーザ名のユーザが follow しているユーザのID一覧を取得する
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
page=ページ番号 (オプション)
<公式仕様書ではすでに削除されている>
(1ページを5000件とみなしたときの)ページ番号を指定することで、follow しているユーザのID一覧を5000件単位で取得する (サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない) ページ番号は 1 始まりとする
cursor=-1 または cursor=カーソル位置 (オプション)
<将来的に必須となる予定>
現在は省略できるが、正しい結果を返すとは限らない。
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)
応答
cursor指定時
ID一覧 ids
cursor未指定<将来的に廃止予定>
ID情報 id 配列

GET followers/ids

自分もしくは指定ユーザをフォローしているユーザのID一覧を一度に最大5000件取得する。
followers の中に「アカウント停止中のユーザ(suspended users)」が含まれる場合、5000件より少ない件数の一覧が返る。

URL
GET http://api.twitter.com/1/followers/ids.format
format=xml,json
認証
不要
ただし、protected な非公開ユーザの followers は
閲覧許可されたユーザで認証を行う必要がある。
API制限
適用対象
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<公式仕様書ではすでに削除されている>
指定した ID またはユーザ名のユーザを follow しているユーザのID一覧を取得する
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
page=ページ番号 (オプション)
<公式仕様書ではすでに削除されている>
(1ページを5000件とみなしたときの)ページ番号を指定することで、follow しているユーザのID一覧を5000件単位で取得する (サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない) ページ番号は 1 始まりとする
cursor=-1 または cursor=カーソル位置 (オプション)
<将来的に必須となる予定>
現在は省略できるが、正しい結果を返すとは限らない。
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)
応答
cursor指定時
ID一覧 ids
cursor未指定<将来的に廃止予定>
ID情報 id 配列

GET friendships/incoming

自分が protected な非公開ユーザの場合、フォローリクエストを送ってきたユーザのうち
リクエストを保留しているユーザID一覧(ID配列)を一度に最大5000件取得する。
自分が非公開ユーザでない場合は空の配列が返る。

URL
GET http://api.twitter.com/1/friendships/incoming.format
format=xml, json
認証
必要
API制限
適用対象
引数
cursor=-1 または cursor=カーソル位置 (オプション)
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)
応答
ID一覧 ids

GET friendships/outgoing

自分がフォローリクエストを送った非公開ユーザのうち
リクエストを保留されているユーザID一覧(ID配列)を一度に最大5000件取得する。

URL
GET http://api.twitter.com/1/friendships/outgoing.format
format=xml, json
認証
必要
API制限
適用対象
引数
cursor=-1 または cursor=カーソル位置 (オプション)
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
(サーバが負荷集中状態の場合等、必ずしも5000件取得できる保証はない)
応答
ID一覧 ids

GET friendships/show

指定した2ユーザの間の関係を詳細に調べる。
source_id も source_screen_name も指定することなく認証なしで使った場合は HTTP レスポンスコード 403 が返る。
1人目(source)もしくは2人目(target)の少なくともどちらか一方のアカウントが存在しない場合、HTTP レスポンスコード 404 が返る。
source が自分自身ではない場合、source 要素内の notifications_enabled 要素は空になる。

URL
GET http://api.twitter.com/1/friendships/show.format
format=xml, json
認証
不要
ただし source が省略されている場合には必要。
API制限
適用対象
引数
source_id=ユーザID (オプション)
source_screen_name=ユーザ名 (オプション)
1人目のユーザAを指定する。認証済みで未設定にすると自分自身が対象になる。
target_id=ユーザID (どれか1つは必須)
target_screen_name=ユーザ名 (どれか1つは必須)
2人目のユーザBを指定する。
応答
フォロー関係情報 relationship 1件

GET friendships/exists

<このメソッドは非推奨です。friendships/show を使ってください>
ユーザAがユーザBをフォローしているかどうかを判定する。
format 形式に関係なく文字列の「true」か「false」が返ります。
非公開ユーザは自分がフォローしている相手でなければ以下のAPIエラーが返ります。
「You do not have permission to retrieve following status for both specified users.」

URL
GET http://api.twitter.com/1/friendships/exists.format
format=xml, json
認証
不要
ただし、user_a や user_b が protected な非公開ユーザの場合は
閲覧許可されたユーザで認証を行う必要がある。
API制限
適用対象
引数
user_a=ユーザID または ユーザ名 (必須)
ユーザA
user_b=ユーザID または ユーザ名 (必須)
ユーザB
応答
文字列「true」もしくは「false」

POST friendships/create

指定ユーザを自分の friend (following) にする。
成功すればフォローしたユーザ情報を返す。

URL
POST http://api.twitter.com/1/friendships/create.format
format=xml, json
認証
必要
API制限
適用対象外
ただし、一定時間辺りの実行回数上限が設定されている。
1日辺り1000回まで (API による実行以外に、Web での実行、モバイルでの実行もカウント対象)
上限に到達すると、それ以降は 403 エラーが返るようになる。
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
friend にしたいユーザを指定する。
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
<仕様書ではオプションとなっているが必須>
対象のユーザを指定する。
follow=true (オプション)
指定したユーザをfriendにすると同時に、そのユーザの発言を「指定デバイス」に送信するようにするかどうかを指定する
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

POST friendships/destroy

指定ユーザを自分の friend (following) から外す。
成功すればフォローを解除したユーザ情報を返す。

URL
POST http://api.twitter.com/1/friendships/destroy.format
DELETE http://api.twitter.com/1/friendships/destroy.format
format=xml, json
認証
必要
API制限
適用対象外
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
friend から外したいユーザを指定する。
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
<仕様書ではオプションとなっているが必須>
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

ユーザ情報関連のAPI

GET users/show

指定ユーザに関する詳細な情報を取得する。

URL
GET http://api.twitter.com/1/users/show.format
format=json, xml
認証
不要
ただし、protected な非公開ユーザの最新ステータスは
閲覧許可されたユーザで認証を行う必要がある。
API制限
適用対象
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
情報取得対象となるユーザを指定する
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

GET users/lookup

複数のユーザに関する詳細な情報を取得する。
ただし、この API で一度に取得できるデータは最大100件(100人分)である。

URL
GET http://api.twitter.com/1/users/lookup.format
POST http://api.twitter.com/1/users/lookup.format
format=json, xml
認証
必要
API制限
適用対象
引数
user_id=ユーザID[,ユーザID,……] (オプション)
screen_name=ユーザ名[,ユーザ名,……] (オプション)
1人以上の対象ユーザを指定する。複数指定する場合は半角コロン「,」で区切る。
user_id 引数と screen_name 引数を同時に使うこともできる。
引数で列挙するユーザID、ユーザ名の数が多い場合は POST による実行を推奨。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 配列

GET users/profile_image/:screen_name

指定ユーザのプロフィール画像を返す。
このAPIはformat形式のデータではなく 302 リダイレクトとそこへのリンクHTMLを返す。
Location ヘッダにオリジナルの画像URLを取得します。
このメソッドはアプリケーション開発者による lookup や
プロフィール画像URLの確認にだけ使われるべきです。

URL
GET http://api.twitter.com/1/users/profile_image/:screen_name.format
format=json, xml
認証
不要
API制限
適用対象外
引数
screen_name=ユーザ名 (必須)
size=サイズ (オプション)
画像サイズ bigger 73×73px、normal 48×48px、mini 24×24px。デフォルトでは normal。
応答
リダイレクト先への画像URLへのリンクHTML(Location ヘッダにプロフィール画像URL)
「<html><body>You are being <a href="プロフィール画像URL">redirected</a>.</body></html>」

GET users/search

指定条件に一致する Twitter ユーザを検索する。
本APIで検索可能なのは、検索条件に一致する情報のうち、最初の1000件分までである
Twitter公式サイトの「友だちを検索」での

http://twitter.com/search/users?q=検索文字列&category=people&source=find_on_twitter

に相当する。
HTTP レスポンスヘッダ

X-FeatureRateLimit-Limit
X-FeatureRateLimit-Remaining
X-FeatureRateLimit-Reset

で速度制限の状態を確認できます。
これらは REST API 制限の X-RateLimit-*** ヘッダに相当しています。

URL
GET http://api.twitter.com/1/users/search.format
format=json, xml
認証
必要
API制限
適用対象
引数
q=検索文字列 (必須)
探したいユーザの本名、ユーザ名、などを指定する
per_page=件数 (オプション)
1ページ辺り何件の情報を取得するか指定する。指定できる最大件数は 20。デフォルトで 20 件と思われる。
page=ページ番号 (オプション)
(1ページを 20件 または per_page で指定した件数とみなしたときの)ページ番号を指定することで、指定ページ番号に相当する結果を取得する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 配列

カテゴリ関連

GET users/suggestions

公式の http://twitter.com/invitations/suggestions にある
カテゴリの name と slug で構成されたカテゴリ一覧を取得する。
たとえば 音楽External Site なら「音楽」「list-11」をセットとした情報。

URL
GET http://api.twitter.com/1/users/suggestions.format
format=json, xml
認証
不要
API制限
適用対象
引数
なし
応答
カテゴリ情報 suggestion(1) 配列

GET users/suggestions/:slug

Twitter の指定カテゴリ内のユーザ一覧を取得する。

URL
GET http://api.twitter.com/1/users/suggestions/:slug.format
format=xml,json
認証
不要
API制限
適用対象
引数
slug=カテゴリ識別子 (必須)
カテゴリを指定する。カテゴリは users/suggestions で取得したカテゴリ一覧に含まれるものの中から指定すること
応答
カテゴリユーザ情報 suggestion(2) 1件

お気に入り関連のAPI

GET favorites

自分または指定したユーザの favorites(お気に入り) に登録されているステータスから20件(最大200件)を取得する。
何故かこのメソッドだけ公式仕様書に古い id 引数を使っているが user_id や screen_name 引数などがちゃんと機能している。

URL
GET http://api.twitter.com/1/favorites.format
GET http://api.twitter.com/1/favorites/:id.format
format=xml, json, atom, rss
認証
必要
API制限
適用対象
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
指定したユーザのお気に入りステータスを取得する。
user_id=ユーザID (オプション)
screen_name=ユーザ名 (オプション)
<公式仕様書には書かれていないが有効>
対象のユーザを指定する。未設定なら自分自身が対象になる。
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
<公式仕様書には書かれていないが有効>
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
<公式仕様書には書かれていないが有効>
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

POST favorites/create/:id

指定ステータスを自分の「お気に入り」に登録する。
成功するとお気に入りに登録したステータス情報を返す。

URL
POST http://api.twitter.com/1/favorites/create/:id.format
format=xml, json
認証
必要
API制限
適用対象外
引数
id=ステータスID (必須)
「お気に入り」に登録したいステータス(発言)を指定する
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 1件

POST favorites/destroy/:id

指定ステータスを自分の「お気に入り」から外す。
成功するとお気に入りを解除したステータス情報を返す。

URL
POST http://api.twitter.com/1/favorites/destroy/:id.format
DELETE http://api.twitter.com/1/favorites/destroy/:id.format
format=xml, json
認証
必要
API制限
適用対象外
引数
id=ステータスID (必須)
「お気に入り」から外したいステータス(発言)を指定する
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 1件

リスト関連のAPI

2011/05 あたりで公式ドキュメントが新しい表記になったようだ。旧形式External Site は廃止予定。
試してみた限りでは http://api.twitter.com/1/:screen_name/lists/:list_id_or_slug.format のうち
screen_name はユーザ名のみ有効、list_id_or_slug はリスト名(slug)とリストID(id)どちらも通った。

GET lists

指定ユーザ自身が作成した list の一覧を最大20件取得する。
自分の list の一覧を取得する場合は、非公開の list も一覧に含まれる。

URL
GET http://api.twitter.com/1/lists.format
format=xml, json
認証
必要
API制限
適用対象
引数
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
必須とあるが省略すると今のところは自分が対象になる。
cursor=-1 または cursor=カーソル位置 (オプション)
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
応答
リスト情報一覧 lists

GET lists/memberships

指定したユーザが登録されている list の一覧を一度に最大20件取得する。

URL
GET http://api.twitter.com/1/lists/memberships.format
format=xml, json
認証
不要
API制限
適用対象
引数
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
cursor=-1 または cursor=カーソル位置 (オプション)
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
filter_to_owned_lists=true (オプション)
filter_to_owned_lists=t (オプション)
filter_to_owned_lists=1 (オプション)
API実行ユーザ自身の作成した list のみに限定する。講読している list は除外される。
応答
リスト情報一覧 lists

GET lists/subscriptions

指定したユーザが講読している list の一覧を一度に最大20件取得する。

URL
GET http://api.twitter.com/1/lists/subscriptions.format
format=xml, json
認証
不要
API制限
適用対象
引数
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
cursor=-1 または cursor=カーソル位置 (オプション)
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
応答
リスト情報一覧 lists

GET lists/statuses

指定した list に登録されているユーザの発言のみで構成されるタイムラインを取得する。

URL
GET http://api.twitter.com/1/lists/statuses.format
format=xml, json, atom
認証
不要
API制限
適用対象
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
include_rts=true (または include_rts=t, include_rts=1) (オプション)
本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない
応答
ステータス情報 status 配列

GET lists/show

指定 list に関する情報を取得する。
自分自身の list を取得する場合は、非公開の list であっても情報を取得可能である。

URL
GET http://api.twitter.com/version/lists/show.format 
format=xml, json
認証
不要
API制限
適用対象
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
応答
リスト情報 list 1件

POST lists/create

list を作成する。

URL
POST http://api.twitter.com/1/lists/create.format
format=xml, json
認証
必要
API制限
適用対象外
引数
name=リストの名前 (必須)
作成しようとしている list の名前を指定する。
全角文字も使えるようになった。
mode=public (オプション)
mode=private (オプション)
作成しようとしている list を公開(public)にするか、非公開(private)にするかを指定する。
本引数を指定しない場合は public を指定したものとみなす。
description=説明 (オプション)
作成しようとしている list の説明文を指定する。説明文の長さは100文字まで。
全角文字も使えるようになった。
応答
リスト情報 list 1件

POST lists/update

指定 list の情報を更新する。

URL
POST http://api.twitter.com/1/lists/update.format
format=xml, json
認証
必要
API制限
適用対象外
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
name=リストの名前 (オプション)
list の名前を、本引数で指定した名前に変更する。公式ドキュメントで削除されている?
mode=public (オプション)
mode=private (オプション)
list を公開(public)にするか、非公開(private)にするかを指定する。
本引数を指定しない場合は今までの状態(公開、もしくは非公開)が保存される(変更は行なわれない)
description=説明 (オプション)
list の説明文を指定する。説明文の長さは100文字まで。
本引数を指定しない場合、説明文の変更は行なわれない。
全角文字も使えるようになった。
応答
リスト情報 list 1件

POST lists/destroy

自分の指定 list を削除する。

URL
POST http://api.twitter.com/1/lists/destroy.format 
format=xml, json
認証
必要
API制限
適用対象外
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
応答
リスト情報 list 1件

リストの登録内容に関するAPI

GET lists/members

指定した list に登録されているユーザの一覧を一度に最大20件取得する。

URL
GET http://api.twitter.com/1/lists/members.format
format=xml, json
認証
不要
API制限
適用対象
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
cursor=-1 または cursor=カーソル位置 (オプション)
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ一覧 users

GET lists/members/show

対象ユーザが list のメンバーであるかどうかを確認する。
登録されている場合は、そのユーザに関する情報が返る。

URL
GET http://api.twitter.com/1/lists/members/show.format
format=xml, json
認証
必要
API制限
適用対象
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
成功
ユーザ情報 user 1件
メンバーではないユーザ
エラー情報 error に「The specified user is not a member of this list」

POST lists/members/create

指定した自分の list にユーザを1人追加する。
1つの list に最大500人まで登録できる。

URL
POST http://api.twitter.com/1/lists/members/create.format
format=xml, json
認証
必要
API制限
適用対象外
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
応答
成功
リスト情報 list 1件
存在しないリスト
エラー情報 error に「Not found」(404)
存在しないユーザ
エラー情報 error に「Cannot find specified user」

POST lists/members/create_all

指定した自分の list に複数のユーザを最大100人まで追加できる。
1つの list に最大500人まで登録できる。
処理が多いため一部の登録を失敗してエラーコードを返すこともある。
重複登録についてエラーは吐かないため、もう1度同じ処理を繰り返すとよい。

URL
POST http://api.twitter.com/1/lists/members/create_all.format
format=xml, json
認証
必要
API制限
適用対象外
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
user_id=ユーザID[,ユーザID,……] (オプション)
screen_name=ユーザ名[,ユーザ名,……] (オプション)
1人以上の対象ユーザを指定する。複数指定する場合は半角コロン「,」で区切る。
応答
成功
リスト情報 list 1件
<重複登録や、存在しないユーザを指定しても成功してしまう>
存在しないリスト
エラー情報 error に「Not found」(404)

POST lists/members/destroy

指定した自分の list からメンバーを削除する。

URL
POST http://api.twitter.com/1/lists/members/destroy.format
format=xml, json
認証
必要
API制限
適用対象外
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
応答
成功
リスト情報 list 1件
存在しないリスト
エラー情報 error に「Not found」(404)
存在しないユーザ
エラー情報 error に「Cannot find specified user」
メンバーではないユーザ
エラー情報 error に「The user you are trying to remove from the list is not a member」

リストの講読に関するAPI

GET lists/subscribers

指定した list を講読しているユーザの一覧を一度に最大20件取得する。

URL
GET http://api.twitter.com/1/lists/subscribers.format
format=xml, json
認証
不要
API制限
適用対象
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
cursor=-1 または cursor=カーソル位置 (オプション)
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ一覧 users

GET lists/subscribers/show

対象ユーザが、指定した list の講読者であるかどうかを確認する。
講読している場合は、そのユーザに関する情報が返る。

URL
GET http://api.twitter.com/1/lists/subscribers/show.format
format=xml, json
認証
必要
API制限
適用対象
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
成功
ユーザ情報 user 1件
講読していないリスト
エラー情報 error に「The specified user is not a subscriber of this list」(404)

POST lists/subscribers/create

指定した list を講読する

URL
POST http://api.twitter.com/1/lists/subscribers/create.format
format=xml, json
認証
必要
API制限
適用対象外
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
応答
成功
リスト情報 list 1件
存在しないリスト
エラー情報 error に「Not found」(404)

POST lists/subscribers/destroy

指定した list の講読を解除する。

認証
必要
API制限
適用対象外
URL
POST http://api.twitter.com/1/lists/subscribers/destroy.format
format=xml, json
引数
list_id=リストID (どれか1つは必須)
slug=リスト名 (どれか1つは必須)
リストIDは同時にユーザも特定できるため owner_id や owner_screen_name は不要。
リスト名のみでは list を特定できないため owner_id か owner_screen_name でリスト作成ユーザも指定すること。
owner_id=ユーザID (slug 指定時にどれか1つは必須)
owner_screen_name (slug 指定時にどれか1つは必須)
slug 引数指定時に list の作成ユーザを指定。
応答
成功
リスト情報 list 1件
存在しないリスト
エラー情報 error に「Not found」(404)
講読していないリスト
エラー情報 error に「You are not subscribed to this list」

アカウント関連のAPI

GET account/rate_limit_status

自分の「API 制限状況」(この1時間以内にあと何回APIを実行できるか)を取得する。
本APIの実行自体はAPI制限の対象外である(何回でも実行できる)
認証を行わないで呼び出した場合はIPアドレス別の制限状況、
認証を行って呼び出した場合はアカウント別の制限状況が返る。
現在はAPIの応答の X-RateLimit で始まるリクエストヘッダに制限状況が設定されている。

URL
GET http://api.twitter.com/1/account/rate_limit_status.format
format=json, xml
認証
不要
ただし、認証した状態のAPI制限状況を得るには認証を行う必要がある。
認証を行わない場合はIP単位でのAPI制限状況を取得する。
API制限
適用対象外
引数
なし
応答
API制限情報 1件

GET account/verify_credentials

セッションを開始する。成功すると HTTP 200 OK の応答とともに認証したユーザに関する情報と HTTP-Cookie ヘッダが返る。
認証に失敗するとステータスコード 401 の応答とエラーメッセージが返る。
この API は認証情報が有効かどうかを確認するのに利用することができる。

URL
GET http://api.twitter.com/1/account/verify_credentials.format
format=json, xml
認証
必要
API制限
適用対象
引数
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

POST account/end_session

verify_credentials で開始したセッションを終了させ空の HTTP-Cookie ヘッダを返します。
この API はウィジェットのようなクライアントで簡易ログイン/ログアウトを実現する目的で使うことを想定している。

URL
POST http://api.twitter.com/1/account/end_session.format
format=json, xml
認証
必要
API制限
適用対象外
引数
なし
応答
エラー情報 error に「Logged out.」

POST account/update_profile

自分の profile (アカウント情報) を変更する。

URL
POST http://api.twitter.com/1/account/update_profile.format
format=json, xml
認証
必要
API制限
適用対象外
引数
name=名前 (オプション)
プロフィールの名前。最大 40 文字まで。「http://twitter.com/ユーザ名」に使われるユーザ名(スクリーンネーム)とは別もの。
url=URL (オプション)
プロフィールのWebページ。最大 100 文字まで。先頭の「http://」部分は省略可能
location=現在地 (オプション
プロフィールの位置情報。最大 30 文字まで
description=説明 (オプション)
プロフィールの自己紹介あるいは当該アカウントに関する説明。最大 160 文字まで
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

POST account/update_profile_colors

Twitter 上の自分のプロフィールページの各色を設定する。
色は6桁もしくは3桁の16進数によるRGB値を指定する。

URL
POST http://api.twitter.com/1/account/update_profile_colors.format
format=json, xml
認証
必要
API制限
適用対象外
引数
profile_background_color=6桁もしくは3桁のRGB値 (オプション)
背景の色
profile_text_color=6桁もしくは3桁のRGB値 (オプション)
文字の色
profile_link_color=6桁もしくは3桁のRGB値 (オプション)
リンクの色
profile_sidebar_fill_color=6桁もしくは3桁のRGB値 (オプション)
サイドバーの色
profile_sidebar_border_color=6桁もしくは3桁のRGB値 (オプション)
サイドバーの境界部分の色
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

POST account/update_profile_image

自分のプロフィールページの画像(ユーザアイコンとしても使用される)を設定する。
画像へのURLではなく画像データそのものを送ることに注意してください。

URL
POST http://api.twitter.com/1/account/update_profile_image.format
format=json, xml
認証
必要
API制限
適用対象外
引数
image (必須)
700kバイト未満のサイズの GIF, JPG, または PNG 形式の画像データを与える。
画像の横幅(width)が500ピクセル以上の画像は縮小される。
アニメーションGIF画像は静止画に変換されます。
データはbase64エンコードしておくこと。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

POST account/update_profile_background_image

自分のプロフィールページの背景画像を設定する。
画像へのURLではなく画像データそのものを送ることに注意してください。
画像は multipart/form-data 形式のデータとして送信すること。
OAuth認証の signature 生成には image 引数の内容は含まない。

URL
POST http://api.twitter.com/1/account/update_profile_background_image.format
format=xml,json
認証
必要
API制限
適用対象外
引数
image (必須)
800kバイト未満のサイズの GIF, JPG, または PNG 形式の画像データを与える。
画像の横幅(width)が2048ピクセル以上の画像は縮小される。
tile=true (オプション)
true にすると背景画像をタイル状に連続して並べて表示します。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

GET account/totals

自分の発言数、フレンド数、フォロワー数、お気に入り数の入った1次元配列を返す。

{
 "updates": 9125,
 "friends": 2280,
 "followers": 2774,
 "favorites": 2072
}

GET account/settings

言語・タイムゾーン・トレンド情報などを取得する。

POST account/settings

言語・タイムゾーン・トレンド情報などを設定する。

「指定デバイス」関連のAPI

POST notifications/follow

指定ユーザ(following)の発言を「指定デバイス」に送信するようにする。
注意|本APIはすでに friend になっているユーザに対してのみ実行できる。

URL
POST http://api.twitter.com/1/notifications/follow.format
format=xml, json
認証
必要
API制限
適用対象外
引数
id=ユーザID(またはユーザ名) (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
発言を「指定デバイス」に送信したいユーザの ID またはユーザ名を指定する
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

POST notifications/leave

指定ユーザ(following)の発言を「指定デバイス」に送信するのをやめる。
本APIはすでに friend になっているユーザに対してのみ実行できる。

URL
POST http://api.twitter.com/1/notifications/leave.format
format=xml, json
認証
必要
API制限
適用対象外
引数
id=ユーザID(またはユーザ名) (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
発言を「指定デバイス」に送信するのをやめたいユーザの ID またはユーザ名を指定する
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件

トレンド関連のAPI

  • サーバが search.twitter.com だったのが api.twitter.com に変わっている。

GET trends/daily

指定した日のホットな話題(最大20件)を取得する。

URL
GET http://api.twitter.com/1/trends/daily.format
format=json
認証
不要
API制限
適用対象
引数
date=日時 (オプション)
情報取得対象の日付を YYYY-MM-DD 形式で指定する。
本引数を指定しない場合は、trends/current と同一の結果が返る。~|
exclude=ハッシュタグ (オプション)
結果から削除したい(#を含まない)ハッシュタグ名を指定する。
応答
日時別のトレンド情報一覧 trends(2)

GET trends/weekly

指定した日を含む週のホットな話題(最大30件)を取得する。

URL
GET http://api.twitter.com/1/trends/weekly.format
format=json
認証
不要
API制限
適用対象
引数
date=日時 (オプション)
情報取得対象の日付を YYYY-MM-DD 形式で指定する。
本引数を指定しない場合は「今週のホットな話題」が返る。
exclude=ハッシュタグ (オプション)
結果から削除したい(#を含まない)ハッシュタグ名を指定する。
応答
日時別のトレンド情報一覧 trends(2)

GET trends/available

ホットな話題が存在する地域の情報(配列)を取得する。
引数で緯度、経度を指定した場合は、その地点に近い順に並び替えた「ホットな話題が存在する地域の情報(配列)」が返る。
取得結果には WOEID (a Yahoo! Where On Earth ID) 表現による位置情報や人間が読める形式の地名情報(例えば San Francisco)が格納される。
WOEID (a Yahoo! Where On Earth ID) に関しては、以下のWebページを参照。
http://developer.yahoo.com/geo/geoplanet/
取得できる件数は最大何件なのか、今のところ不明。

URL
GET http://api.twitter.com/1/trends/available.format
format=json, xml
認証
不要
API制限
適用対象
引数
lat=緯度 (オプション)
この引数を使う場合は、long 引数と同時に使用する必要がある
投稿しようとしている発言に関する位置情報のうち、「緯度」を指定する
「-90.0 〜 +90.0」 の範囲の値を指定する (正の値の場合「北緯」、負の値の場合「南緯」)
指定した緯度、経度の地点に近いものから順に並び替えた「地域情報(配列)」を返す
long=経度 (オプション)
この引数を使う場合は、lat 引数と同時に使用する必要がある
投稿しようとしている発言に関する位置情報のうち、「経度」を指定する
「-180.0 〜 +180.0」 の範囲の値を指定する (正の値の場合「東経」、負の値の場合「西経」)
応答
地域情報 location 配列

GET trends/:woeid

WOEID で指定した地点の付近のホットな情報を最大10件取得する。
なお、取得結果は5分間キャッシュされる。
(5分以内に同じ引数で本APIを実行した場合は、前回実行時と同じ結果が返る) 指定した地点付近の「ホットな情報」がない場合は、Twitter 全体での「ホットな情報」(trends/current 相当)を返す模様。

URL
GET http://api.twitter.com/1/trends/:woeid.format
format=json, xml
認証
不要
API制限
適用対象
引数
woeid (必須)
情報を取得したい地点を WOEID (a Yahoo! Where On Earth ID) で指定する。
1 を指定すると、Twitter 全体でホットになっている情報を取得する。
応答
日時別のトレンド情報一覧 trends(2)

ブロック関連のAPI

GET blocks/blocking

自分がブロックしているユーザ情報の一覧を取得する。
一度に取得できる数が何件かは不明。とりあえず101件以上は取得できる。

URL
GET http://api.twitter.com/1/blocks/blocking.format
format=json, xml
認証
必要
API制限
適用対象
引数
page=ページ番号 (オプション)
1ページを 一定の件数(デフォルトは不明)とみなしてユーザを取得する。最新ページは 1。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 配列

GET blocks/blocking/ids

自分がブロックしているユーザのID一覧(配列)を取得する。

URL
GET http://api.twitter.com/1/blocks/blocking/ids.format
format=json, xml
認証
必要
API制限
適用対象
引数
なし
応答
ID一覧 ids

GET blocks/exists

指定したユーザをブロックしているかどうかを調べる。
ブロックをしている場合は、対象のユーザ情報を返す。
ブロックをしていない場合、もしくは指定ユーザアのカウント自体が存在しない場合は
HTTP レスポンス 404 Not Found を返す。

URL
GET http://api.twitter.com/1/blocks/exists.format
format=json, xml
認証
必要
API制限
適用対象
引数
id=ユーザID または スクリーン名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
指定したユーザをブロックしているかどうかを調べる
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
成功
ユーザ情報 user 1件
存在しないユーザ
エラー情報 error に「Not Found」(404)
ブロックしていないユーザ
エラー情報 error に「You are not blocking this user.」(404)

POST blocks/create

指定ユーザをブロックする。
指定ユーザが friend だった場合、friend から外した上でブロックする。

URL
POST http://api.twitter.com/1/blocks/create.format
format=json, xml
認証
必要
API制限
適用対象外
引数
id=ユーザID (オプション)
id=スクリーン名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
ブロックしたいユーザを指定する。
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件
ただしブロックに成功しても 502 エラー「Twitter is over capacity.」が返ってくることが多い。

POST blocks/destroy

指定ユーザのブロック状態を解除する。

URL
POST http://api.twitter.com/1/blocks/destroy.format
DELETE http://api.twitter.com/1/blocks/destroy.format
format=json, xml
認証
必要
API制限
適用対象外
引数
id=ユーザID (オプション)
id=スクリーン名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
ブロック解除したいユーザを指定する。
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件
ブロックしていないユーザに行ってもユーザ情報が返る

spam 報告関連のAPI

POST report_spam

指定ユーザをスパマーであると報告し、ブロックする。

URL
POST http://api.twitter.com/1/report_spam.format
format=json, xml
認証
必要
API制限
適用対象外
ただし、1時間辺りの報告数の上限は固定
引数
id=ユーザID (オプション)
id=スクリーン名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
スパマーとして報告したいユーザを指定する
user_id=ユーザID (どれか1つは必須)
screen_name=ユーザ名 (どれか1つは必須)
対象のユーザを指定する。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 1件
ただしスパム報告(&ブロック)に成功しても 502 エラー「Twitter is over capacity.」が返ってくることが多い。

廃止されたAPI

ユーザ名を使うid 引数
現在は "user/show/9999.json" のようなユーザを指定する id 引数にユーザ名(スクリーン名)とユーザIDが混同して指定できる。
2011/05 現在も使うことはできるがまぎらわしく、廃止予定となっているため利用すべきではない。
ステータスID を入れる id 引数は全く問題ないが、
ユーザIDには user_id、ユーザ名には screen_name 引数がすでに用意されているのでそちらを使うこと。
望ましくない指定方法。
statuses/friends_timeline/:id.format
statuses/user_timeline/:id.format
statuses/show/:id.format
廃止された特定メソッドの引数など
users/show					email 引数
account/update_profile		email 引数
statuses/public_timeline	since_id 引数
statuses/friends_timeline	since 引数
statuses/user_timeline		since 引数

statuses/featured

account/archive

help/downtime_schedule

favourings/create

favourings/destroy

statuses/replies (廃止)

<公式仕様書ではすでに削除されている>
自分に対する返信(冒頭が @ユーザ名 で始まるステータス)の一覧を取得する。
すでに「@ユーザ名 」で始まらない本文途中の「@ユーザ名」でも取得する。
新引数の trim_user なども使えるため、おそらくはもう mentions のエイリアスとなっている。
仕様書ではすでにこの API は削除されている。
2011/05 現在でも利用可能だが、リプライのみの取得もできないためすでに必要性はない。

URL
GET http://api.twitter.com/1/statuses/replies.format
format=json, xml, rss, atom
認証
必要
API制限
適用対象
引数
since=日時 (オプション)
指定した日時以降に update されたステータスを取得する
日時のフォーマットは RFC822(の「5.日付と時刻仕様」) に従う
なお、本オプションの代わりに http リクエストヘッダで
If-Modified-Since
を明示することで、日時を指定することもできる
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_rts=true (または include_rts=t, include_rts=1) (オプション)
本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

初期のlistメソッド群

以下の奇妙な形式のリストメソッド群は廃止。

DELETE :user/:list_id/members
DELETE :user/:list_id/subscribers
DELETE :user/lists/:id
GET :user/:list_id/members
GET :user/:list_id/members/:id
GET :user/:list_id/subscribers
GET :user/:list_id/subscribers/:id
GET :user/lists
GET :user/lists/:id
GET :user/lists/:id/statuses
GET :user/lists/memberships
GET :user/lists/subscriptions

geo/nearby_places

statuses/followers (廃止)

<このメソッドは廃止予定です>
自分もしくは指定ユーザをフォローしているユーザの一覧を取得する。%%
このメソッドはフォローされているユーザの最新のツイートに含まれるユーザ情報を返すだけです。
followers/ids と users/lookup を組み合わせて使うように推奨されています。
この API で一度に取得できるデータは最大100件(100人分)である。

URL
GET http://api.twitter.com/1/statuses/followers.format
format=json, xml
認証
不要
API制限
適用対象
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
user_id=ユーザID (オプション)
screen_name=ユーザ名 (オプション)
対象のユーザを指定する。未設定なら自分自身が対象になる。
page=ページ番号 (オプション)
<公式仕様書ではすでに削除されている>
(1ページを100件とみなしたときの)ページ番号を指定することで、指定ユーザの follower の一覧を100件単位で取得する
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
lite=true (オプション)
<公式仕様書ではすでに削除されている>
lite=true を指定すると、「各 follower の最新ステータスなし」で follower の一覧を返す
cursor=-1 または cursor=カーソル位置 (オプション)
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 配列

statuses/friends (廃止)

<このメソッドは廃止予定です>
自分もしくは指定ユーザがフォローしているユーザの一覧を取得する。
このメソッドはフォローしているユーザの最新のツイートに含まれるユーザ情報を返すだけです。
friends/ids と users/lookup を組み合わせて使うように推奨されています。
この API で一度に取得できるデータは最大100件(100人分)である。

URL
GET http://api.twitter.com/1/statuses/friends.format
format=json, xml
認証
不要
API制限
適用対象
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<ユーザ名とユーザIDが混同されるこの形式は廃止予定です。代わりに user_id か screen_name を利用をすべきです。>
user_id=ユーザID (オプション)
screen_name=ユーザ名 (オプション)
対象のユーザを指定する。未設定なら自分自身が対象になる。
page=ページ番号 (オプション)
<公式仕様書ではすでに削除されている>
(1ページを100件とみなしたときの)ページ番号を指定することで、指定ユーザの friend の一覧を100件単位で取得する
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
lite=true (オプション)
<公式仕様書ではすでに削除されている>
lite=true を指定すると、「各 friend の最新ステータスなし」で friend の一覧を返す
since=日時 (オプション)
<公式仕様書ではすでに削除されている>
指定した日時以降にステータス が update された friend の一覧を取得する
cursor=-1 または cursor=カーソル位置 (オプション)
指定した(データベースの)カーソル位置から取得する。「-1」を指定した場合、先頭から取得する。
応答情報に next_cursor があれば「次のページ」、previous_cursor があれば「前のページ」の情報が存在する。
この値を cursor 引数に与えることで前後のページのデータを取得できる。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ユーザ情報 user 配列

statuses/friends_timeline (廃止)

<このメソッドは廃止予定です>
自分と自分の friend の過去800件分の(デフォルトでretweetを含まない)ステータスから20件(最大200件)を取得する。
引数 id を指定すれば、その id のユーザの friend のステータスを取得できる。
すでに他者のタイムラインは取得できなくなっている。
retweet がデフォルトでついてこない home_timeline と考えてよい。
home_timeline との違い

home_timelinefriends_timeline
retweetを含むinclude_rtsを指定しなければ
retweetを含まない
id 指定できないid 指定できる
URL
GET http://api.twitter.com/1/statuses/friends_timeline.format
format=json, xml, rss, atom
認証
必要
API制限
適用対象
引数
id=ユーザID (オプション)
id=ユーザ名 (オプション)
<公式仕様書ではすでに削除されている>
指定したユーザの friend のステータスを取得する。
(この引数を指定しない場合は、自分と自分の friend のステータスを取得する)
since=日時 (オプション)
<公式仕様書ではすでに削除されている>
指定した日時以降に update されたステータスを取得する
日時のフォーマットは RFC822(の「5.日付と時刻仕様」 = RFC2822 の 3.) に従う
なお、本オプションの代わりに http リクエストヘッダで
If-Modified-Since
を明示することで、日時を指定することもできる
since_id=ステータスID (オプション)
指定したIDより大きな値のIDのステータスのみ取得する (指定したIDは取得対象外)
max_id=ステータスID (オプション)
指定したステータスID以下の値のIDのステータスのみ取得する (指定したIDも取得対象内)
count=ステータス数 (オプション)
一度に取得するステータスの数を取得する。最大 200 まで指定可能。未設定なら 20。
page=ページ番号 (オプション)
1ページを count 件(デフォルトで20件)とみなして過去の発言を取得する。最新ページは 1。
ただし、サーバの負荷が高いときなどに取得できるページ数が制限される場合がある。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
本引数を指定すると、ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_rts=true (または include_rts=t, include_rts=1) (オプション)
本引数を指定すると、retweet も取得対象になる。なお、本引数指定時は、trim_user=true を同時に指定した場合でも、retweet 情報中のユーザ情報は簡易表記版にはならない
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

statuses/public_timeline (廃止)

公開設定で自分のアイコンを設定済みのユーザの最新のステータスから20件を取得する。
この API を実行してから60秒間、応答結果がキャッシュされ同一の応答しか返らない。
それよりも短い時間間隔で public_timeline を取得したい場合は「ストリーミングAPI」を利用すること。

URL
GET http://api.twitter.com/1/statuses/public_timeline.format
format=json, xml, rss, atom
認証
不要
API制限
適用対象
引数
since_id=ステータスID (オプション)
<公式仕様書ではすでに削除されている>
指定したIDより大きな値のIDのステータスのみ取得する。
trim_user=true (オプション)
trim_user=t (オプション)
trim_user=1 (オプション)
ステータス情報に含まれる(そのステータスの投稿者の)ユーザ情報をユーザID(数字)のみにする
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
ステータス情報 status 配列

trends (廃止)

いま、Twitter でホットな話題(最大10件)を取得する。
トレンドワードとそれを含めた検索URLの配列を返す。

URL
GET http://api.twitter.com/1/trends.format
format=json
認証
不要
API制限
適用対象
引数
なし
応答
トレンド情報一覧 trends(1)

trends/current (廃止)

いま、Twitter でホットな話題(最大10件)を取得する。
trends と trends/current とで、微妙に返ってくる結果のフォーマットが異なる。

URL
GET http://api.twitter.com/1/trends/current.format
format=json
認証
不要
API制限
適用対象
引数
exclude=ハッシュタグ (オプション)
結果から削除したい(#を含まない)ハッシュタグ名を指定する。
応答
日時別のトレンド情報一覧 trends(2)

account/update_delivery_device (廃止)

<このメソッドは廃止予定です>
自分の device を設定する。
公式でデバイス設定でがすでになくなっているため使用できない。

URL
POST http://api.twitter.com/1/account/update_delivery_device.format
format=json, xml
認証
必要
API制限
適用対象外
引数
device=sms (必須)
device=none (必須)
「指定デバイス」(SMS 等)を使って最新の発言を取得したい場合に、本 API にて指定する。
none を指定すると、本 API 実行完了時点で、device が使えなくなる(device 経由での投稿もできなくなる)。
include_entities=true (オプション)
include_entities=t (オプション)
include_entities=1 (オプション)
本引数を指定すると、ステータス情報に entities という情報を含むようにする。
entities には、そのステータスに関連するメタデータが格納される。
応答
旧形式エラー一覧 に「This endpoint is deprecated and should no longer be used」

account/update_location (廃止)

<公式仕様書ではすでに削除されている>
自分のプロフィールの位置情報(location)欄に表示する情報を更新する。
2011/05 現在でも機能していますが、使わないほうが無難でしょう。
今は account/update_profile を使うべきです。

URL
POST http://api.twitter.com/1/account/update_location.format
format=json, xml
認証
必要
API制限
適用対象外
引数
location=ユーザの現在位置 (必須)
profile の location 欄に表示したい文字列を指定する。
応答
ユーザ情報 user 1件

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規新規下位 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-12-23 (月) 20:37:12 (1449d)