※注意このページで取り扱う情報には、18歳未満が取り扱うのにふさわしくない情報が含まれています。商標権についてなろう18禁小説APIなろう18禁小説APIではノクターンノベルズ、ムーンライトノベルズおよびミッドナイトノベルズに掲載されている18歳未満閲覧禁止の18禁小説情報を取得できます。注意:本APIで取得した情報を18歳未満に閲覧させてはいけません。なろう18禁小説APIはHTTPでのリクエストに対してJSON形式、JSONP形式、YAML形式またはPHPのserializeで応答します。実際に小説のデータが修正されてからなろうAPIに反映されるまで平均5分程度(最大2時間)の誤差があります。APIを使うためにはJavaScriptあるいはPerl/PHP/Ruby/Java/C言語などでプログラミングが必要です。出力要素の追加について(2019/8/20)小説情報の出力要素に感想数、期間別ポイントを表す項目を追加しました。詳細は出力をご覧ください。項目の追加に伴い出力GETパラメータのofで利用可能な値を追加しました。詳細は出力のofパラメータをご覧ください。出力要素の削除について(2019/2/21)小説情報の出力要素およびofパラメータにisr15に関する記述がありましたが、本APIでは出力を行なう仕様は存在しないため削除しました。出力要素の追加について(2016/5/24)小説情報の出力要素に登録必須キーワードの有無を表す項目を追加しました。詳細は出力をご覧ください。項目の追加に伴い出力GETパラメータのofで利用可能な値を追加しました。詳細は出力のofパラメータをご覧ください。含まれる小説のみを抽出できるようになりました。含まれる小説を除外できるようになりました。掲載サイトの追加について(2015/12/16)ミッドナイトノベルズの公開に伴い、nocgenre,notnocgenreで指定可能な値を追加しました。Atom形式の出力に関する動作について(2015/04/07)Atomフィードの日付にあたる項目に、最終掲載日(general_lastup)ではなく小説の更新日時(novelupdated_at)が出力されている点を修正しました。最終掲載日の取得を正しく行なう場合はパラメータの追加をお願いします。・出力形式JSON形式、JSONP形式またはYAML形式、PHPのserialize標準はYAML形式となっていますが、outパラメータで変更できます。文字コードはUTF-8です。・APIのURLhttps://api.syosetu.com/novel18api/api/GETで送信。POSTでは受信できません。日本語などマルチバイト文字送信時は文字コードをUTF-8にし、URLエンコードしてください。gzip圧縮してgzipファイルとして返します。gzip圧縮レベルを1~5で指定できます。出力形式をyamlまたはjsonまたはphpを指定。未指定時はYAMLになる。出力する項目を個別に指定できます。未指定時は全項目出力されます。転送量軽減のため、このパラメータの使用が推奨されます。複数項目を出力する場合は-で区切ってください。詳しくは出力の項目をご覧ください。最大出力数を指定できます。最低1、最高500です。半角数字で指定してください。指定しない場合は20件になります。表示開始位置の指定です。半角数字で指定してください。全部で10作品あるとして、3作品目以降の小説情報を取得したい場合は3と指定してください。出力順序を指定できます。指定しない場合は新着更新順となります。出力形式を指定できます。jsonまたはyamlまたはphpで指定してください。yaml:YAML形式(デフォルト)json:JSON形式php:PHPのserialize()atom:Atomフィードjsonp:JSONP形式JSONPの使い方JSONPを利用することでJavaScriptから直接、APIを利用できるようになります。callbackコールバック関数名。正規表現に一致する関数名を指定してください。JSONPを利用することでJavaScriptから直接、APIを利用できるようになります。例https://api.syosetu.com/novel18api/api/?out=jsonp&callback=callJSONP形式でコールバック関数名をcallにしたい場合のURLです。YAML形式の出力に関する動作について出力形式にYAMLを指定した場合、パラメータを指定する事で利用するライブラリを変更できます。利用するライブラリを指定できます。未指定もしくは1以下の値を指定した場合、従来通りのライブラリを利用します。2以上の値を指定すると、新ライブラリを利用します。新ライブラリでは以下の点が従来のライブラリと異なります。・文字列と数値の型指定が厳格化します。・マルチバイト文字や一部の制御文字がエスケープ処理されます。例1https://api.syosetu.com/novel18api/api/?libtype=1従来通りのライブラリで出力を行ないます。小説名や作者名等、文字列が格納される部分が数値で構成されている場合でも、数値はダブルクォートで囲まれません。例2https://api.syosetu.com/novel18api/api/?libtype=2新ライブラリで出力を行ないます。小説名や作者名等、文字列が格納される部分が数値で構成されている場合、数値がダブルクォートで囲まれます。Atomフィード形式の出力に関する動作についてAtomフィードの日付にあたる項目に、最終掲載日(general_lastup)ではなく小説の更新日時(novelupdated_at)が出力されていることが判明しました為、最終掲載日の取得を正しく行なう為のパラメータを追加しました。お手数をお掛けしますが、日付の出力に最終掲載日を必要とする場合は、追加のパラメータをご利用いただきますようお願いいたします。日付として出力する項目を指定できます。2の値を指定すると、最終掲載日(general_lastup)を日付として出力します。未指定の場合、従来通り小説の更新日時(novelupdated_at)を日付として出力します。例1https://api.syosetu.com/novel18api/api/?out=atom従来通り、小説の更新日時(novelupdated_at)を日付として出力します。例2https://api.syosetu.com/novel18api/api/?out=atom&updatetype=2最終掲載日(general_lastup)を日付として出力します。文字コードはUTF-8でURLエンコードしてください。半角または全角スペースで区切るとAND抽出になります。部分一致でHITします。含みたくない単語を指定できます。文字コードはUTF-8でURLエンコードしてください。スペースで区切ることにより含ませない単語を増やせます。部分一致で除外されます。1の場合はタイトルをwordとnotwordの抽出対象にします。1の場合はあらすじをwordとnotwordの抽出対象にします。1の場合はキーワードをwordとnotwordの抽出対象にします。1の場合は作者名をwordとnotwordの抽出対象にします。※上記4項目すべて指定しない場合は全項目抽出対象と扱います。※wordがNコードと判断される文字列の場合、抽出対象はすべて無視され、Nコードから小説を探します。掲載サイトを指定できます。ハイフン(-)記号で区切れば複数の掲載サイトを一括抽出できます。1:ノクターンノベルズ(男性向け)2:ムーンライトノベルズ(女性向け)3:ムーンライトノベルズ(BL)4:ミッドナイトノベルズ(大人向け)例https://api.syosetu.com/novel18api/api/?nocgenre=1掲載サイトがノクターンノベルズ(男性向け)となっている小説の小説情報を取得するURLです。例2https://api.syosetu.com/novel18api/api/?nocgenre=1-3掲載サイトがノクターンノベルズ(男性向け)またはムーンライトノベルズ(BL)となっている小説の小説情報を取得するURLです。掲載サイトを除外検索できます。ハイフン(-)記号で区切れば含ませたくない掲載サイトを増やせます。1:ノクターンノベルズ(男性向け)2:ムーンライトノベルズ(女性向け)3:ムーンライトノベルズ(BL)4:ミッドナイトノベルズ(大人向け)例https://api.syosetu.com/novel18api/api/?notnocgenre=1掲載サイトがノクターンノベルズ(男性向け)となっている小説以外の小説情報を取得するURLです。https://api.syosetu.com/novel18api/api/?notnocgenre=2-3掲載サイトがムーンライトノベルズ(女性向け、BL)となっている小説以外の小説情報を取得するURLです。ハイフン(-)記号で区切ればXIDのOR検索ができます。1を指定した場合、登録必須キーワードに「ボーイズラブ」が含まれている小説のみを抽出します。1を指定した場合、登録必須キーワードに「ガールズラブ」が含まれている小説のみを抽出します。1を指定した場合、登録必須キーワードに「残酷な描写あり」が含まれている小説のみを抽出します。1を指定した場合、登録必須キーワードに「異世界転生」が含まれている小説のみを抽出します。1を指定した場合、登録必須キーワードに「異世界転移」が含まれている小説のみを抽出します。1を指定した場合、登録必須キーワードに「異世界転生」または「異世界転移」が含まれている小説のみを抽出します。1を指定した場合、登録必須キーワードに「ボーイズラブ」が含まれている小説を除外し抽出します。1を指定した場合、登録必須キーワードに「ガールズラブ」が含まれている小説を除外し抽出します。1を指定した場合、登録必須キーワードに「残酷な描写あり」が含まれている小説を除外し抽出します。1を指定した場合、登録必須キーワードに「異世界転生」が含まれている小説を除外し抽出します。1を指定した場合、登録必須キーワードに「異世界転移」が含まれている小説を除外し抽出します。抽出する小説の最小文字数を指定できます。文字数とは小説から一部タグ記号(改ページ等)、ルビ、ルビのふりがな部分、みてみんの画像挿入コード、スペース、改行を抜いた値です。小説から一部タグ記号(改ページ等)、ルビ、ルビのふりがな部分、みてみんの画像挿入コード、スペース、改行を抜いた値です。抽出する小説の文字数を指定できます。minlenまたはmaxlenと併用はできません。文字数とは小説から一部タグ記号(改ページ等)、ルビ、ルビのふりがな部分、みてみんの画像挿入コード、スペース、改行を抜いた値です。範囲指定する場合は、最小文字数と最大文字数をハイフン(-)記号で区切ってください。例https://api.syosetu.com/novel18api/api/?length=10000文字数が1万文字ちょうどの小説の小説情報を取得するURLです。https://api.syosetu.com/novel18api/api/?length=2000-3000文字数が2000文字から3000文字の小説の小説情報を取得するURLです。https://api.syosetu.com/novel18api/api/?length=10000-文字数が10000文字以上の小説の小説情報を取得するURLです。https://api.syosetu.com/novel18api/api/?length=-15000文字数が15000文字以下の小説の小説情報を取得するURLです。抽出する小説の会話率を%単位で指定できます。範囲指定する場合は、最低数と最大数をハイフン(-)記号で区切ってください。例https://api.syosetu.com/novel18api/api/?kaiwaritu=10-50会話率が10%~50%までの作品を抽出します。https://api.syosetu.com/novel18api/api/?kaiwaritu=0-50会話率が0%~50%までの作品つまり50%以下の作品を抽出します。https://api.syosetu.com/novel18api/api/?kaiwaritu=50-会話率が50%以上の作品を抽出します。https://api.syosetu.com/novel18api/api/?kaiwaritu=30会話率が30%ちょうどの作品を抽出します。抽出する小説の挿絵の数を指定できます。範囲指定する場合は、最小数と最大数を-(ハイフン)記号で区切ってください。例https://api.syosetu.com/novel18api/api/?sasie=1-挿絵が存在する、つまり1以上を取得します。https://api.syosetu.com/novel18api/api/?sasie=1-5挿絵が1つから5つまでの作品を指定します。抽出する小説の最低読了時間を分単位で指定できます。読了時間は小説文字数÷500を切り上げした数字です。抽出する小説の最大読了時間を分単位で指定できます。読了時間は小説文字数÷500を切り上げした数字です。抽出する小説の読了時間を指定できます。mintimeまたはmaxtimeと併用はできません。読了時間は小説文字数÷500を切り上げした数字です。範囲指定する場合は、最小文字数と最大文字数をハイフン(-)記号で区切ってください。例https://api.syosetu.com/novel18api/api/?time=10読了時間が10分ちょうどの小説の小説情報を取得するURLです。https://api.syosetu.com/novel18api/api/?time=30-100読了時間が30分~100分の小説の小説情報を取得するURLです。https://api.syosetu.com/novel18api/api/?time=10-読了時間が10分以上の小説の小説情報を取得するURLです。https://api.syosetu.com/novel18api/api/?time=-10読了時間が10分以内の小説の小説情報を取得するURLです。ハイフン(-)記号で区切ればNコードのOR検索ができます。開示設定が「検索除外中です」となっている作品は抽出できません。例https://api.syosetu.com/novel18api/api/?ncode=n0001a-n1111b-n9999dN0001A,N1111B,N9999Dを取得するURLです。小説タイプを指定できます。ハイフン(-)記号で区切ればOR検索できます。本機能は試験提供機能です。マージンを設けてあるため、適切な結果でない場合があります。連載停止中作品に関する指定ができます。未完結の連載中小説で最終掲載日から63日以上経過しているものをさします。検索結果に反映されるまで約15分~2時間の遅れがあります。最終掲載日(general_lastup)で抽出できます。以下の文字列を指定できます。開始日と終了日をハイフン(-)記号で区切ることでUNIXタイムスタンプで抽出できます。UNIXタイムスタンプとは1970年1月1日からの通算秒数のことです。例https://api.syosetu.com/novel18api/api/?lastup=thisweek今週新規投稿または次話投稿された作品の一覧です。https://api.syosetu.com/novel18api/api/?lastup=1262271600-12649499992010年1月1日0時0分0秒から2010年1月31日23時59分59秒までに新規投稿または次話投稿された作品を抽出できます。UNIXタイムスタンプで指定しています。ピックアップ条件に当てはまるかの指定ができます。注意ノクターンノベルズ、ムーンライトノベルズおよびミッドナイトノベルズのピックアップはispickupが1でさらに小説評価が高い順100件です。ノクターンノベルズ、ムーンライトノベルズおよびミッドナイトノベルズのピックアップと同一結果を取得したい場合はispickupが1であるかを確認し、さらに総合評価で並べ替えその結果を100件取得する必要があります。https://api.syosetu.com/novel18api/api/?ispickup=1&order=hyoka&lim=100ノクターンノベルズ、ムーンライトノベルズおよびミッドナイトノベルズで使っている小説ピックアップの情報を取得するURLです。・出力APIサーバが出力する文字コードはUTF-8です。デフォルトはYAML形式です。outパラメータでJSON形式などにも変更できます。最初の要素には全小説出力数が入り、以降、一作品ずつ情報が入っています。短編小説と完結済小説は0となっています。