Hikarinagi Public API

Hikarinagi 公开数据 API。所有端点要求携带 client_credentials 访问令牌,默认 throttle 60 次/分钟/应用。

获取访问令牌

开发者控制台 创建应用后,用 client_id 与 client_secret 通过 Basic 认证请求令牌,令牌有效期 1 小时;scope 为本次申请的权限集合,不能超出应用已被授予的范围。

curl -X POST "https://id.hikarinagi.org/oidc/token" \
  -u "$CLIENT_ID:$CLIENT_SECRET" \
  -d "grant_type=client_credentials&scope=$SCOPES"

响应格式

所有响应都包裹在统一信封中,文档里各端点描述的是信封内 data 字段的结构。

{
  "success": true,
  "data": { … },
  "request_id": "req-x",
  "timestamp": "2026-07-10T00:00:00.000Z"
}

条目数据

client_credentials 访问令牌鉴权的只读条目数据。

Galgame 详情

GET/api/v3/open/galgames/{id}

查询参数

id*number

响应数据

id*number
origin_title*string
trans_title*string | null
aliases*string[]
covers*OpenCoverDto[]
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
votes*number封面得票数
images*OpenMediaDto[]
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
release_date*string | null
release_date_tbd*boolean
release_date_tbd_note*string
origin_intro*string | null
trans_intro*string | null
adv_type*string | null
platforms*string[]
homepage*string | null
engine*string | null
origin_lang*string | null
dev_status*"RELEASED" | "IN_DEVELOPMENT" | "CANCELLED" | null
prices*OpenGalgamePriceDto[]
version*string | null
amount*number | null
currency*string | null
tax_included*boolean | null
nsfw*boolean
created_at*string
updated_at*string
revised_at*string | null
curl "https://www.hikarinagi.org/api/v3/open/galgames/1" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Galgame Staff

GET/api/v3/open/galgames/{id}/staff

查询参数

id*number
role"GAME_DESIGNER" | "DIRECTOR" | "PRODUCER" | "SUPERVISOR" | "EXECUTIVE_PRODUCER" | "ORIGINAL_WORK" | "CHARACTER_DESIGN" | "MECHANICAL_DESIGN" | "LEVEL_DESIGN" | "PLANNING" | "PROGRAM" | "QC" | "SCENARIO" | "SERIES_COMPOSITION" | "ANIMATION_SUPERVISOR" | "ART" | "GRAPHICS" | "CG_SUPERVISOR" | "SD_ART" | "BACKGROUND" | "COVER_ART" | "SOUND_DIRECTOR" | "MUSIC" | "THEME_COMPOSITION" | "THEME_LYRICS" | "THEME_PERFORMANCE" | "INSERT_PERFORMANCE" | "ANIMATION_PRODUCTION" | "ANIMATION_DIRECTOR" | "ANIMATION_SCRIPT" | "COOPERATION" | "TRANSLATOR" | "EDITOR"

响应数据

role*"GAME_DESIGNER" | "DIRECTOR" | "PRODUCER" | "SUPERVISOR" | "EXECUTIVE_PRODUCER" | "ORIGINAL_WORK" | "CHARACTER_DESIGN" | "MECHANICAL_DESIGN" | "LEVEL_DESIGN" | "PLANNING" | "PROGRAM" | "QC" | "SCENARIO" | "SERIES_COMPOSITION" | "ANIMATION_SUPERVISOR" | "ART" | "GRAPHICS" | "CG_SUPERVISOR" | "SD_ART" | "BACKGROUND" | "COVER_ART" | "SOUND_DIRECTOR" | "MUSIC" | "THEME_COMPOSITION" | "THEME_LYRICS" | "THEME_PERFORMANCE" | "INSERT_PERFORMANCE" | "ANIMATION_PRODUCTION" | "ANIMATION_DIRECTOR" | "ANIMATION_SCRIPT" | "COOPERATION" | "TRANSLATOR" | "EDITOR" | null
person*OpenEntityRefDto
id*number
name*string
trans_name*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
curl "https://www.hikarinagi.org/api/v3/open/galgames/1/staff?page=1&page_size=10" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

Galgame 角色

GET/api/v3/open/galgames/{id}/characters

查询参数

id*number
role"MAIN" | "SUPPORTING" | "GUEST"

响应数据

role*"MAIN" | "SUPPORTING" | "GUEST"
actors*OpenEntityRefDto[]
id*number
name*string
trans_name*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
character*OpenEntityRefDto
id*number
name*string
trans_name*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
curl "https://www.hikarinagi.org/api/v3/open/galgames/1/characters?page=1&page_size=10" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

轻小说详情

GET/api/v3/open/light-novels/{id}

查询参数

id*number

