![]() |
VOOZH | about |
dotnet add package Magelon-png.PixivApi --version 3.0.0
NuGet\Install-Package Magelon-png.PixivApi -Version 3.0.0
<PackageReference Include="Magelon-png.PixivApi" Version="3.0.0" />
<PackageVersion Include="Magelon-png.PixivApi" Version="3.0.0" />Directory.Packages.props
<PackageReference Include="Magelon-png.PixivApi" />Project file
paket add Magelon-png.PixivApi --version 3.0.0
#r "nuget: Magelon-png.PixivApi, 3.0.0"
#:package Magelon-png.PixivApi@3.0.0
#addin nuget:?package=Magelon-png.PixivApi&version=3.0.0Install as a Cake Addin
#tool nuget:?package=Magelon-png.PixivApi&version=3.0.0Install as a Cake Tool
Scighost.PixivApi.Clients namespace. While models are under Scighost.PixivApi.Models.PixivClient now takes 3 different parameters for the cookie.Pixiv's login process uses Cloudflare protection, which is basically impossible to bypass. For features that require an account, please log in through a browser and use the constructor containing cookie and user agent.
Pixiv's images use hotlink protection. When downloading images, you need to add Referer: https://www.pixiv.net/
PixivClient is the request class for all APIs regarding the pixiv website. Some APIs are listed below. Explore more during use or check the source code.
This library provides the following packages:
Magelon-png.PixivApi - The complete API without any additional binariesMagelon-png.PixivApi.CurlImpersonate - The complete API with curl-impersonate binaries for every platform availableMagelon-png.PixivApi.{runtime-identifier} - The complete API compiled for a specific platform including curl-impersonate binaries for that specific platform.If you do not plan to use the curl-impersonate feature of the client or plan to include your own binaries in your end-user application, use the Magelon-png.PixivApi package.
using Scighost.PixivApi;
// Using account, can be combined with direct connection or proxy
PixivClient client = new PixivClient(cookie: "your cookie", userAgent: "your ua");
// Before performing non-GET operations such as following or bookmarking, you need to call this method to get a token.
// A return value of true indicates successful acquisition. It is recommended to call it immediately after construction.
Debug.Assert(await client.GetTokenAsync());
// Illustration and manga detailed information
IllustInfo _ = await client.GetIllustInfoAsync(illustId: 12345678);
// Illustration images
List<IllustImage> _ = await client.GetIllustPagesAsync(illustId: 12345678);
// Animation metadata
AnimateIllustMeta _ = await client.GetAnimateIllustMetaAsync(illustId: 12345678);
// Follow manga series
await client.WatchMangaSeriesAsync(mangaSeriesId: 123456, unWatch: false);
// Change follow notification status
await client.ChangeMangaSeriesWatchListNotification(mangaSeriesId: 123456, enable: true);
// Related recommendations. There are many recommendations but it is impossible to get them all at once, so asynchronous streams are used.
await foreach (IEnumerable<IllustProfile> illusts in client.GetRecommendIllustsAsync(illustId: 12345678, batchSize: 20))
{
Debug.Assert(illusts.Count() == 20);
}
// Novel series & series chapters
NovelSeries _ = await client.GetNovelSeriesAsync(novelSeriesId: 123456);
List<NovelSeriesChapter> _ = await client.GetNovelSeriesChaptersAsync(novelSeriesId: 123456, offset: 0, limit: 10);
// Bookmark a page
await client.MarkerNovelPageAsync(myUserId: 1234567, novelId: 12345678, page: 1);
// Bookmark a novel
long bookmarkId = await client.AddBookmarkNovelAsync(novelId: 12345678, isPrivate: false, comment: "Comment", tags: "Custom tag");
// Batch change bookmark visibility
await client.ChangeBookmarkNovelVisibilityAsync(isPrivate: true, bookmarkIds: new long[] { 1, 2 });
// Batch add custom tags
await client.AddBookmarkNovelTagsAsync(bookmarkIds: new long[] { 1, 2, 3 }, tags: new string[] { "Tag 1", "Tag 2" });
// My Uid
int myUid = await client.GetMyUserIdAsync();
// Followed users
List<FollowingUser> _ = await client.GetFollowingUsersAsync(userId: 123456, offset: 0, limit: 20, isPrivate: false);
// Latest illustration/manga works from followed users
List<IllustProfile> _ = await client.GetFollowingUserLatestIllustsAsync(page: 2, onlyR18: false);
// Related recommendations after following a new user
List<RecommendUser> _ = await client.GetRecommendAfterFollowingUserAsync(userId: 123456, userNumber: 20, workNumber: 3, allowR18: true);
// Number of bookmarked illustrations
int count = await client.GetUserBookmarkIllustCountAsync(userId: 123456, isPrivate: false);
// All custom tags of bookmarked illustrations
UserBookmarkTag _ = await client.GetUserBookmarkIllustTagsAsync(userId: 123456);
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. net11.0 net11.0 is compatible. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0 | 93 | 6/14/2026 |
| 3.0.0-beta.3 | 46 | 6/13/2026 |
| 2.5.0-beta.0 | 45 | 6/11/2026 |
| 2.4.0 | 92 | 6/11/2026 |
| 2.4.0-beta.3 | 48 | 6/9/2026 |
| 2.4.0-beta.1 | 51 | 6/9/2026 |
| 2.3.1 | 98 | 6/9/2026 |
| 2.3.0 | 96 | 6/9/2026 |
| 2.3.0-beta.137 | 46 | 6/9/2026 |
| 2.3.0-beta.133 | 51 | 5/14/2026 |
| 2.3.0-beta.131 | 47 | 5/14/2026 |
| 2.3.0-beta.128 | 58 | 5/13/2026 |
| 2.3.0-beta.126 | 47 | 5/13/2026 |
| 2.3.0-alpha.3 | 48 | 5/5/2026 |
| 2.3.0-alpha.1 | 35 | 5/13/2026 |
| 2.2.1 | 99 | 5/5/2026 |
| 2.2.0 | 104 | 5/4/2026 |
| 2.2.0-alpha.1 | 52 | 5/4/2026 |
| 2.1.0 | 101 | 5/2/2026 |
| 2.0.1-alpha.1 | 34 | 5/13/2026 |