前言

  • 所有图片均来自Pixiv,版权也归作品的作者所有,API仅储存作品的基本信息。

  • 本API仅限个人的学习研究鉴赏行为,如果因使用API产生任何问题,与API无关。

  • 本API采用RESTful风格设计。

API前缀

目前仅可通过一个Url访问API。

  • https://pixiv-ab.site/api/pixiv/{PARAMS}
  • https://pixiv-ab.tk/api/pixiv/{PARAMS}
  • https://angelbeats.site/api/pixiv/{PARAMS}
  • https://angelbeats-kanade.com/api/pixiv/{PARAMS}

其中https://pixiv-ab.site/api/pixiv为API的前缀,{PARAMS}为占位符,表示的是获取不同的数据需要的不同Url后缀。

API后缀

GET

  • /{daily|r18}/tag/{tags:string}
  • /{daily|r18}/user/id/{id:int}
  • /{daily|r18}/user/name/{userName:string}
  • /{daily|r18}/date/{date:datetime}
  • /{daily|r18}/random
  • /id/{id:int}
{daily|r18}表示的是以“或”关系并列的两个API。daily返回的是不带R18tag的图片,r18返回的是带R18tag的图片。但注意,这个只是Pixiv上的分类,并不保证daily返回的图片不具有R18元素。

POST

  • /
  • /json

根据tag搜索图片

Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/tag/{tags}
参数 数据类型 说明
tags string 用于搜索图片的tag,多个tag之间用空格分开
Response body
Content-Type: application/json
{
	"title": "string",
	"tags": [
		"string"
	],
	"url": "string",
	"artist": "string",
	"id": 0,
	"uid": 0
}
参数 数据类型 说明
title string 图片的标题
tags string[] 图片的tag
url string 可以直接访问图片的Url
artist string 图片的作者
id int 图片的P站ID
uid int 图片作者的P站ID

本API按照AND规则匹配图片的tag,对大小写不敏感。输入的tag应当是你所要得到的图片在Pixiv里会打上的tag,因此在搜索之前最好先确定自己要搜索的图片会有什么tag,本API不提供中文转译日文的功能,最好用日文相应的tag搜索。举个例子,我想要搜索关于明日方舟黑丝的图片,那我发送的请求应该是如此:

https://pixiv-ab.site/api/pixiv/daily/tag/明日方舟%20黑丝

其中的%20为空格在Uri中的字符编码。实际输入的时候并不需要显式输入%20,只需要输入空格就可以了。返回的数据如下:

{
  "title": "史尔特尔",
  "tags": [
	"黑丝",
	"史尔特尔",
	"明日方舟",
	"アークナイツ",
	"スルト(アークナイツ)",
	"アークナイツ1000users入り"
  ],
  "url": "https://i.pixiv.re/img-master/img/2020/10/05/00/41/56/84809989_p0_master1200.jpg",
  "artist": "MAaaaaaackia",
  "id": 84809989,
  "uid": 14161677
}

根据画师的ID搜索图片

Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/user/id/{id}
参数 数据类型 说明
id int 画师的ID
Response body
Content-Type: application/json
[
  {
	"title": "string",
	"tags": [
	  "string"
	],
	"url": "string",
	"artist": "string",
	"id": 0,
	"uid": 0
  }
]

返回的数据为一个由图片信息组成的数组

参数 数据类型 说明
title string 图片的标题
tags string[] 图片的tag
url string 可以直接访问图片的Url
artist string 图片的作者
id int 图片的P站ID
uid int 图片作者的P站ID

根据画师的名字搜索图片

Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/user/name/{userName}
参数 数据类型 说明
userName string 画师的名字
Response body
Content-Type: application/json
[
  {
	"title": "string",
	"tags": [
	  "string"
	],
	"url": "string",
	"artist": "string",
	"id": 0,
	"uid": 0
  }
]

返回的数据为一个由图片信息组成的数组

参数 数据类型 说明
title string 图片的标题
tags string[] 图片的tag
url string 可以直接访问图片的Url
artist string 图片的作者
id int 图片的P站ID
uid int 图片作者的P站ID

根据日期搜索图片

Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/date/{date}
参数 数据类型 说明
date datetime 画作的日期,格式需要符合datetime格式,例如:2022-06-01
Response body
Content-Type: application/json
[
  {
	"title": "string",
	"tags": [
	  "string"
	],
	"url": "string",
	"artist": "string",
	"id": 0,
	"uid": 0
  }
]