响应数据

id*number
name*string
name_cn*string | null
other_names*string[]
covers*OpenCoverDto[]
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
votes*number封面得票数
publication_date*string | null
novel_status*"SERIALIZING" | "FINISHED" | "PAUSED" | "ABANDONED"
total_volumes*number
summary*string | null
summary_cn*string | null
nsfw*boolean
created_at*string
updated_at*string
revised_at*string | null
curl "https://www.hikarinagi.org/api/v3/open/light-novels/1" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

轻小说分卷

GET/api/v3/open/light-novels/{id}/volumes

查询参数

id*number
sort"volume_number" | "recent"

响应数据

id*number
volume_type*"MAIN" | "EXTRA"
volume_number*number | null
volume_label*string | null
name*string | null
name_cn*string | null
covers*OpenCoverDto[]
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
votes*number封面得票数
publication_date*string | null
relation*string
curl "https://www.hikarinagi.org/api/v3/open/light-novels/1/volumes?page=1&page_size=10" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

轻小说人物

GET/api/v3/open/light-novels/{id}/people

查询参数

id*number
relation"author" | "illustrator"

响应数据

relation*string
note*string | null
person*OpenEntityRefDto
id*number
name*string
trans_name*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
curl "https://www.hikarinagi.org/api/v3/open/light-novels/1/people?page=1&page_size=10" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

轻小说厂商

GET/api/v3/open/light-novels/{id}/producers

查询参数

id*number
relation"bunko" | "publisher"

响应数据

relation*string
note*string | null
producer*OpenEntityRefDto
id*number
name*string
trans_name*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
curl "https://www.hikarinagi.org/api/v3/open/light-novels/1/producers?page=1&page_size=10" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

轻小说角色

GET/api/v3/open/light-novels/{id}/characters

查询参数

id*number
role"MAIN" | "SUPPORTING" | "GUEST"

响应数据

role*"MAIN" | "SUPPORTING" | "GUEST"
character*OpenEntityRefDto
id*number
name*string
trans_name*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
curl "https://www.hikarinagi.org/api/v3/open/light-novels/1/characters?page=1&page_size=10" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

漫画详情

GET/api/v3/open/mangas/{id}

查询参数

id*number

响应数据

id*number
name*string
name_cn*string | null
other_names*string[]
covers*OpenCoverDto[]
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
votes*number封面得票数
serial_status*"SERIALIZING" | "FINISHED" | "PAUSED" | "ABANDONED"
reading_mode*"PAGED_RTL" | "PAGED_LTR" | "WEBTOON"
origin_country*string | null
audience*"SHONEN" | "SEINEN" | "SHOJO" | "JOSEI" | null
latest_chapter_at*string | null
publication_date*string | null
publication_end_date*string | null
homepage*string | null
isbn*string | null
price_amount*number | null
price_currency*string | null
pages*number | null
editions*OpenMangaEditionDto[]
label*string
fields*Record<string, string>
summary*string | null
summary_cn*string | null
nsfw*boolean
created_at*string
updated_at*string
revised_at*string | null
curl "https://www.hikarinagi.org/api/v3/open/mangas/1" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

漫画单行本

GET/api/v3/open/mangas/{id}/volumes

查询参数

id*number

响应数据

id*number
volume_number*number | null
name*string | null
name_cn*string | null
cover*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
isbn*string | null
publication_date*string | null
page_count*number | null
curl "https://www.hikarinagi.org/api/v3/open/mangas/1/volumes" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

漫画人物

GET/api/v3/open/mangas/{id}/people

查询参数

id*number

响应数据

role*"AUTHOR" | "ART" | "ORIGINAL_CREATOR" | "SCRIPT" | "ILLUSTRATION" | "CHARACTER_DESIGN"
note*string
person*OpenEntityRefDto
id*number
name*string
trans_name*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
curl "https://www.hikarinagi.org/api/v3/open/mangas/1/people" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

漫画厂商

GET/api/v3/open/mangas/{id}/producers

查询参数

id*number

响应数据

role*"PUBLISHER" | "MAGAZINE" | "LABEL"
note*string
producer*OpenEntityRefDto
id*number
name*string
trans_name*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
curl "https://www.hikarinagi.org/api/v3/open/mangas/1/producers" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

漫画角色

GET/api/v3/open/mangas/{id}/characters

查询参数

id*number
role"MAIN" | "SUPPORTING" | "GUEST"

响应数据

role*"MAIN" | "SUPPORTING" | "GUEST"
character*OpenEntityRefDto
id*number
name*string
trans_name*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
curl "https://www.hikarinagi.org/api/v3/open/mangas/1/characters?page=1&page_size=10" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

人物详情

GET/api/v3/open/people/{id}

