Skip to content

Instantly share code, notes, and snippets.

@7cc
Last active September 1, 2024 10:29
Show Gist options
  • Save 7cc/c608fe778defd0357d9d1b75d1956816 to your computer and use it in GitHub Desktop.
Save 7cc/c608fe778defd0357d9d1b75d1956816 to your computer and use it in GitHub Desktop.
ニコニコ静画、マンガAPI
*良識の範囲で使う。例えば、関連する市場も同時に表示するとか
追記:市場は終了…https://blog.nicovideo.jp/seiga/2019/12/post-1285.html
# 静画API
静画, コメント, タグ, 市場
マンガ, コメント, タグ, 市場(旧テーマ?お題)
自分のNGリスト取得
マイリスト取得?不明
ランキング
新しい投稿
共通で使われるキャッシュ防止のパラメータ
_=1526602159870
_=now
マンガ 一覧ソート
(topの 新連載作品)カテゴリー別検索は不明
http://seiga.nicovideo.jp/ajax/manga/list
http://seiga.nicovideo.jp/ajax/manga/list?page=2
// パラメータは普通のURLから適当に。。。使えないものが多い
// アイテム数10
// 最近コメントがついた作品
http://seiga.nicovideo.jp/ajax/manga/list?sort=comment_created
// 最近更新された作品(ユーザー作品?)
http://seiga.nicovideo.jp/ajax/manga/list?sort=manga_updated
// お気に入り登録が多い順
http://seiga.nicovideo.jp/ajax/manga/list?sort=manga_favorite
普通のページ アイテム数20
http://seiga.nicovideo.jp/manga/list?page=2&sort=manga_favorite
API アイテム数10
http://seiga.nicovideo.jp/ajax/manga/list?page=3&sort=manga_favorite
公式 検索には出るが、サイト内リンクされていない?
http://seiga.nicovideo.jp/manga/list?official=maoh
&status=trial
&status=conclusion
市場
http://seiga.nicovideo.jp/ajax/ichiba?image_id=5360137
http://seiga.nicovideo.jp/ajax/ichiba?id=bk5468
x http://seiga.nicovideo.jp/ajax/ichiba?id=mg151130
x http://seiga.nicovideo.jp/ajax/ichiba?manga_id=151130
http://ichiba.nicovideo.jp/embed/?action=showMain&v=mg151130
&country=jp&ch=false&rev=20140908&callback=Ajax.RequestP.requestors[0].handleResults&dummy=1526570452533
----------------------------------------------------------
x http://seiga.nicovideo.jp/ajax/manga/list?official=earthstar
x http://seiga.nicovideo.jp/ajax/manga/list?user_id=43731774
## マンガ
http://seiga.nicovideo.jp/comic/3304
http://seiga.nicovideo.jp/watch/mg44171
content_id
episodeNo = theme_id
マンガ
http://seiga.nicovideo.jp/api/manga/info?id=${content_id}
http://seiga.nicovideo.jp/api/manga/info?id=3304
// 複数
http://seiga.nicovideo.jp/api/manga/info?id_list=3304,14126
マンガ エピソード (タグなど含む)
http://seiga.nicovideo.jp/api/theme/info?id=mg44171
http://seiga.nicovideo.jp/api/theme/info?id=44171
// 複数
http://seiga.nicovideo.jp/api/theme/info?id_list=44171,110604
マンガ エピソード一覧 公開中のだけ
http://seiga.nicovideo.jp/api/manga/episodes?id={episodeNo}
http://seiga.nicovideo.jp/api/manga/episodes?id=44171
http://seiga.nicovideo.jp/api/manga/episodes?id=45155
同枠内(上限100話)のtheme_idで同じXML. theme_id = episodeNo
マンガ エピソード一覧 公開中のだけ
http://seiga.nicovideo.jp/api/manga/episodes?id=151130
マンガ エピソード一覧 手動による更新?今は非公開の物も表示されたり逆もしかり
http://seiga.nicovideo.jp/rss/manga/18834
直接 マンガ<=>エピソード一覧 を知ることは無理?
マンガ => RSS => エピソード一覧
マンガ エピソード 画像URL一覧(暗号化してある, エピソードページでも同じ情報は得られる) theme_id
http://seiga.nicovideo.jp/api/theme/data?theme_id=44171
旧API ↑にリダイレクトされる
seiga.nicovideo.jp/api/theme/res/list?theme_id=44171
マンガ エピソード タグ episodeNo
http://seiga.nicovideo.jp/ajax/manga/tag/list?id=44171
マンガ エピソード コメント thead_id
http://msg.seiga.nicovideo.jp:80/api.json/thread?thread=243288&version=20090904&res_from=-1000
https://seiga.nicovideo.jp/p/msg.seiga.nicovideo.jp:80/api.json/thread?thread=243288&version=20090904&res_from=-1000&
XMLでも取れるよ
http://msg.seiga.nicovideo.jp:80/api/thread?thread=243288&version=20090904&res_from=-1000
マンガ エピソード コメント 2019/01/09 現在動いていない 用意されているだけ
seiga.nicovideo.jp/ajax/manga/comment/get?theme_id=356526
マンガ エピソード embed
http://ext.seiga.nicovideo.jp/thumb/mg44171
http://ext.seiga.nicovideo.jp/thumb/44171
http://ext.seiga.nicovideo.jp/thumb/ab44171
[a-z]{2}\d+ なら何でもいい. イラストは im 必須
// マンガはかつてあった「お題」の機能を流用している模様
// タイトルはあったりなかったり いつかしら以降のはあるみたい
// これは使う意味は無い
http://seiga.nicovideo.jp/bbs/sg44171
http://seiga.nicovideo.jp/bbs/sg275402
マンガ ランキング xml, jsonp カテゴリ指定不可?
seiga.nicovideo.jp/api/manga/ranking
?span=monthly
&format=jsonp
マンガ ランキング RSS
ランキングページにURLは示されるが、配信されていない(404)
http://seiga.nicovideo.jp/rss/manga/ranking/point/hourly/shonen
マンガ ランキング RSS
*ランキングではない
http://seiga.nicovideo.jp/rss/manga/ranking
マンガ ユーザー 投稿一覧
*普通のHTML API不明
http://seiga.nicovideo.jp/manga/list?user_id=43731774
------------------------------------
## 静画(イラスト)
イラスト
http://seiga.nicovideo.jp/api/illust/info?id=5360137
http://seiga.nicovideo.jp/api/illust/info?id_list=5360137,6385426
イラスト タグ
http://seiga.nicovideo.jp/ajax/illust/tag/list?id=5360137
イラスト コメント
http://seiga.nicovideo.jp/ajax/illust/comment/list?id=5360137
&mode=all
イラスト コメント コメントのみ、最新の30件のみ
seiga.nicovideo.jp/ajax/image/comment/get?image_id=5360137
イラスト embed
http://ext.seiga.nicovideo.jp/thumb/im6385426
ユーザー 投稿イラスト一覧
http://seiga.nicovideo.jp/api/user/data?id=22907347
ユーザー 名前
http://seiga.nicovideo.jp/api/user/info?id=22907347
イラスト ランキング RSS
パラメータはランキングページから適当に取る
http://seiga.nicovideo.jp/rss/illust/ranking/point/daily/g_creation
http://seiga.nicovideo.jp/rss/illust/ranking/point/monthly/g_creation
イラスト ランキング xml, jsonp
seiga.nicovideo.jp/api/illust/ranking
?span=daily
&category=original
&format=jsonp
イラスト 新着投稿イラスト RSS
http://seiga.nicovideo.jp/rss/illust/new
パラメータはここ参照
http://mypace-engine.blogspot.com/2012/05/api.html
http://mypace-engine.blogspot.com/2012/05/api_12.html
イラスト タグ検索
http://seiga.nicovideo.jp/api/tagslide/data?page=1&query=猫
イラスト タグ情報?
http://seiga.nicovideo.jp/api/tagslide/info?query=猫
イラスト クリップ 自分のクリップ(=フォルダ)一覧
このカテゴリー?フォルダー?自体がクリップと呼ばれる。"クリップ"の中に"クリップしたイラスト"が入る
seiga.nicovideo.jp/my/clip/list
イラスト クリップ 公開クリップ一覧 HTML
http://seiga.nicovideo.jp/clip/list
イラスト クリップ 公開クリップ一覧 指定のイラストを含む HTML
http://seiga.nicovideo.jp/clip/list/im5360137
イラスト定点観測 自分 観測タグ(お気に入りタグ) HTML
http://seiga.nicovideo.jp/personalize/tag/default
イラスト コメント 自分 登録NG一覧
http://seiga.nicovideo.jp/api/comment/ng/get
https://gist.github.com/7cc/4d555be81a807f37277fac92e9140ce7
イラスト 放送中
http://seiga.nicovideo.jp/ajax/live/user?user_id=
http://seiga.nicovideo.jp/ajax/live/
イラスト 情報・コメント ログイン不要
sp.seiga.nicovideo.jp/ajax/seiga/im9603945
sp.seiga.nicovideo.jp/ajax/seiga?id=9603945
seiga.nicovideo.jp/ajax/token/issue?_a=clip_add
sp.seiga.nicovideo.jp/ajax/token/issue?_a=clip_add
sp.seiga.nicovideo.jp/ajax/clip/add
--------------------------------------------------------------
ブログパーツ http://seiga.nicovideo.jp/my/blogpartsから blogparts の前に api/illust を入れる
公開クリップ 中身 最新20件?
http://ext.seiga.nicovideo.jp/api/illust/blogparts?mode=clip&key={clipNo}
ユーザー 投稿 最新25件?
http://ext.seiga.nicovideo.jp/api/illust/blogparts?mode=user&key=22907347
ランキング 長い
http://ext.seiga.nicovideo.jp/api/illust/blogparts?mode=ranking&key=daily,g_creation
--------------------------------------------------------------
メモ
URLはこれで終わることが多い
info?id=
data?id=
list?id=
// リスト操作 token取得 => post
http://seiga.nicovideo.jp/ajax/token/issue?_a=clip_add&_=1526616385034
http://seiga.nicovideo.jp/ajax/clip/add / delete
http://seiga.nicovideo.jp/ajax/manga/favorite/add / remove
getは無い??? list, info, data, show
x seiga.nicovideo.jp/api/favorite/list
x seiga.nicovideo.jp/ajax/manga/favorite
x seiga.nicovideo.jp/api/manga/favorite/list
x seiga.nicovideo.jp/api/manga/list/favorite
リスト名一覧
o seiga.nicovideo.jp/my/clip/list
x seiga.nicovideo.jp/my/favorite/list
x seiga.nicovideo.jp/my/manga/favorite/list
x seiga.nicovideo.jp/my/manga/list
後で整理する
o seiga.nicovideo.jp/ajax/illust/comment/list?
x seiga.nicovideo.jp/ajax/illust/illust/list?
x seiga.nicovideo.jp/ajax/illust/illust/data?
x seiga.nicovideo.jp/ajax/illust/illust/info?
x seiga.nicovideo.jp/ajax/manga/user/list
x seiga.nicovideo.jp/ajax/manga/user/data
x seiga.nicovideo.jp/ajax/manga/user/info
x seiga.nicovideo.jp/api/manga/user/list
x seiga.nicovideo.jp/api/manga/user/data
x seiga.nicovideo.jp/api/manga/user/info
x seiga.nicovideo.jp/ajax/ichiba?theme_id=44171
タグ 使用場所不明
seiga.nicovideo.jp/ajax/tag/add or /remove
イラスト タグをフォロー
seiga.nicovideo.jp/ajax/personalize/tag/add
ユーザーフォロー(お気に入り登録)post
seiga.nicovideo.jp/ajax/watchitem/add
seiga.nicovideo.jp/watch/mg272567
ext.seiga.nicovideo.jp/thumb/mg272567
seiga.nicovideo.jp/thumb/mg272567
他のドメインでも "ext." は付けなくてもよい?しかし、トップドメインはext.付きにリダイレクトされる
nicovideo.jp/thumb/sm9
ext.nicovideo.jp/thumb/sm9
マンガ 検索 一覧
seiga.nicovideo.jp/manga/list?
user_id=11185726
status=series / conclusion / trial
category=青年マンガ
sort=manga_updated
page=1
player_type=vertical / niconico
seriesはイベントも含む。キャンペーンも?
普通のワード検索 3,166件
http://seiga.nicovideo.jp/search/4コママンガ?target=manga
この検索は精度が良くない。というか、仕様が分からない。これはコンテンツ検索APIも同様。
http://seiga.nicovideo.jp/search/ADIR?target=manga
http://seiga.nicovideo.jp/search/ADIRA?target=manga
マンガ カテゴリー検索 ( 4コママンガ 作品一覧3083件 )
検索画面結果の、カテゴリリンクはこれ (http://seiga.nicovideo.jp/search/4コママンガ?mode=keyword&target=manga)
http://seiga.nicovideo.jp/manga/list?category=yonkoma
http://seiga.nicovideo.jp/manga/list?category=4コママンガ
マンガ タグ検索 カテゴリー以外も含む のに少ない ( 4コママンガ タグの作品一覧199件 ) デフォ投稿日時順
http://seiga.nicovideo.jp/manga/tag/4コママンガ
?player_type=niconico
マンガ タグ検索 上と検索結果が同じ デフォ更新日時順 ( 4コママンガ タグの作品一覧199件 )
検索画面フォームの「タグで検索」はこれ (http://seiga.nicovideo.jp/search/4コママンガ?mode=keyword&target=manga)
http://seiga.nicovideo.jp/tag/4コママンガ?target=manga
&player_type=niconico
マンガ タグ検索 上と同じ
http://seiga.nicovideo.jp/search/4コママンガ?mode=tag&target=manga
マンガ エピソード 普通の視聴ページ. 連番でアクセス可能. mgにリダイレクトされる
番号が振られるのは公開中のエピソードのみ. 例えば 1,2,13話が公開されている場合,それぞれep1,ep2,ep3になる.
http://seiga.nicovideo.jp/comic/3304/ep1
http://seiga.nicovideo.jp/comic/3304/ep2
http://seiga.nicovideo.jp/comic/3304/ep0 = latest
http://seiga.nicovideo.jp/comic/3304/new = latest
マンガ 更新一覧 「ニコニコ漫画(公式)」のみ
http://seiga.nicovideo.jp/rss/manga/
--------------------------------------------------
URLの規則性があるのか
seiga.nicovideo.jp/my/clip
seiga.nicovideo.jp/my/clip/list
seiga.nicovideo.jp/clip/list/im5360137
seiga.nicovideo.jp/ajax/clip/add
seiga.nicovideo.jp/my/personalize
seiga.nicovideo.jp/personalize/tag/default
seiga.nicovideo.jp/ajax/personalize/tag/add
seiga.nicovideo.jp/my/manga/favorite
seiga.nicovideo.jp/my/manga/favorite/list x
seiga.nicovideo.jp/manga/favorite x
seiga.nicovideo.jp/ajax/manga/favorite/add
しおり機能?
seiga.nicovideo.jp/ajax/manga/favorite/bookmark
seiga.nicovideo.jp/ajax/manga/tag/add
seiga.nicovideo.jp/ajax/illust/tag/add
しおりの次を表示
------------------------------------------------------------------
seiga.nicovideo.jp/my/personalize
seiga.nicovideo.jp/personalize/tag/default
seiga.nicovideo.jp/ajax/personalize/tag/add /delete
seiga.nicovideo.jp/personalize/tag/default
seiga.nicovideo.jp/personalize/tag/edit
postのみ getは404 tagIdはここで使う
seiga.nicovideo.jp/personalize/tag/add /delete
seiga.nicovideo.jp/ajax/manga/favorite/add /remove
seiga.nicovideo.jp/my/manga/favorite
seiga.nicovideo.jp/my/manga/favorite/list x
seiga.nicovideo.jp/manga/favorite x
動画側の取りあえずマイリストに追加
seiga.nicovideo.jp/ajax/mylist/deflist/add
クリップ操作
http://seiga.nicovideo.jp/ajax/clip/add /delete /move
クリップグループ(フォルダ)操作
http://seiga.nicovideo.jp/ajax/clipgroup/create /delete /update
-----------------------------------------------------------
ログイン状態
http://seiga.nicovideo.jp/ajax/logincheck
(ソース: https://twitter.com/innsbluck_/status/832495687199715329)
ログイン
https://account.nicovideo.jp/api/v1/login
ログアウト
https://account.nicovideo.jp/logout
コンテンツ検索API クエリ必須
------------------------------------------------------------
マンガの人気度を測るのは難しい。
マンガには「閲覧数、コメント数、お気に入り数、マイリスト数」がある。
閲覧数、コメント数は、「公開中のエピソード」しか累計されない。
公式マンガは公開期限を過ぎると消すので参考にならない。
マンガの`mylistCounter`には、「お気に入り数」は含まれない
------------------------------------------------------------
http://api.search.nicovideo.jp/api/v2/manga/contents/search
?q=宿
&targets=title
&fields=contentId,title,viewCounter,categoryTags,mylistCounter
&filters[viewCounter][gte]=1000
&_sort=-mylistCounter
&_offset=0
&_limit=3
&_context=apiguide
http://api.search.nicovideo.jp/api/v2/manga/contents/search
?q=宿
&targets=title
&fields=contentId,title,description,viewCounter,categoryTags,tags
&filters[categoryTags][0]=4コママンガ
&_sort=-commentCounter
&_offset=0
&_limit=3
&_context=apiguide
## Comic Walker
https://ssl.seiga.nicovideo.jp/api/v1/comicwalker/contents/KDCW_AM01100032010060_68
https://ssl.seiga.nicovideo.jp/api/v1/comicwalker/episodes/KDCW_AM01100032010060_68/frames
## Nico
info
https://ssl.seiga.nicovideo.jp/api/v1/app/manga/contents/22253
episodes
https://ssl.seiga.nicovideo.jp/api/v1/app/manga/contents/22253/episodes
info
https://ssl.seiga.nicovideo.jp/api/v1/app/manga/episodes/461759
https://ssl.seiga.nicovideo.jp/api/v1/app/manga/episodes?theme_id=461759
https://ssl.seiga.nicovideo.jp/api/v1/app/manga/episodes/461759/frames
https://ssl.seiga.nicovideo.jp/api/v1/manga/episodes/461759/frames
original image (login)
https://seiga.nicovideo.jp/image/source?id=10182122
comment
https://ssl.seiga.nicovideo.jp/api/v1/app/manga/episodes/461759/comments
https://ssl.seiga.nicovideo.jp/api/v1/manga/episodes/461759/comments
----------------------------------------------------------
ssl.seiga.nicovideo.jp/api/v1/manga/pickups
ssl.seiga.nicovideo.jp/api/v1/app/manga/officials
ssl.seiga.nicovideo.jp/api/v1/app/manga/officials/maoh
// get id from ↑
ssl.seiga.nicovideo.jp/api/v1/app/manga/officials/104
// 抜けがある
ssl.seiga.nicovideo.jp/api/v1/app/manga/officials/104/contents
function bookmark(theme_id, content_id, token) {
let formData = new FormData()
formData.append('_a', 'bookmark')
formData.append('_t', token)
formData.append('content_id', 34811) // "作品IDが入力されていません" = comic/29739
formData.append('theme_id', 369311) // "お題IDが入力されていません" = mg303341
formData.append('number', 1) // "numberが入力されていません" = 何か分からない. 1で動くよ
let url = 'https://seiga.nicovideo.jp/ajax/manga/favorite/bookmark'
fetch(url, {
method: 'post',
mode: 'same-origin',
credentials: 'same-origin',
body: formData
}).then(res => {
res.json().then(json => {
console.log(json)
})
})
}
function getToken(action="bookmark") {
let url = `https://seiga.nicovideo.jp/ajax/token/issue?_a=${action}&_=${Date.now()}`
return fetch(url, {
method: 'get',
mode: 'same-origin',
credentials: 'same-origin'
}).then(res => {
return res.json().then(json => {
//console.log({json})
return json._t
})
})
}

metadata

comic

<div id="contents"
     data-content_id="34701"
     data-is_favorite="1"
     data-favorite_count="42538">

mg

<div class="watch_head_bar"
     id="full_watch_head_bar"
     data-content-id="34701"
     data-theme-id="319519"
     data-mylist-maintenance=""
     data-is-favorite="1"
     data-favorite-count="42549"
     data-page-count="3">
APIからのアイコン
https://lohas.nicoseiga.jp/thumb/mg_icon/5395295q
バナー(小)
https://lohas.nicoseiga.jp/thumb/mg_icon/5395296q
バナー(縦)単行本表紙?
https://lohas.nicoseiga.jp/thumb/mg_icon/5395297q
APIからのアイコン アイコンの切り取り拡大
https://lohas.nicoseiga.jp/thumb/mg_icon/5395298q これと
バナー
https://lohas.nicoseiga.jp/material/25ece4/5395296
アイコン(大)
https://lohas.nicoseiga.jp/material/6ff576/5395298 これが一致
公式
「APIからのアイコン ~ アイコン(大)」までの連番4つは確保してある
(上の場合、5395295-5395298の4つが連番)
しかし存在してるとは限らない
安定しては使えない
materialの方のURLはパスが不明
---------------------------------------
size
s < q=z < t < c? < u? < m < l
サイズは画像によって変わる
縦横広いほうの?どちらかに合わせる
原寸はここから
seiga.nicovideo.jp/image/source?id=6385426
APIからのアイコン
https://lohas.nicoseiga.jp/thumb/mg_icon/7650879q
バナー(小)
https://lohas.nicoseiga.jp/thumb/mg_icon/7650881q
バナー(縦)単行本表紙?
N/A
APIからのアイコン アイコンの切り取り拡大
https://lohas.nicoseiga.jp/thumb/mg_icon/7650882q これと
バナー
https://lohas.nicoseiga.jp//material/8f42e6/7650881
アイコン(大)
https://lohas.nicoseiga.jp/material/2ad19a/7650882 これが一致
@7cc
Copy link
Author

7cc commented May 28, 2018

ファイルの並び順のために、一部先頭に無意味な a を付けた。

@qj8x67s33a44
Copy link

非公開apiを見つける方法がありますか?

@qj8x67s33a44
Copy link

qj8x67s33a44 commented Apr 13, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment