ニコニコ動画・ニコニコ生放送などの内部APIの備忘録。気が向き次第追記
使用したことによるアカウント凍結とかの責任は負いません。

目次

ニコニコ動画

ニコニコ動画関連

ニコレポ

ニコニコ動画やニコニコ生放送のレポート

EndPoint

GET www.nicovideo.jp/api/nicorepo/timeline/my/all

ログイン必須。

Parameter

  • client_app (必須)
    原則的にpc_myrepoを指定。これを指定しないと400が返る
  • cursor
    取得する初めのニコレポIDを指定。

Example Result

{
    "meta": {
        "status": 200, // HTTPステータスコードと同じ
        "maxId": "*************-****************************************", // 取得した中で最新のニコレポのID。["data"][0]["id"]と合致する
        "minId": "*************-****************************************", // 取得した中で最古のニコレポのID。["data"][24]["id"]と合致する
        "impressionId": "********-****-****-****-************", // 不明
        "clientAppGroup": "nicorepo",
        "_limit": 25 // 取得数?パラメータで制御不能
    },
    "data": [
        {
            "id": "*************-****************************************", // ニコレポID
            "topic": "nicoad.user.advertise.video", // ニコレポ種別。後で詳細記載
            "createdAt": "2019-01-14T00:25:16.761+09:00", // ニコレポ発行日時
            "isVisible": true, // 見えるかどうか
            "isMuted": false, // ミューとしているかどうか
            "isDeletable": true, // 削除可能かどうか
            "muteContext": { // ミュートする際のコンテキスト
                "task": "nicorepo",
                "sender": {
                    "idType": "user",
                    "id": "41586021",
                    "type": "user"
                },
                "trigger": "video.nicoad_user_advertise_video"
            },
            "senderNiconicoUser": { // ニコレポ発行者情報
                "nickname": "Tomachi", // 発行者名
                "id": 41586021, // 発行者ID
                "icons": { // 発行者アイコン
                    "tags": {
                        "defaultValue": {
                            "urls": {
                                "s50x50": "https://secure-dcdn.cdn.nimg.jp/nicoaccount/usericon/s/4158/41586021.jpg?1497273633",
                                "s150x150": "https://secure-dcdn.cdn.nimg.jp/nicoaccount/usericon/4158/41586021.jpg?1497273633"
                            }
                        }
                    }
                }
            },
            "actionLog": [],
            "video": { // 動画情報
                "id": "sm********", // VideoID
                "status": "PUBLIC", // 動画ステータス
                "thumbnailUrl": { // サムネイル
                    "normal": "https://tn.smilevideo.jp/smile?i=********.*****"
                },
                "title": "******************", // 動画名
                "videoWatchPageId": "sm********" // 動画閲覧時のページVideoID
            },
            "nicoad": { // ニコニ広告情報
                "watchUrls": {
                    "pcUrl": "https://nicoad.nicovideo.jp/video/publish/sm********", // PCでのニコニ広告ページ
                    "spUrl": "https://nicoad.nicovideo.jp/video/publish/sm********" // スマホでのニコニ広告ページ
                }
            }
        }
    ],
    "errors": [], // エラー情報
    "status": "ok" // ステータス
}

備考

ニコレポ種別は以下のjavascriptのプログラムから確認可能。
message/ja-jp.js

ニコニ広告

ニコニ広告関連

ニコニ広告の無料福引情報を取得

別記事にて解説。ニコニ広告の無料福引を取得する

ニコニ広告に関する動画情報を取得

EndPoint

GET api.nicoad.nicovideo.jp/v1/contents/video/{VID}

VIDにはsm32684885などのsmなどが入ったVideoIDを入力。
ログイン不要。

Parameter

無し (未特定の可能性あり)

Example Result

{
    "meta": {
        "status": 200 // HTTPのステータスコードと同じ。
    },
    "data": {
        "id": "sm32684885", // vid
        "title": "ポプテピピックの豆知識BB", // 動画タイトル
        "targetUrl": "https://www.nicovideo.jp/watch/sm32684885", // 動画URL
        "thumbnailUrl": "https://tn.smilevideo.jp/smile?i=32684885.M", // 動画サムネイルURL
        "nonSchemeThumbnail": "//tn.smilevideo.jp/smile?i=32684885.M", // プロトコル(スキーム)無し動画サムネイルURL
        "tags": [ // 設定されているタグ
            "アニメ",
            "ポプテピピック",
            "BB素材"
        ],
        "totalPoint": 100, // 動画に送られたすべてのニコニ広告ポイント
        "activePoint": 100, // 広告期間中ポイント数 (動画なら7日間)
        "publishable": true, // falseに出会ったことがない。広告できるかどうかとか?
        "ownerId": 41586021, // 動画投稿者のID
        "ownerName": "Tomachi", // 動画投稿者名
        "ownerIcon": "https://secure-dcdn.cdn.nimg.jp/nicoaccount/usericon/4158/41586021.jpg?1497273633", // 動画投稿者アイコン
        "decoration": "normal" // 動画枠。silverとかgoldとか。
    }
}

ニコニ広告をしたユーザーのリスト取得

GET api.nicoad.nicovideo.jp/v1/contents/video/{VID}/thanks

VIDにはsm32684885などのsmなどが入ったVideoIDを入力。
ログイン不要。

Parameter

  • limit
    1〜2147483647を指定可能。デフォルト値は10。この数値外だと400が返り、1未満の場合はerrorCode: INVALID_PARAMETERが、2147483648以上の場合は400以外に何も返らない (エラーコードもなし)

Example Result

{
    "meta": {
        "status": 200 // HTTPのステータスコードと同じ
    },
    "data": {
        "sponsors": [
            {
                "userId": 41586021, // 広告者ユーザーID
                "advertiserName": "Tomachi", // 広告者名
                "message": "メッセージ", // 広告メッセージ
                "contribution": 100, // 広告貢数 (投入ポイント数とは異なる?)
                "auxiliary": {
                    "bgColor": "#FFC100" // 指定した背景色
                }
            }
        ]
    }
}

動画へのニコニ広告の履歴

GET api.nicoad.nicovideo.jp/v1/contents/video/{VID}/histories

VIDにはsm32684885などのsmなどが入ったVideoIDを入力。
ログイン不要。

Parameter

  • limit
    0〜2147483647を指定可能。デフォルト値は10。この数値外だと400が返り、0未満の場合はerrorCode: NICOAD_13_0で不具合扱いが返り、2147483648以上の場合は400以外に何も返らない (エラーコードもなし)

Example Result

{
    "meta": {
        "status": 200 // HTTPのステータスコードと同じ
    },
    "data": {
        "count": 1, // データ数
        "serverTime": 1547405280, // ニコニコのサーバの時刻(Unixtime)
        "histories": [
            {
                "advertiserName": "Tomachi", // 広告者名
                "nicoadId": 27222283, // ニコニ広告のID
                "message": "メッセージ", // 広告メッセージ
                "adPoint": 100, // 投入ポイント
                "contribution": 100, // 広告貢数
                "startedAt": 1547404266, // 広告開始時刻
                "endedAt": 1548009066, // 広告有効期限
                "userId": 41586021 // 広告者ユーザーID
            }
        ]
    }
}