查询参数

id*number

响应数据

id*number
name*string
trans_name*string | null
aliases*string[]
intro*string
trans_intro*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
gender*string | null
labels*OpenEntityLabelDto[]
key*string
value*string
created_at*string
updated_at*string
revised_at*string | null
curl "https://www.hikarinagi.org/api/v3/open/people/1" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

厂商详情

GET/api/v3/open/producers/{id}

查询参数

id*number

响应数据

id*number
name*string
type*string
aliases*string[]
intro*string | null
trans_intro*string | null
country*string
established*string | null
website*string | null
logo*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
labels*OpenEntityLabelDto[]
key*string
value*string
created_at*string
updated_at*string
revised_at*string | null
curl "https://www.hikarinagi.org/api/v3/open/producers/1" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

角色详情

GET/api/v3/open/characters/{id}

查询参数

id*number

响应数据

id*number
name*string
trans_name*string | null
aliases*string[]
intro*string
trans_intro*string | null
image*OpenMediaDto | null
url*string完整图片 URL
width*number | null
height*number | null
sexual*number色情内容分级,0 为安全
violence*number暴力内容分级,0 为安全
gender*string | null
blood_type*string | null
birthday_month*number | null
birthday_day*number | null
height*number | null
weight*number | null
bust*number | null
waist*number | null
hips*number | null
cup*string | null
age*number | null
labels*OpenEntityLabelDto[]
key*string
value*string
created_at*string
updated_at*string
revised_at*string | null
curl "https://www.hikarinagi.org/api/v3/open/characters/1" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

应用管理

开发者自助应用管理:登录用户创建/管理自己的 OAuth 客户端。

我的应用列表

GET/api/v3/user/me/developer/apps

响应数据

client_id*string
client_name*string
scope*string | null该应用可请求的 scope
client_uri*string | null应用主页
redirect_uris*string[]回调地址
enabled*boolean
created_at*string
curl "https://www.hikarinagi.org/api/v3/user/me/developer/apps" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

创建应用

POST/api/v3/user/me/developer/apps

client_secret 仅在本次响应中返回一次,请立即妥善保存

请求体

client_name*string应用名称

响应数据

client_id*string
client_name*string
scope*string | null该应用可请求的 scope
client_uri*string | null应用主页
redirect_uris*string[]回调地址
enabled*boolean
created_at*string
client_secret*string仅在创建/轮换时返回一次,请立即妥善保存
curl -X POST "https://www.hikarinagi.org/api/v3/user/me/developer/apps" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"client_name":"My App"}'

应用详情

GET/api/v3/user/me/developer/apps/{client_id}

查询参数

client_id*string

响应数据

client_id*string
client_name*string
scope*string | null该应用可请求的 scope
client_uri*string | null应用主页
redirect_uris*string[]回调地址
enabled*boolean
created_at*string
curl "https://www.hikarinagi.org/api/v3/user/me/developer/apps/hkn_yourclientid" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

更新应用

PATCH/api/v3/user/me/developer/apps/{client_id}

查询参数

client_id*string

请求体

client_namestring应用名称
enabledboolean停用后该应用无法再获取 token
scopes"catalog:read" | "catalog:full"[]应用可请求的 scope 集合
client_uristring | null应用主页,https 地址
redirect_urisstring[]回调地址,最多 5 条

响应数据

client_id*string
client_name*string
scope*string | null该应用可请求的 scope
client_uri*string | null应用主页
redirect_uris*string[]回调地址
enabled*boolean
created_at*string
curl -X PATCH "https://www.hikarinagi.org/api/v3/user/me/developer/apps/hkn_yourclientid" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"client_name":"My App","enabled":true}'

删除应用

DELETE/api/v3/user/me/developer/apps/{client_id}

查询参数

client_id*string
curl -X DELETE "https://www.hikarinagi.org/api/v3/user/me/developer/apps/hkn_yourclientid" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

轮换应用密钥

POST/api/v3/user/me/developer/apps/{client_id}/secret

生成新的 client_secret 并立即使旧密钥失效,新密钥仅在本次响应中返回一次

查询参数

client_id*string

响应数据

client_id*string
client_name*string
scope*string | null该应用可请求的 scope
client_uri*string | null应用主页
redirect_uris*string[]回调地址
enabled*boolean
created_at*string
client_secret*string仅在创建/轮换时返回一次,请立即妥善保存
curl -X POST "https://www.hikarinagi.org/api/v3/user/me/developer/apps/hkn_yourclientid/secret" \
  -H "Authorization: Bearer $ACCESS_TOKEN"

你和同好的ACGN社区

© 2026 Hikarinagi · Some Rights Reserved · 3.13.0

开发者平台