返回的数据为一个由图片信息组成的数组

参数 数据类型 说明
title string 图片的标题
tags string[] 图片的tag
url string 可以直接访问图片的Url
artist string 图片的作者
id int 图片的P站ID
uid int 图片作者的P站ID

随机获取一张图片

Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/random
参数 数据类型 说明
Response body
Content-Type: application/json
{
	"title": "string",
	"tags": [
	  "string"
	],
	"url": "string",
	"artist": "string",
	"id": 0,
	"uid": 0
}
参数 数据类型 说明
title string 图片的标题
tags string[] 图片的tag
url string 可以直接访问图片的Url
artist string 图片的作者
id int 图片的P站ID
uid int 图片作者的P站ID

根据ID搜索图片

Request URL:https://pixiv-ab.site/api/pixiv/{daily|r18}/id/{id}
参数 数据类型 说明
id int 图片的P站ID
Response body
Content-Type: application/json
{
	"title": "string",
	"tags": [
	  "string"
	],
	"url": "string",
	"artist": "string",
	"id": 0,
	"uid": 0
}
参数 数据类型 说明
title string 图片的标题
tags string[] 图片的tag
url string 可以直接访问图片的Url
artist string 图片的作者
id int 图片的P站ID
uid int 图片作者的P站ID

同时用多种参数搜索图片

因为RESTful风格的约束,一个API只能搜索一个方面,如果想同时从多个方面来搜索图片,可以采用POST方法来提交多种搜索参数。有两个POST方法,一个是键值对上传,一个是JSON上传。

# Request URL Content type Request body
1 https://pixiv-ab.site/api/pixiv application/x-www-form-urlencoded
	Tags={tags}
	&Date={date}
	&Artist={artist}
	&UserId={userId}
	&Page={page}
	&R18={true|false}
				
2 https://pixiv-ab.site/api/pixiv/json application/json
	{
		"tags": "string",
		"date": "2022-06-01",
		"artist": "string",
		"uid": 0,
		"page": 0,
		"r18": true
	}
				
参数 数据类型 说明
Tags string 画作的tag,同样支持多tag搜寻,tag之间用空格分开
Date datetime 画作上传的时间
Artist string 画师名字
UserId int 画师的P站ID
Page int 这个值指定搜索的图片位于所有搜索到的图片的位置,一页图片为20张,默认为1
R18 boolean 图片是否含有R18tag,默认值为false
所有参数都是可选的,不一定要上传全部参数。除了Page和R18有默认值外,其他值在未上传时默认为不参与搜索(即搜索结果不受该参数影响)。
Response body
Content-Type: application/json
[
  {
	"title": "string",
	"tags": [
	  "string"
	],
	"url": "string",
	"artist": "string",
	"id": 0,
	"uid": 0
  }
]

返回的数据为一个由图片信息组成的数组

参数 数据类型 说明
title string 图片的标题
tags string[] 图片的tag
url string 可以直接访问图片的Url
artist string 图片的作者
id int 图片的P站ID
uid int 图片作者的P站ID

举个例子,如果我要搜索同时满足以下条件:画作上传时间在2021年6月23日、有关于明日方舟百合、含有R18元素的画作,那么我构建的上传json如下:

{
  "tags": "明日方舟 百合",
  "date": "2021-06-23",
  "r18": true
}

返回的数据如下:

[
  {
	"title": "W   汁水",
	"tags": [
	  "R-18",
	  "女の子",
	  "欧派",
	  "明日方舟",
	  "魅惑的大腿",
	  "丝袜",
	  "大腿",
	  "足",
	  "W",
	  "百合"
	],
	"url": "https://i.pixiv.re/img-master/img/2021/06/23/15/31/49/90753600_p0_master1200.jpg",
	"artist": "阿戈魔AGM",
	"id": 90753600,
	"uid": 20670939
  }
]

响应码

在使用本API时,请先确认返回的响应码为200,如果不是200,则代表服务器在处理该次请求时有问题。

响应码 说明
200 请求正常
404 找不到相应图片
500 服务器超载,请等待一段时间再试

其他

  • 服务器上的数据相对于Pixiv的最新数据有一至数个小时的延迟,请不要在每天的日榜更新后立刻搜索最新一天的数据。

  • 服务器在每周日的晚上10点进行停机维护,同时数据库也会进行更新,对全体图片的信息重新更新一遍,维护时间为2小时,请尽量避免在维护时间段内使用API。

An error has occurred. This application may no longer respond until reloaded. Reload 🗙