Skip to content

Instantly share code, notes, and snippets.

@KaySackey
Last active July 5, 2023 18:09
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save KaySackey/604d27a5f30bf7e6e447720cd2b2a13f to your computer and use it in GitHub Desktop.
Save KaySackey/604d27a5f30bf7e6e447720cd2b2a13f to your computer and use it in GitHub Desktop.
Luscious API

The endpoint is https://api.luscious.net/graphql/nobatch/

That's the anonymous endpoint so you can use it as much as you like, for whatever you like.

It uses GraphQL.

For documentation of its specifics, and a playground to test queries you can use this URL: https://members.luscious.net/graphqli/

The API is geared towards filtering.

Filters are added in name/value pairs. Such as

 "filters": [{"name": "album_id", "value": "1"}]

Common album filters are:

  • album_type: Value is "manga" or "pictures"
  • created_by_id: Value is a user ID
  • favorite_by_user_id: Value is a user ID
  • content_id: Value is a Content ID
  • language_ids: Value is a Language ID
  • tagged: Value is a tag string
  • genre_ids: Value is a genre ID
  • audience_ids: Value is an audience ID
  • picture_count_rank: Value is string of 0-5
  • search_query: Value is a string

Example Queries

Finding Media Information (e.g. Content IDs)

    query BootStrapMediaCategories {
        media_categories {
            genres {
                id
                title
                slug
                description
                uploading_rules
                poster_url
                acts_as_warning
                represents_uncategorized
            }
            languages {
                id
                title
                url
            }
            content_types {
                id
                title
                url
            }
            audiences {
                id
                title
                slug
                description
                poster_url
                url
            }
        }
    }

Listing all albums:

    query AlbumQuery($input: AlbumListInput!) {
      album {
        list(input: $input) {
          info {
            total_items
            has_next_page
          }
          items {
            id
            title
            description
            url
            tags{
              text
            }
          }
        }
      }
    }

Variables

{
 "input": {
     "filters": [],
     "display": "date_newest",
     "page"   : 2
  }
}

Listing Pictures from a single album

    query PictureQuery($input: PictureListInput!) {
      picture {
        list(input: $input) {
          info {
            total_items
            has_next_page
          }
          items {
            id
            title
            url_to_original
            tags{
              id
              text
            }
          }
        }
      }
    }

Variables

{
  "input": {
    "page": 1,
    "display": "date_newest",
    "filters": [{"name": "album_id", "value": "1"}]
   }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment