AniList APIv2 Docs
  • README
  • docs
    • index
    • guide
      • Considerations
      • Introduction
      • Rate Limiting
      • Terms of Use
      • auth
        • Authenticated Requests
        • Authorization Code Grant
        • Implicit Grant
        • Getting Started
      • graphql
        • Connections
        • Errors
        • What is GraphQL?
        • Mutations
        • Pagination
        • What's Next?
        • queries
          • Queries
          • Media List
          • Media
          • User
      • migration
        • version-1
          • Migrating from API v1
          • Api v1 to Api v2 migration queries
    • reference
      • API Reference
      • Root Mutation
      • Root Query
      • enum
        • ActivitySort
        • ActivityType
        • AiringSort
        • CharacterRole
        • CharacterSort
        • ExternalLinkMediaType
        • ExternalLinkType
        • LikeableType
        • MediaFormat
        • MediaListSort
        • MediaListStatus
        • MediaRankType
        • MediaRelation
        • MediaSeason
        • MediaSort
        • MediaSource
        • MediaStatus
        • MediaTrendSort
        • MediaType
        • ModActionType
        • ModRole
        • NotificationType
        • RecommendationRating
        • RecommendationSort
        • ReviewRating
        • ReviewSort
        • RevisionHistoryAction
        • ScoreFormat
        • SiteTrendSort
        • StaffLanguage
        • StaffSort
        • StudioSort
        • SubmissionSort
        • SubmissionStatus
        • ThreadCommentSort
        • ThreadSort
        • UserSort
        • UserStaffNameLanguage
        • UserStatisticsSort
        • UserTitleLanguage
      • input
        • AiringScheduleInput
        • AniChartHighlightInput
        • CharacterNameInput
        • FuzzyDateInput
        • ListActivityOptionInput
        • MediaExternalLinkInput
        • MediaListOptionsInput
        • MediaTitleInput
        • NotificationOptionInput
        • StaffNameInput
      • object
        • ActivityLikeNotification
        • ActivityMentionNotification
        • ActivityMessageNotification
        • ActivityReply
        • ActivityReplyLikeNotification
        • ActivityReplyNotification
        • ActivityReplySubscribedNotification
        • AiringNotification
        • AiringProgression
        • AiringSchedule
        • AiringScheduleConnection
        • AiringScheduleEdge
        • AniChartUser
        • Character
        • CharacterConnection
        • CharacterEdge
        • CharacterImage
        • CharacterName
        • CharacterSubmission
        • CharacterSubmissionConnection
        • CharacterSubmissionEdge
        • Deleted
        • Favourites
        • FollowingNotification
        • FormatStats
        • FuzzyDate
        • GenreStats
        • InternalPage
        • ListActivity
        • ListActivityOption
        • ListScoreStats
        • Media
        • MediaCharacter
        • MediaConnection
        • MediaCoverImage
        • MediaDataChangeNotification
        • MediaDeletionNotification
        • MediaEdge
        • MediaExternalLink
        • MediaList
        • MediaListCollection
        • MediaListGroup
        • MediaListOptions
        • MediaListTypeOptions
        • MediaMergeNotification
        • MediaRank
        • MediaStats
        • MediaStreamingEpisode
        • MediaSubmission
        • MediaSubmissionComparison
        • MediaSubmissionEdge
        • MediaTag
        • MediaTitle
        • MediaTrailer
        • MediaTrend
        • MediaTrendConnection
        • MediaTrendEdge
        • MessageActivity
        • ModAction
        • NotificationOption
        • Page
        • PageInfo
        • ParsedMarkdown
        • Recommendation
        • RecommendationConnection
        • RecommendationEdge
        • RelatedMediaAdditionNotification
        • Report
        • Review
        • ReviewConnection
        • ReviewEdge
        • RevisionHistory
        • ScoreDistribution
        • SiteStatistics
        • SiteTrend
        • SiteTrendConnection
        • SiteTrendEdge
        • Staff
        • StaffConnection
        • StaffEdge
        • StaffImage
        • StaffName
        • StaffRoleType
        • StaffStats
        • StaffSubmission
        • StatusDistribution
        • Studio
        • StudioConnection
        • StudioEdge
        • StudioStats
        • TagStats
        • TextActivity
        • Thread
        • ThreadCategory
        • ThreadComment
        • ThreadCommentLikeNotification
        • ThreadCommentMentionNotification
        • ThreadCommentReplyNotification
        • ThreadCommentSubscribedNotification
        • ThreadLikeNotification
        • User
        • UserActivityHistory
        • UserAvatar
        • UserCountryStatistic
        • UserFormatStatistic
        • UserGenreStatistic
        • UserLengthStatistic
        • UserModData
        • UserOptions
        • UserPreviousName
        • UserReleaseYearStatistic
        • UserScoreStatistic
        • UserStaffStatistic
        • UserStartYearStatistic
        • UserStatistics
        • UserStatisticTypes
        • UserStats
        • UserStatusStatistic
        • UserStudioStatistic
        • UserTagStatistic
        • UserVoiceActorStatistic
        • YearStats
      • union
        • ActivityUnion Reference
        • LikeableUnion
        • NotificationUnion
Powered by GitBook
On this page
  • Do I need authentication?
  • Creating an application
  • Which grant type should I use?
  • Implicit Grant
  • Authorization Code Grant
  • Auth Pin
  1. docs
  2. guide
  3. auth

Getting Started

Authenticating with the AniList API.

PreviousImplicit GrantNextgraphql

Last updated 7 months ago

AniList uses OAuth2 for authentication. We support both the and the flows.

Important things to note about AniList's OAuth2 implementation:

  • Scopes are not supported. Access tokens provide (almost) full access to a user's data.

  • AniList access tokens are long-lived. They will remain valid for 1 year from the time they are issued.

  • Refresh tokens are not currently supported. Once a token expires, you will need to re-authenticate your users.

Do I need authentication?

Before getting started with authentication, consider if you actually need it. If you are just using the AniList API to get publicly available data, you do not need to deal with authentication. However, if you are building an application that requires access to private data or requires mutating data, you will need to authenticate.

::: tip Things you can do without authentication

  • Get anime and manga data

  • Search characters

  • View data of public and unlisted users :::

::: warning Things that require authentication

  • Modify user lists

  • View data of private users (only for the currently authenticated user)

  • Fetch user-specific data from fields on other objects. For example, the mediaListEntry field on Media. :::

Creating an application

Creating an application requires two pieces of information:

  • The name of your application

  • A redirect URL

    This can be any valid URI, including custom URI schemes. If you're building a desktop or mobile application, you should look into how to register a custom URI scheme for your platform.

Once you've created your application, you will be given a client ID and client secret.

::: info Applications cannot be deleted once created. Don't worry about unused applications. :::

Which grant type should I use?

Implicit Grant

These types of applications are typically websites or mobile apps.

Authorization Code Grant

These are typically server-based applications.

Auth Pin

If you are absolutely unable to use an HTTP or custom URI scheme redirect, you can use the auth pin redirect URL. After a user has authenticated with AniList, they will be redirected to a page with an access token that they can manually copy and paste into your application.

This flow can be used for both the Authorization Code Grant and the Implicit Grant.

To create an application, navigate to the and click "Create New Application".

If your client is in an environment where your client credentials and secret cannot be securely stored, you should use the .

If your client is in an environment where these credentials can be securely stored, you should use the .

To enable this flow, you must navigate to the , open your client's settings, and set the "Redirect URL" to https://anilist.co/api/v2/oauth/pin.

Authorization Code Grant
Implicit Grant
AniList developer settings
Implicit Grant
Authorization Code Grant
AniList developer settings