Skip to content

Instantly share code, notes, and snippets.

@Klemek
Last active September 15, 2020 20:34
Show Gist options
  • Save Klemek/b3f6d70a6834a94f222ae5802e6f9d1e to your computer and use it in GitHub Desktop.
Save Klemek/b3f6d70a6834a94f222ae5802e6f9d1e to your computer and use it in GitHub Desktop.
MangaRock RESTful API

Newer version here

MangaRock RESTful API

root URL

https://api.mangarockhd.com/query/web401/

info

Parameter msid seems to be always equal to 71 and can be queried by /manga_detail

endpoints

GET /mrs_latest

Latest updates on MangaReader

JSON response:

{
  "code": 0,
  "data": [{
    "oid": "mrs-serie-<int>",
    "name": string,
    "genres": ["mrs-genre-<int>"],
    "rank": int,
    "updated_chapters": 1,
    "new_chapters": [{
      "oid": "mrs-chapter-<int>",
      "name": string,
      "updatedAt": timestamp
    }],
    "completed": bool,
    "thumbnail": url,
    "updated_at": timestamp
  }]
}

POST /mrs_filter

All manga available on the web site

JSON data:

{
  "genres": {
    "mrs-genre-<int>":0
  },
  "order": "rank/name",
  "rank": "all/1-999/1000-2000/...",
  "status": "all/completed/ongoing"
}

JSON response:

{
  "code": 0,
  "data": ["mrs-serie-<int>"]
}

POST /mrs_quick_search

Quick search while typing

text/plain data

query

JSON response:

{
  "code": 0,
  "data": {
    "author": ["mrs-author-<int>"],
    "character": ["mrs-character-<int>"],
    "series": ["mrs-serie-<int>"]
  }
}

POST /mrs_search

Full search

JSON data:

{
  "keywords": string,
  "type": "series/author/character"
}

JSON response:

{
  "code": 0,
  "data": ["mrs-<type>-<int>"]
}

POST /manga_detail

All available info about a manga

JSON data:

{
  "oids": {
    "mrs-serie-<int>":0
  },
  "sections": [string] // see below
}

sections:

  • basic_info
  • summary
  • artworks
  • sub_genres
  • social_stats
  • author
  • character
  • publisher
  • scanlator
  • other_fact
  • chapters
  • related_series
  • same_author
  • feature_collections

JSON response:

{
  "code": 0,
  'data': {
    "mrs-serie-<int>": {
      "related_series": {
        "related_series": [{
          "oid": "mrs-serie-<int>",
          "type": string
        }]
      },
      "default": {
        "oid": "mrs-serie-<int>",
        "mid": int,
        "msid": int,
        "last_updated": long
      },
      "sub_genres": {
        "sub_genres": ["mrs-genre-<int>"]
      },
      "summary": {
        "plot_points": [string],
        "key_genres": ["mrs-genre-<int>"]
      },
      "character": {
        "characters": ["mrs-character-<int>"]
      },
      "author": {
        "authors": [{
          "oid": "mrs-author-<int>",
          "role": string
        }]
      },
      "chapters": {
        "chapters": [{
          "cid": int,
          "oid": "mrs-chapter-<int>",
          "name": string,
          "last_updated": long,
          "order": int
        }]
      },
      "basic_info": {
        "name": string,
        "thumbnail": url,
        "thumbnail_extra": {
          "generated": bool,
          "averageColor": hex,
          "textBackgroundColor": hex,
          "textColor": hex
        },
        "cover": url,
        "cover_extra": {
          "generated": bool,
          "averageColor": hex,
          "textBackgroundColor": hex,
          "textColor": hex
        },
        "alias": [string],
        "rank": int,
        "removed": bool,
        "author": string,
        "completed": bool,
        "direction": int,
        "categories": [int],
        "total_chapters": int,
        "description": string,
        "release_frequency": {
          "type": "auto",
          "unit" "day/month",
          "amount": int
        },
        "mrs_series": null
      },
      "artworks": {
        "artworks": [url]
      },
      "same_author": {
        "series": ["mrs-serie-<int>"]
      },
      "social_stats": {
        "rank": int,
        "read": long
      },
      "feature_collections": {
        "collections": ["mrs-collection-<int>"]
      },
      "other_fact": {
        "extra": {
          "Published": string,
          "Serialization": string
        }
      }
    }
  }
}

POST /meta

Quick info about objects

JSON data:

[
  "mrs-serie-<int>",
  "mrs-genre-<int>",
  "mrs-author-<int>",
  "mrs-character-<int>",
  "mrs-collection-<int>"
]

JSON response:

{
  "code": 0,
  'data': {
    "mrs-serie-<int>": {
      "authors_ids": ["mrs-author-<int>"],
      "completed", bool,
      "name": string,
      "thumbnail": url,
      "total_chapters": int,
      "oid": "mrs-serie-<int>"
    },
    "mrs-genre-<int>": {
      "name": string,
      "oid": "mrs-genre-<int>"
    },
    "mrs-author-<int>": {
      "name": string,
      "oid": "mrs-author-<int>"
    },
    "mrs-character-<int>": {
      "name": string,
      "thumbnail": url,
      "oid": "mrs-character-<int>"
    },
    "mrs-collection-<int>": {
      "items": ["mrs-serie-<int>"],
      "name": string,
      "oid": "mrs-collection-<int>",
    },
  }
}

GET /pagesv2

Pages of a chapter Pages are in an unknown "MRI" file format that needs decryption

HTTP parameters:

  • oid=mrs-chapter-<int>

JSON response:

{
  "code": 0,
  'data': [url]
}

GET /license

Front page mangas

HTTP parameters:

  • msid=int

JSON response:

{
  "code": 0,
  "data": {
    "mid": [int],
    "oid": ["mrs-serie-<int>"]
  }
}

POST /mrs_all_author

All authors on the website

JSON data:

{
  "name": "<empty>/A/B/..."
}

JSON response:

{
  "code": 0,
  "data": ["mrs-author-<int>"]
}

POST /mrs_all_character

All characters on the website

JSON data:

{
  "name": "<empty>/A/B/..."
}

JSON response:

{
  "code": 0,
  "data": ["mrs-character-<int>"]
}

GET /rec_similar_series_ml

Recommended mangas

HTTP parameters:

  • msid=int
  • oid=mrs-serie-<int>

JSON response:

{
  "code": 0,
  'data': [{
    "author": string,
    "mid": int,
    "oid": "mrs-serie-<int>",
    "name": string,
    "status": bool,
    "total_chapter": int
  }]
}

GET /rec_because_you_read_ml

Recommended mangas

HTTP parameters:

  • msid=int
  • oid=mrs-serie-<int>

JSON response:

{
  "code": 0,
  'data': [{
    "author": string,
    "mid": int,
    "oid": "mrs-serie-<int>",
    "name": string,
    "status": bool,
    "total_chapter": int
  }]
}

GET /rec_recommendation

Recommended mangas

HTTP parameters:

  • msid=int

JSON response:

{
  "code": 0,
  'data': [{
    "author": string,
    "mid": int,
    "oid": "mrs-serie-<int>",
    "name": string,
    "status": bool,
    "total_chapter": int
  }]
}

POST /rec_btrn

JSON data:

{
  "msid": int,
  "oid": "mrs-serie-<int>"
}

JSON response:

{
  "code": 0,
  'data': ["mrs-serie-<int>"]
}

POST /checkUpdate

JSON data:

{
  "mrs-genre-<int>": long
}

JSON response:

{
  "code": 0,
  'data': {
    "mrs-genre-<int>": {
      "name": string,
      "oid": "mrs-genre-<int>"
    }
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment