Princess — Public REST API

I invite you to the dreamy world

Princess à la Mode

Public RESTful Application Programming Interface Series.

We provide APIs for developers.

Common Specification of Requests and Responses

Notices

APIs for TheaterDays

The base path is /api/mltd/v2/ for v2 and /mltd/v1/ for v1.

indicates that the API is available for the global version. The base paths for the Korean version and the Traditional Chinese version is /api/mltd/v2/ko/ and /api/mltd/v2/zh/, respectively. The Japanese version is also available from /api/mltd/v2/ja/. Some v1 APIs are also available for the global version.

APIs for Version Information

Get the latest app and asset versions

Get the latest app and asset versions.

GET https://api.matsurihi.me/api/mltd/v2/version/latest

Response
Response Body
  • Since this API is based on the required version, the app version may not be actually released.

    • String version Version

    • DateTime updatedAt Forced update date and time

    • Integer|null revision Revision number

      The value will be null if the version is not actually released.

    • Integer version Version

    • DateTime updatedAt Delivery date and time

    • String indexName

Examples
https://api.matsurihi.me/api/mltd/v2/version/latest
curl 'https://api.matsurihi.me/api/mltd/v2/version/latest'

Response Body

{
  "app": {
    "version": "5.1.050",
    "updatedAt": "2022-11-26T12:00:00+09:00",
    "revision": 749332
  },
  "asset": {
    "version": 773000,
    "updatedAt": "2022-11-26T12:00:00+09:00",
    "indexName": "41f0f6c8d80bc95f405c66875a0b1308b6e67443.data"
  }
}

GET https://api.matsurihi.me/mltd/v1/version/latest

Response
Response Body
  • Since this API is based on the required version, the app version may not be actually released.

    • String version Version

    • DateTime updateTime Forced update date and time

    • Integer revision Revision number

      The value will be 0 if the version is not actually released.

    • Integer version Version

    • DateTime updateTime Delivery date and time

    • String indexName

Examples
https://api.matsurihi.me/mltd/v1/version/latest
curl 'https://api.matsurihi.me/mltd/v1/version/latest'

Response Body

{
  "app": {
    "version": "5.1.050",
    "updateTime": "2022-11-26T12:00:00+09:00",
    "revision": 749332
  },
  "res": {
    "version": 773000,
    "updateTime": "2022-11-26T12:00:00+09:00",
    "indexName": "41f0f6c8d80bc95f405c66875a0b1308b6e67443.data"
  }
}

Get the app versions

Get the app version information.

Since this API is based on the required version, some app versions may not be actually released.

GET https://api.matsurihi.me/api/mltd/v2/version/apps/:version

Request
Path Parameters
  • String version Version

    If the version is not specified, the response will be an array of all versions.

Response
Response Body (Array only when the path parameter is not specified)
  • String version Version

  • DateTime updatedAt Forced update date and time

  • Integer|null revision Revision number

    The value will be null if the version is not actually released.

Examples
https://api.matsurihi.me/api/mltd/v2/version/apps
curl 'https://api.matsurihi.me/api/mltd/v2/version/apps'

Response Body

[
  {
    "version": "1.0.6",
    "updatedAt": "2017-06-28T00:00:00+09:00",
    "revision": 63141
  },
  {
    "version": "1.0.7",
    "updatedAt": "2017-07-15T15:00:00+09:00",
    "revision": 66894
  },
  {
    "version": "1.0.9",
    "updatedAt": "2017-07-27T15:00:00+09:00",
    "revision": 70661
  },
  {
    "version": "1.1.0",
    "updatedAt": "2017-08-09T15:00:00+09:00",
    "revision": 76059
  }
]
https://api.matsurihi.me/api/mltd/v2/version/apps/1.0.6
curl 'https://api.matsurihi.me/api/mltd/v2/version/apps/1.0.6'

Response Body

{
  "version": "1.0.6",
  "updatedAt": "2017-06-28T00:00:00+09:00",
  "revision": 63141
}

GET https://api.matsurihi.me/mltd/v1/version/apps/:version

Request
Path Parameters
  • String version Version

    If the version is not specified, the response will be an array of all versions.

Response
Response Body (Array only when the path parameter is not specified)
  • String version Version

  • DateTime updateTime Forced update date and time

  • Integer revision Revision number

    The value will be 0 if the version is not actually released.

Examples
https://api.matsurihi.me/mltd/v1/version/apps
curl 'https://api.matsurihi.me/mltd/v1/version/apps'

Response Body

[
  {
    "version": "1.0.6",
    "updateTime": "2017-06-28T00:00:00+09:00",
    "revision": 63141
  },
  {
    "version": "1.0.7",
    "updateTime": "2017-07-15T15:00:00+09:00",
    "revision": 66894
  },
  {
    "version": "1.0.9",
    "updateTime": "2017-07-27T15:00:00+09:00",
    "revision": 70661
  },
  {
    "version": "1.1.0",
    "updateTime": "2017-08-09T15:00:00+09:00",
    "revision": 76059
  }
]
https://api.matsurihi.me/mltd/v1/version/apps/1.0.6
curl 'https://api.matsurihi.me/mltd/v1/version/apps/1.0.6'

Response Body

{
  "version": "1.0.6",
  "updateTime": "2017-06-28T00:00:00+09:00",
  "revision": 63141
}

Get the asset versions

Get the asset version information.

GET https://api.matsurihi.me/api/mltd/v2/version/assets/:version

Request
Path Parameters
  • Integer version Version

    If the version is not specified, the response will be an array of all versions.

Response
Response Body (Array only when the path parameter is not specified)
  • Integer version Version

  • DateTime updatedAt Delivery date and time

  • String indexName

Examples
https://api.matsurihi.me/api/mltd/v2/version/assets
curl 'https://api.matsurihi.me/api/mltd/v2/version/assets'

Response Body

[
  {
    "version": 1,
    "updatedAt": "2017-06-29T12:00:00+09:00",
    "indexName": "6b976a4c875a1984592a66b621872ce44c944e72.data"
  },
  {
    "version": 2,
    "updatedAt": "2017-07-11T17:00:00+09:00",
    "indexName": "83a751e34531a81e83ac5e47393bbb7d483c3da5.data"
  },
  {
    "version": 3,
    "updatedAt": "2017-07-13T15:00:00+09:00",
    "indexName": "77104ecc982fd2344e965f6aba2e83c35a4d49f2.data"
  }
]
https://api.matsurihi.me/api/mltd/v2/version/assets/1
curl 'https://api.matsurihi.me/api/mltd/v2/version/assets/1'

Response Body

{
  "version": 1,
  "updatedAt": "2017-06-29T12:00:00+09:00",
  "indexName": "6b976a4c875a1984592a66b621872ce44c944e72.data"
}

GET https://api.matsurihi.me/mltd/v1/version/assets/:version

Request
Path Parameters
  • Integer version Version

    If the version is not specified, the response will be an array of all versions.

Response
Response Body (Array only when the path parameter is not specified)
  • Integer version Version

  • DateTime updateTime Delivery date and time

  • String indexName

Examples
https://api.matsurihi.me/mltd/v1/version/assets
curl 'https://api.matsurihi.me/mltd/v1/version/assets'

Response Body

[
  {
    "version": 1,
    "updateTime": "2017-06-29T12:00:00+09:00",
    "indexName": "6b976a4c875a1984592a66b621872ce44c944e72.data"
  },
  {
    "version": 2,
    "updateTime": "2017-07-11T17:00:00+09:00",
    "indexName": "83a751e34531a81e83ac5e47393bbb7d483c3da5.data"
  },
  {
    "version": 3,
    "updateTime": "2017-07-13T15:00:00+09:00",
    "indexName": "77104ecc982fd2344e965f6aba2e83c35a4d49f2.data"
  }
]
https://api.matsurihi.me/mltd/v1/version/assets/1
curl 'https://api.matsurihi.me/mltd/v1/version/assets/1'

Response Body

{
  "version": 1,
  "updateTime": "2017-06-29T12:00:00+09:00",
  "indexName": "6b976a4c875a1984592a66b621872ce44c944e72.data"
}

APIs for Idol Information

Get the idol information

Get the information of the idols.

This API provides only the information of the idols. The information of the staffs cannot be obtained.

GET https://api.matsurihi.me/api/mltd/v2/idols/:idolId

Request
Path Parameters
  • Integer idolId ID of the idol

    If the ID is not specified, the response will be an array of all idols.

Response
Response Body (Array only when the path parameter is not specified)
  • Integer id ID

  • Integer sortId ID used for sorting when displayed

  • String resourceId ID used for resource access

  • Integer type Type of the idol

    • 1: Princess
    • 2: Fairy
    • 3: Angel
    • 5: Ex
  • String fullName Full name of the idol

  • String displayName Display name of the idol

  • String lastName Last name of the idol

    For Julia, Shika and Leon, the value will be "ジュリア", "詩花", and "玲音", respectively.

  • String|null firstName First name of the idol

    The value will be null for Julia, Shika or Leon.

  • String alphabetName Full name of the idol in English

  • String fullNameRuby Pronunciation of the idol's name

  • Integer|null age Age of the idol

    If the age is unknown, the value will be null.

    • Integer id ID of the birthplace

    • String name Name of the birthplace

    • Integer id ID of the handedness

    • String name Handedness

  • Float height Height of the idol

    The unit is cm. If the height is unknown, the value will be 0.0.

  • Float weight Weight of the idol

    The unit is kg. If the height is unknown, the value will be 0.0.

  • String hobby Hobby of the idol

  • String speciality Specialty of the idol

  • String favorites Favorite things of the idol

  • String cv Voice actress of the idol

  • String colorCode Color code of the idol's personal color

  • If the birthday is unknown, the value will be 0/0.

    • Integer month Month

    • Integer day Day

    • Integer id ID of the constellation

    • String name Name of the constellation

    • Integer id ID of the blood type

    • String name Blood type

  • The unit is cm. If the size is unknown, the value will be 0.0.

    • Float bust

    • Float waist

    • Float hip

Examples
https://api.matsurihi.me/api/mltd/v2/idols/21
curl 'https://api.matsurihi.me/api/mltd/v2/idols/21'

Response Body

{
  "id": 21,
  "sortId": 21,
  "resourceId": "021mat",
  "type": 1,
  "fullName": "徳川 まつり",
  "displayName": "徳川 まつり",
  "lastName": "徳川",
  "firstName": "まつり",
  "alphabetName": "MATSURI TOKUGAWA",
  "fullNameRuby": "とくがわ まつり",
  "age": 19,
  "birthplace": {
    "id": 23,
    "name": "愛知県"
  },
  "handednessType": {
    "id": 1,
    "name": "右"
  },
  "height": 163.0,
  "weight": 44.0,
  "hobby": "漫画あつめ",
  "speciality": "演技",
  "favorites": "焼きマシュマロ、ウミウシ",
  "cv": "諏訪彩花",
  "colorCode": "#5abfb7",
  "birthday": {
    "month": 2,
    "day": 4
  },
  "constellation": {
    "id": 11,
    "name": "水瓶座"
  },
  "bloodType": {
    "id": 4,
    "name": "AB"
  },
  "measurements": {
    "bust": 85.0,
    "waist": 59.0,
    "hip": 85.0
  }
}

APIs for Card Information

Get information of the cards

Get the information of the cards.

For the calculation method of the appeal values of the cards at any level, see How to calculate the appeal values in TheaterDays.

GET https://api.matsurihi.me/api/mltd/v2/cards/:cardId

Request
Path Parameters
  • Integer[] cardId ID of the card

    Even if only one ID is specified, the response will be an array. For cards with multiple rarities (such as anniversary event cards), the response array will contain multiple elements. Unlike v1 API, the query parameters are still valid even if the ID is specified.

Query Parameters
  • Integer[] idolId ID of the idol
  • Enum[] rarity Rarity

    <Integer> | n | r | sr | ssr

  • Enum[] exType Type of the card

    <Integer> | none | pst | pstr | pstp | fes | anniversary | extra | shs

  • Boolean includeCostumes Whether to include detailed costume information
  • Boolean includeParameters Whether to include parameter information
  • Boolean includeLines Whether to include lines
  • Boolean includeSkills Whether to include skill information
  • Boolean includeEvents Whether to include event information
  • String[] orderBy Sort order

    id | sortId | rarity | idolId | addedAt | id! | sortId! | rarity! | idolId! | addedAt!

    Append ! to the end to sort in descending order. The default is sortId,rarity.

Response
Response Body (Array)
  • Integer id ID

  • String name Name of the card

  • Integer sortId ID used for sorting when displayed

  • Integer idolId ID of the idol

  • Integer idolType Type of the idol

    • 1: Princess
    • 2: Fairy
    • 3: Angel
    • 5: Ex
  • Integer variation Variation (value indicating the number of card for the idol)

  • Integer rarity Rarity

    • 1: N
    • 2: R
    • 3: SR
    • 4: SSR
  • String resourceId ID used for resource access

  • Integer exType Type of the card

    • 0: None
    • 2: Reward for high ranks in PST events
    • 3: Reward for earning points in PST events
    • 4: Fes-limited
    • 5: Rewards in the 1st anniversary event
    • 6: Extra
    • 7: Rewards in the 2nd anniversary event
    • 8: Reward for high ranks in PST events (Extra)
    • 9: Reward for earning points in PST events (Extra)
    • 10: Rewards in the 3rd anniversary event
    • 11: Reward for high ranks in PST events (Extra)
    • 12: Reward for earning points in PST events (Extra)
    • 13: Rewards in the 4th anniversary event
    • 14: Provided in Second Hair Style Gashas
    • 15: Sold in special events
    • 16: Rewards in the 5th anniversary event
    • 17: PR cards
    • 18: Rewards in the Million Live! 10th anniversary event
    • 19: Rewards in the 6th anniversary event
    • 20: Million-linkage-limited
  • Integer category Category of the card

    • 0: Unknown
    • 10: Normal
    • 20: Gasha (permanently available)
    • 21: Gasha (limited)
    • 22: Gasha (only available in Fes)
    • 24: Gasha (only available in Premium Pickup SR Gashas)
    • 25: Gasha (only available in Second Hairstyle Gashas)
    • 26: Gasha (only available in Million Linkage Gashas)
    • 30: Event rewards (Millionlive Collection / SR)
    • 31: Event rewards
    • 32: Event rewards
    • 33: Event rewards (anniversary events)
    • 34: Extra cards for THE@TER BOOST! (such as “三姉妹カフェ[黒ネコ] 北沢志保”)
    • 35: Event rewards (Millionlive Collection / R)
    • 36: Event rewards (Million Live! anniversary events)
    • 37: Extra cards for THE@TER CHALLENGE!! (such as “孤島サスペンスホラー[娘] 水瀬伊織”)
    • 41: Cards for extra idols
    • 42: Cards for extra idols (sold in some packages)
    • 43: Improted cards from foreign versions (such as “Kawaii最先端♡ 星井美希”)
    • 44: PR cards
    • 99: Others
    • If includeCostume is false, only id will be included.

      • Integer id Costume ID

      • Integer sortId? ID of the costume used for sorting when displayed

      • String name? Name of the costume

      • String description? Description of the costume

      • String resourceId? ID used for resource access

      • String modelId? ID of the 3D model

      • Integer|null costumeGroupId? ID of the costume group

        The value will be null in foreign versions.

      • Integer|null collaborationNumber? ID of the texture of the costume with texture variations

        The value will be null in foreign versions. The value will be 0 if the texture is not applied.

      • Integer|null defaultHairstyle? ID of the default hairstyle

        The value will be null in foreign versions.

      • Integer|null defaultHairColor? ID of the default hair color

        The value will be null in foreign versions.

      • Boolean|null hasAnotherShader? Whether another shader is available

        The value will be null in foreign versions.

      • The value will be null in foreign versions.

        • Integer id Accessory ID

        • String resourceId ID used for resource access

        • Integer default Default ID

      • DateTime releasedAt? Date and time when the costume was added

    • Object bonus Bonus costume for the 4th master rank

      The format is the same as $.costumes.default.

    • Object rank5 Bonus costume for the 5th master rank

      The format is the same as $.costumes.default.

  • Integer masterRankMax Maximum master rank

  • Integer skillLvMax Maximum skill level

  • This will be included only if includeParameters is true.

      • Integer base Value at the 0th level

        • Float diff Amount of increase per level

        • Integer max Value at the maximum level

      • Object afterAwakened Information after awakening

        The format is the same as $.parameters.vocal.beforeAwakened.

      • Integer masterBonus Bonus value per master rank

    • Object dance Dance parameter

      The format is the same as $.parameters.vocal.

    • Object visual Visual parameter

      The format is the same as $.parameters.vocal.

      • Integer beforeAwakened Maximum level before awakening

      • Integer afterAwakened Maximum level after awakening

    • The life does not change before and after awakening, but it is returned separately before and after awakening.

      • Integer beforeAwakened Life before awakened

      • Integer afterAwakened Life after awakened

  • This will be included only if includeSkills is true.

    • Integer id ID of the center effect

    • String name Name of the center effect

    • String description Description of the center effect

    • Integer idolType Idol type to which the center effect is applied

      • 1: Princess
      • 2: Fairy
      • 3: Angel
      • 4: All
    • Integer specificIdolType Idol type that all idols should have when the center effect is applied

      • 0: No requirements
      • 1: All idols must be Princess
      • 2: All idols must be Fairy
      • 3: All idols must be Angel
      • 4: All types must be included
    • Integer songType Song type required for the center effect to be applied

      • 0: No requirements
      • 1: Princess
      • 2: Fairy
      • 3: Angel
    • Integer[] attributes Parameters to which the center effect is applied

      • 1: Vocal
      • 2: Dance
      • 3: Visual
      • 4: All appeal parameters
      • 5: Life
      • 6: Skill activation probability
      • 7: Amount of double boost
      • 8: Amount of double effect
      • 9: Affection points
    • Integer[] values Value of the center effect (in percentage)

  • String skillName? Name of the skill

    This will be included only if includeSkills is true.

  • This will be included only if includeSkills is true. The skill can be taken multiple times, so this field is an array.

    • Integer id ID of the skill

    • Integer effectId ID of the effect of the skill

      • 1: Score bonus
      • 2: Combo bonus
      • 3: Healer
      • 4: Life guard
      • 5: Combo guard
      • 6: Perfect lock
      • 7: Double boost
      • 8: Multi-up
      • 9: Multi-bonus
      • 10: Overclock
      • 11: Over-rondo
      • 12: Double effect
      • 17: Fusion score
      • 18: Fusion combo
    • Integer duration Duration of the skill (in seconds)

    • Integer interval Interval of the skill activation (in seconds)

    • Integer probability Probability of the skill activation (in percentage, at skill level 0)

    • Integer[] evaluationTypes Conditions of the skill activation

      • 0: All
      • 1: Perfect
      • 2: Perfect/Great
      • 3: Great
      • 4: Great/Good/Fast/Slow
      • 5: Perfect/Great/Good
      • 6: Perfect/Great/Good/Fast/Slow
      • 7: Great/Good
    • Integer[] values Value of the skill effect

    • String description Description of the skill

      The placeholder for the activation probability is {0}.

  • This will be included only if includeLines is true. The placeholder for the producer name is {$P$}.

      • String beforeAwakened Flavor text before awakening

      • String afterAwakened Flavor text after awakening

    • For compatibility with past wrong implementations, the field names are meaningless since they are left as they were initially implemented.

      • String beforeAwakened First line at the time of contact

      • String afterAwakened Second line at the time of contact

    • String awakening Lines at the time of awakening

  • DateTime addedAt Date and time when the card was added

  • Object event Information of the event

    This will be included only if includeEvents is specified and the card is a event reward. The format is the same as the response of the event API (/api/mltd/v2/events).

Examples
https://api.matsurihi.me/api/mltd/v2/cards?idolId=21&rarity=4
curl 'https://api.matsurihi.me/api/mltd/v2/cards?idolId=21&rarity=4'

Response Body

[
  {
    "id": 278,
    "name": "ロマンティックランド 徳川まつり",
    "sortId": 278,
    "idolId": 21,
    "idolType": 1,
    "variation": 6,
    "rarity": 4,
    "resourceId": "021mat0064",
    "exType": 0,
    "category": 20,
    "costumes": {
      "default": {
        "id": 30101210
      },
      "bonus": {
        "id": 30101211
      },
      "rank5": {
        "id": 30101212
      }
    },
    "masterRankMax": 5,
    "skillLvMax": 12,
    "addedAt": "2018-05-11T15:00:00+09:00"
  },
  {
    "id": 329,
    "name": "BRAND NEW PERFORMANCE 徳川まつり",
    "sortId": 326,
    "idolId": 21,
    "idolType": 1,
    "variation": 7,
    "rarity": 4,
    "resourceId": "021mat0074",
    "exType": 5,
    "category": 33,
    "costumes": {
      "default": {
        "id": 20104210
      },
      "bonus": {
        "id": 20104211
      }
    },
    "masterRankMax": 4,
    "skillLvMax": 10,
    "addedAt": "2018-06-29T00:00:00+09:00"
  },
  {
    "id": 391,
    "name": "きのこの国のお姫様♪ 徳川まつり",
    "sortId": 391,
    "idolId": 21,
    "idolType": 1,
    "variation": 8,
    "rarity": 4,
    "resourceId": "021mat0084",
    "exType": 0,
    "category": 21,
    "costumes": {
      "default": {
        "id": 30102210
      },
      "bonus": {
        "id": 30102211
      },
      "rank5": {
        "id": 30102212
      }
    },
    "masterRankMax": 5,
    "skillLvMax": 10,
    "addedAt": "2018-08-31T15:00:00+09:00"
  }
]
https://api.matsurihi.me/api/mltd/v2/cards/2151?includeCostumes&includeParameters&includeLines&includeSkills&includeEvents
curl 'https://api.matsurihi.me/api/mltd/v2/cards/2151?includeCostumes&includeParameters&includeLines&includeSkills&includeEvents'

Response Body

[
  {
    "id": 2151,
    "name": "暁天のアステリズム 中谷育",
    "sortId": 2151,
    "idolId": 30,
    "idolType": 1,
    "variation": 43,
    "rarity": 4,
    "resourceId": "030iku0434",
    "exType": 20,
    "category": 26,
    "costumes": {
      "default": {
        "id": 30111300,
        "sortId": 30111300,
        "name": "[ベテルギウス∴KO]中谷育",
        "description": "どんな大人になるんだろう…?\n描く未来には、希望がいっぱい。\nこの夢は、小さくも確かに煌めく\nまだ名もない星たちだけのもの。",
        "resourceId": "030iku0434",
        "modelId": "ss011",
        "costumeGroupId": 0,
        "collaborationNumber": 0,
        "defaultHairstyle": 1,
        "defaultHairColor": 1,
        "hasAnotherShader": true,
        "accessory": {
          "id": 30111300,
          "resourceId": "030iku",
          "default": 2
        },
        "releasedAt": "2023-12-26T15:00:00+09:00"
      },
      "bonus": {
        "id": 30111301,
        "sortId": 30111301,
        "name": "[ベテルギウス∴KO+]中谷育",
        "description": "「ベテルギウス∴KO」の\nアナザー衣装です。",
        "resourceId": "030iku0434_v",
        "modelId": "ss111",
        "costumeGroupId": 0,
        "collaborationNumber": 0,
        "defaultHairstyle": 1,
        "defaultHairColor": 1,
        "hasAnotherShader": true,
        "accessory": {
          "id": 30111301,
          "resourceId": "030iku",
          "default": 2
        },
        "releasedAt": "2023-12-26T15:00:00+09:00"
      }
    },
    "masterRankMax": 4,
    "skillLvMax": 10,
    "parameters": {
      "vocal": {
        "base": 2824,
        "beforeAwakened": {
          "diff": 35.294444444444444,
          "max": 5648
        },
        "afterAwakened": {
          "diff": 39.21604938271605,
          "max": 6353
        },
        "masterBonus": 191
      },
      "dance": {
        "base": 4183,
        "beforeAwakened": {
          "diff": 52.28333333333333,
          "max": 8366
        },
        "afterAwakened": {
          "diff": 58.09259259259259,
          "max": 9411
        },
        "masterBonus": 282
      },
      "visual": {
        "base": 1422,
        "beforeAwakened": {
          "diff": 17.772222222222222,
          "max": 2844
        },
        "afterAwakened": {
          "diff": 19.746913580246915,
          "max": 3199
        },
        "masterBonus": 96
      },
      "lvMax": {
        "beforeAwakened": 80,
        "afterAwakened": 90
      },
      "life": {
        "beforeAwakened": 40,
        "afterAwakened": 40
      }
    },
    "centerEffect": {
      "id": 8005,
      "name": "トリプル・スワイプス",
      "description": "3タイプ編成時、ダンス値が105%アップし、さらにスキル発動率が15%アップ、ダブルブーストの効果量を2%プラス、ダブルエフェクトの効果量を1%プラス",
      "idolType": 4,
      "specificIdolType": 4,
      "songType": 0,
      "attributes": [
        2,
        6,
        7,
        8
      ],
      "values": [
        105,
        15,
        2,
        1
      ]
    },
    "skillName": "小さな星たち",
    "skills": [
      {
        "id": 140,
        "effectId": 1,
        "duration": 5,
        "interval": 9,
        "probability": 40,
        "evaluationTypes": [
          2
        ],
        "values": [
          36
        ],
        "description": "9秒ごとに{0}%の確率で5秒間、Perfect/Greatのスコアが36%アップ"
      }
    ],
    "lines": {
      "flavor": {
        "beforeAwakened": "うどん学園、すっごく楽しかった!\n夕ご飯のうどんもおいしかったし……\n環ちゃん、桃子ちゃん、まだ眠くない?\nわたし、もうすこしだけ\nみんなでおしゃべりしたいなぁ……♪",
        "afterAwakened": "このみさんの歌、大人っぽくてステキ……\nわたしも大人になって恋をしたら、\nこの気持ちがわかるようになるのかなぁ?\n今は、大好きで大切なみんなに……\nわたしたちの歌、届くといいな。"
      },
      "contact": {
        "beforeAwakened": "学校の友達にね、同じクラスの\n男の子のことが好きって\n相談されちゃったんだ…。",
        "afterAwakened": "わたしもいつか、誰かのことを\n好きになったりするのかな。\nうーん、よくわかんないかも…?"
      },
      "awakening": "桃子ちゃん、環ちゃん……ふたりといっしょなら、\nわたしも怖くないよ。ライブ、成功させようね!"
    },
    "addedAt": "2023-12-26T15:00:00+09:00"
  }
]

GET https://api.matsurihi.me/mltd/v1/cards/:cardId

Request
Path Parameters
  • Integer[] cardId ID of the card

    Even if only one ID is specified, the response will be an array. For cards with multiple rarities (such as anniversary event cards), the response array will contain multiple elements. If the ID is specified, query parameters will be ignored.

Query Parameters
  • Integer[] idolId ID of the idol
  • Enum[] rarity Rarity

    <Integer> | n | r | sr | ssr

  • Enum[] extraType Type of the card

    <Integer> | none | pst | pstr | pstp | fes | anniversary | ex | shs

Response
Response Body (Array)
  • Integer id ID

  • String name Name of the card

  • Integer sortId ID used for sorting when displayed

  • Integer idolId ID of the idol

  • Integer idolType Type of the idol

    • 1: Princess
    • 2: Fairy
    • 3: Angel
    • 5: Ex
  • String resourceId ID used for resource access

  • Integer rarity Rarity

    • 1: N
    • 2: R
    • 3: SR
    • 4: SSR
  • Integer eventId? ID of the event that the card was rewarded in

  • String category Category

    This field is deprecated.

  • Integer extraType Type of the card

    • 0: None
    • 2: Reward for high ranks in PST events
    • 3: Reward for earning points in PST events
    • 4: Fes-limited
    • 5: Rewards in the 1st anniversary event
    • 6: Extra
    • 7: Rewards in the 2nd anniversary event
    • 8: Reward for high ranks in PST events (Extra)
    • 9: Reward for earning points in PST events (Extra)
    • 10: Rewards in the 3rd anniversary event
    • 11: Reward for high ranks in PST events (Extra)
    • 12: Reward for earning points in PST events (Extra)
    • 13: Rewards in the 4th anniversary event
    • 14: Provided in Second Hair Style Gashas
    • 15: Sold in special events
    • 16: Rewards in the 5th anniversary event
    • 17: PR cards
    • 18: Rewards in the Million Live! 10th anniversary event
    • 19: Rewards in the 6th anniversary event
    • 20: Million-linkage-limited
    • Integer id Costume ID

    • String name Name of the costume

    • String description Description of the costume

    • String resourceId ID used for resource access

    • String modelId ID of the 3D model

    • Integer sortId ID of the costume used for sorting when displayed

  • Object bonusCostume? Bonus costume for the 4th master rank

    The format is the same as $.costume.

  • Object rank5Costume? Bonus costume for the 5th master rank

    The format is the same as $.costume.

  • String flavorText Flavor text before awakening

    The placeholder for the producer name is {$P$}.

  • String flavorTextAwakened Flavor text after awakening

    The placeholder for the producer name is {$P$}.

  • String awakeningText Lines at the time of awakening

    The placeholder for the producer name is {$P$}.

  • Integer levelMax Maximum level before awakening

  • Integer levelMaxAwakened Maximum level after awakening

  • Integer vocalMin Vocal value at Lv. 1 before awakening

  • Integer vocalMax Vocal value at maximum level before awakening

  • Integer vocalMinAwakened Vocal value at Lv. 1 after awakening

  • Integer vocalMaxAwakened Vocal value at maximum level after awakening

  • Integer vocalMasterBonus Bonus vocal value per master rank

  • Integer danceMin Dance value at Lv. 1 before awakening

  • Integer danceMax Dance value at maximum level before awakening

  • Integer danceMinAwakened Dance value at Lv. 1 after awakening

  • Integer danceMaxAwakened Dance value at maximum level after awakening

  • Integer danceMasterBonus Bonus dance value per master rank

  • Integer visualMin Visual value at Lv. 1 before awakening

  • Integer visualMax Visual value at maximum level before awakening

  • Integer visualMinAwakened Visual value at Lv. 1 after awakening

  • Integer visualMaxAwakened Visual value at maximum level after awakening

  • Integer visualMasterBonus Bonus visual value per master rank

  • Integer life Life

  • Integer masterRankMax Maximum master rank

    • Integer id ID of the center effect

    • String description Description of the center effect

    • Integer idolType Idol type to which the center effect is applied

      • 1: Princess
      • 2: Fairy
      • 3: Angel
      • 4: All
    • Integer specificIdolType? Idol type that all idols should have when the center effect is applied

      • 0: No requirements
      • 1: All idols must be Princess
      • 2: All idols must be Fairy
      • 3: All idols must be Angel
      • 4: All types must be included
    • Integer attribute? Parameter to which the center effect is applied

      • 1: Vocal
      • 2: Dance
      • 3: Visual
      • 4: All appeal parameters
      • 5: Life
      • 6: Skill activation probability
      • 7: Amount of double boost
      • 8: Amount of double effect
      • 9: Affection points
    • Integer value? Value of the center effect (in percentage)

    • Integer songType? Song type required for the center effect to be applied

      • 0: No requirements
      • 1: Princess
      • 2: Fairy
      • 3: Angel
    • Integer attribute2? 2nd parameter to which the center effect is applied

    • Integer value2? Value of the center effect for the 2nd effect (in percentage)

    • Integer attribute3? 3rd parameter to which the center effect is applied

    • Integer value3? Value of the center effect for the 3rd effect (in percentage)

    • Integer attribute? 4th parameter to which the center effect is applied

    • Integer value4? Value of the center effect for the 4th effect (in percentage)

    • Integer attribute5? 5th parameter to which the center effect is applied

    • Integer value5? Value of the center effect for the 5th effect (in percentage)

  • String centerEffectName Name of the center effect

  • This will be omitted if the card has no skills. The skill can be taken multiple times, so this field is an array.

    • Integer id ID of the skill

    • String description Description of the skill

      The placeholder for the activation probability is {0}.

    • Integer effectId ID of the effect of the skill

      • 1: Score bonus
      • 2: Combo bonus
      • 3: Healer
      • 4: Life guard
      • 5: Combo guard
      • 6: Perfect lock
      • 7: Double boost
      • 8: Multi-up
      • 9: Multi-bonus
      • 10: Overclock
      • 11: Over-rondo
      • 12: Double effect
      • 17: Fusion score
      • 18: Fusion combo
    • Integer evaluation Conditions of the skill activation

      • 0: All
      • 1: Perfect
      • 2: Perfect/Great
      • 3: Great
      • 4: Great/Good/Fast/Slow
      • 5: Perfect/Great/Good
      • 6: Perfect/Great/Good/Fast/Slow
      • 7: Great/Good
    • Integer evaluation2 Condition of the 2nd skill activation

    • Integer evaluation3 Condition of the 3rd skill activation

    • Integer duration Duration of the skill (in seconds)

    • Integer interval Interval of the skill activation (in seconds)

    • Integer probability Probability of the skill activation (in percentage, at skill level 0)

    • Integer[] value Value of the skill effect

  • Integer skillLevelMax Maximum skill level

  • String skillName Name of the skill

  • DateTime addDate? Date and time when the card was added

    This will be omitted if the card was implemented at the time of release.

  • Integer galleryType

    This field is deprecated.

Examples
https://api.matsurihi.me/mltd/v1/cards/1515
curl 'https://api.matsurihi.me/mltd/v1/cards/1515'

Response Body

[
  {
    "id": 1515,
    "name": "Vacation vs Summer! 徳川まつり",
    "sortId": 1515,
    "idolId": 21,
    "idolType": 1,
    "resourceId": "021mat0343",
    "rarity": 3,
    "eventId": 239,
    "category": "event2",
    "extraType": 2,
    "costume": {
      "id": 40237210,
      "name": "[VSサマーセーラー]徳川まつり",
      "description": "夏休みだからって弛んじゃダメ。\n外で太陽と大自然を浴びるか、\nクーラーの効いた部屋でのんびり\nするか…合戦の幕開けなのです!",
      "resourceId": "021mat0343",
      "modelId": "sra037",
      "sortId": 40237210
    },
    "bonusCostume": {
      "id": 40237211,
      "name": "[VSサマーセーラー+]徳川まつり",
      "description": "「VSサマーセーラー」の\nアナザー衣装です。",
      "resourceId": "021mat0343_v",
      "modelId": "sra137",
      "sortId": 40237211
    },
    "flavorText": "ほ? いつの間にか、こんなにチップが\n集まっていたのです。……ほ?\n伊織ちゃん、もうおしまいなのです?\n他に、姫の相手をしてくれる人は\nいないのですか? 誰でも大歓迎ですよ♪",
    "flavorTextAwakened": "夏休みは、お家で優雅に過ごすのが一番\nなのです! アイスを食べたり、漫画を\n読んだり、ゲームをしたり……。暑さを\n気にせず、楽しく遊べるのですよ!\nインドア派に、清き一票をお願いなのです!",
    "awakeningText": "さあ、勝負なのです! 姫たちインドア派の主張で、\nアウトドア派のみんなも引き込んじゃうのです。",
    "levelMax": 60,
    "levelMaxAwakened": 70,
    "vocalMin": 3076,
    "vocalMax": 6052,
    "vocalMinAwakened": 3084,
    "vocalMaxAwakened": 7060,
    "vocalMasterBonus": 212,
    "danceMin": 2379,
    "danceMax": 4680,
    "danceMinAwakened": 2385,
    "danceMaxAwakened": 5460,
    "danceMasterBonus": 164,
    "visualMin": 1668,
    "visualMax": 3282,
    "visualMinAwakened": 1672,
    "visualMaxAwakened": 3830,
    "visualMasterBonus": 115,
    "life": 35,
    "masterRankMax": 4,
    "centerEffect": {
      "id": 1302,
      "description": "Princessタイプのボーカル値が60%アップ",
      "idolType": 1,
      "attribute": 1,
      "value": 60
    },
    "centerEffectName": "Princessハーモニー",
    "skill": [
      {
        "id": 210,
        "description": "11秒ごとに{0}%の確率で5秒間、コンボボーナスが20%アップ",
        "effectId": 2,
        "evaluation": 0,
        "evaluation2": 0,
        "evaluation3": 0,
        "duration": 5,
        "interval": 11,
        "probability": 35,
        "value": [
          20
        ]
      }
    ],
    "skillLevelMax": 10,
    "skillName": "億万長者の余裕",
    "addDate": "2022-06-16T15:00:00+09:00",
    "galleryType": 0
  }
]

APIs for Event Information

Get information of the events.

Get information of the events.

GET https://api.matsurihi.me/api/mltd/v2/events/:eventId

Request
Path Parameters
  • Integer eventId ID of the event
Query Parameters
  • DateTime at Get information of the event held at the specified date and time.
  • Enum[] type Type of the event

    <Integer> | showtime | millicolle | theater | tour | anniversary | working | aprilfool | gamecorner | twinstage | tune | tale | talkparty | treasure

  • String[] orderBy Sort order

    id | type | beginAt | id! | type! | beginAt!

    Append ! to the end to sort in descending order. The default is beginAt.

Response
Response Body (Array only when the path parameter is not specified)
  • Integer id ID

  • Integer type Type of the event

    • 1: Showtime
    • 2: Millicolle!
    • 3: Theater / Trust
    • 4: Tour / Tour Bingo
    • 5: Anniversary
    • 6: Working
    • 7: April Fool
    • 8: Game Corner
    • 9: Millicolle! (Box Gasha)
    • 10: Twin Stage (High Score by Song)
    • 11: Tune
    • 12: Twin Stage (Total High Score)
    • 13: Tale / Time / Team
    • 14: Talk Party
    • 16: Treasure
  • Integer appealType Parameter that the bonus is applied to

    • 0: None
    • 1: Vocal
    • 2: Dance
    • 3: Visual
  • String name Name of the event

    • DateTime beginAt Start date and time of the event

    • DateTime endAt End date and time of the event

    • DateTime pageOpenedAt Start date and time of the event page

    • DateTime pageClosedAt End date and time of the event page

    • DateTime|null boostBeginAt Start date and time of the second half

    • DateTime|null boostEndAt End date and time of the second half

  • This field is included even if the event does not have an item, but the content will be null.

    • String|null name Name of the item

    • String|null shortName Short name of the item

  • Object cards? Information of the reward cards

    Included only when the pass parameter is specified. The format is the same as the card API (/api/mltd/v2/cards) with no query parameters.

Examples
https://api.matsurihi.me/api/mltd/v2/events?type=4,9
curl 'https://api.matsurihi.me/api/mltd/v2/events?type=4,9'

Response Body

[
  {
    "id": 181,
    "type": 4,
    "appealType": 0,
    "name": "プラチナスターツアー~ABSOLUTE RUN!!!~",
    "schedule": {
      "beginAt": "2021-04-18T15:00:00+09:00",
      "endAt": "2021-04-26T20:59:59+09:00",
      "pageOpenedAt": "2021-04-18T15:00:00+09:00",
      "pageClosedAt": "2021-04-28T14:59:59+09:00",
      "boostBeginAt": "2021-04-22T15:00:00+09:00",
      "boostEndAt": "2021-04-26T20:59:59+09:00"
    },
    "item": {
      "name": "仲間と繋ぐバトン",
      "shortName": "バトン"
    }
  },
  {
    "id": 184,
    "type": 9,
    "appealType": 0,
    "name": "ミリコレ!~MILLIONLIVE COLLECTION~",
    "schedule": {
      "beginAt": "2021-05-11T15:00:00+09:00",
      "endAt": "2021-05-16T20:59:59+09:00",
      "pageOpenedAt": "2021-05-11T15:00:00+09:00",
      "pageClosedAt": "2021-05-18T14:59:59+09:00",
      "boostBeginAt": null,
      "boostEndAt": null
    },
    "item": {
      "name": null,
      "shortName": null
    }
  }
]
https://api.matsurihi.me/api/mltd/v2/events/212
curl 'https://api.matsurihi.me/api/mltd/v2/events/212'

Response Body

{
  "id": 212,
  "type": 11,
  "appealType": 1,
  "name": "プラチナスターチューン~ミラージュ・ミラー~",
  "schedule": {
    "beginAt": "2021-11-30T15:00:00+09:00",
    "endAt": "2021-12-08T20:59:59+09:00",
    "pageOpenedAt": "2021-11-30T15:00:00+09:00",
    "pageClosedAt": "2021-12-10T14:59:59+09:00",
    "boostBeginAt": "2021-12-04T15:00:00+09:00",
    "boostEndAt": "2021-12-08T20:59:59+09:00"
  },
  "item": {
    "name": "すずらんの花束",
    "shortName": "花束"
  },
  "cards": [
    {
      "id": 1354,
      "name": "鏡の中のあなた エミリー",
      "sortId": 1354,
      "idolId": 32,
      "idolType": 1,
      "variation": 30,
      "rarity": 3,
      "resourceId": "032emi0303",
      "exType": 2,
      "category": 31,
      "costumes": {
        "default": {
          "id": 40225320
        },
        "bonus": {
          "id": 40225321
        }
      },
      "masterRankMax": 4,
      "skillLvMax": 10,
      "addedAt": "2021-11-30T15:00:00+09:00"
    },
    {
      "id": 1355,
      "name": "鏡の中のあなた 徳川まつり",
      "sortId": 1355,
      "idolId": 21,
      "idolType": 1,
      "variation": 30,
      "rarity": 3,
      "resourceId": "021mat0303",
      "exType": 3,
      "category": 31,
      "costumes": {},
      "masterRankMax": 4,
      "skillLvMax": 10,
      "addedAt": "2021-11-30T15:00:00+09:00"
    }
  ]
}

GET https://api.matsurihi.me/mltd/v1/events/:eventId

Request
Path Parameters
  • Integer eventId ID of the event
Query Parameters
  • DateTime at Get information of the event held at the specified date and time.
  • Enum[] type Type of the event

    <Integer> | showtime | millicolle | theater | tour | anniversary | working | aprilfool | gamecorner | twinstage | tune | tale | talkparty | treasure

  • String[] orderBy Sort order

    id | beginTime

    Default: beginTime

Response
Response Body (Array only when the path parameter is not specified)
  • Integer id ID

  • String name Name of the event

  • Integer type Type of the event

    • 1: Showtime
    • 2: Millicolle!
    • 3: Theater / Trust
    • 4: Tour / Tour Bingo
    • 5: Anniversary
    • 6: Working
    • 7: April Fool
    • 8: Game Corner
    • 9: Millicolle! (Box Gasha)
    • 10: Twin Stage (High Score by Song)
    • 11: Tune
    • 12: Twin Stage (Total High Score)
    • 13: Tale / Time / Team
    • 14: Talk Party
    • 16: Treasure
  • Integer appealType Parameter that the bonus is applied to

    • 1: Vocal
    • 2: Dance
    • 3: Visual
    • DateTime beginDate Start date and time of the event

    • DateTime endDate End date and time of the event

    • DateTime pageBeginDate Start date and time of the event page

    • DateTime pageEndDate End date and time of the event page

    • DateTime boostBeginDate? Start date and time of the second half

    • DateTime boostEndDate? End date and time of the second half

Examples
https://api.matsurihi.me/mltd/v1/events?type=11,13
curl 'https://api.matsurihi.me/mltd/v1/events?type=11,13'

Response Body

[
  {
    "id": 146,
    "name": "プラチナスターチューン~BORN ON DREAM!~",
    "type": 11,
    "appealType": 2,
    "schedule": {
      "beginDate": "2020-08-03T15:00:00+09:00",
      "endDate": "2020-08-10T20:59:59+09:00",
      "pageBeginDate": "2020-08-03T15:00:00+09:00",
      "pageEndDate": "2020-08-12T14:59:59+09:00",
      "boostBeginDate": "2020-08-07T15:00:00+09:00",
      "boostEndDate": "2020-08-10T20:59:59+09:00"
    }
  },
  {
    "id": 158,
    "name": "プラチナスターチューン~餞の鳥~",
    "type": 11,
    "appealType": 1,
    "schedule": {
      "beginDate": "2020-11-02T15:00:00+09:00",
      "endDate": "2020-11-09T20:59:59+09:00",
      "pageBeginDate": "2020-11-02T15:00:00+09:00",
      "pageEndDate": "2020-11-11T14:59:59+09:00",
      "boostBeginDate": "2020-11-06T15:00:00+09:00",
      "boostEndDate": "2020-11-09T20:59:59+09:00"
    }
  },
  {
    "id": 164,
    "name": "プラチナスターテール~聖ミリオン女学園 はじまりの花~",
    "type": 13,
    "schedule": {
      "beginDate": "2020-12-18T15:00:00+09:00",
      "endDate": "2020-12-24T20:59:59+09:00",
      "pageBeginDate": "2020-12-18T15:00:00+09:00",
      "pageEndDate": "2020-12-26T14:59:59+09:00",
      "boostBeginDate": "2020-12-21T15:00:00+09:00",
      "boostEndDate": "2020-12-24T20:59:59+09:00"
    }
  }
]
https://api.matsurihi.me/mltd/v1/events/212
curl 'https://api.matsurihi.me/mltd/v1/events/212'

Response Body

{
  "id": 212,
  "name": "プラチナスターチューン~ミラージュ・ミラー~",
  "type": 11,
  "appealType": 1,
  "schedule": {
    "beginDate": "2021-11-30T15:00:00+09:00",
    "endDate": "2021-12-08T20:59:59+09:00",
    "pageBeginDate": "2021-11-30T15:00:00+09:00",
    "pageEndDate": "2021-12-10T14:59:59+09:00",
    "boostBeginDate": "2021-12-04T15:00:00+09:00",
    "boostEndDate": "2021-12-08T20:59:59+09:00"
  }
}

APIs for Event Ranking Information

Data that is not obtained by matsurihi.me cannot be obtained. Data for individual rankings from “Good-Sleep, Baby♡” to ”花ざかり Weekend✿” is provided by TheaterGate. Points and scores are returned as Float in v1 and Integer in v2.

Get the border information

Get the information about the reward borders for the ranking events.

This API returns the same response for v1 and v2.

GET https://api.matsurihi.me/api/mltd/v2/events/:eventId/rankings/borders

Request
Path Parameters
  • Integer eventId ID of the event
Response
Response Body
  • Integer[] eventPoint? Event point ranking

  • Integer[] highScore? High score ranking

  • Integer[] highScore2? High score ranking (the second song / for twin stage events)

  • Integer[] highScoreTotal? Total high score ranking (for tune events, etc.)

  • Integer[] loungePoint? Lounge ranking

    • Integer idolId ID of the idol

    • Integer[] borders Points of the reward borders

      This field is different from events before and after “私たちの R@inbow!,” where the top-10 titles are added.

Examples
https://api.matsurihi.me/api/mltd/v2/events/192/rankings/borders
curl 'https://api.matsurihi.me/api/mltd/v2/events/192/rankings/borders'

Response Body

{
  "eventPoint": [
    100,
    2500,
    5000,
    10000,
    25000,
    50000,
    100000
  ],
  "highScore": [
    100,
    2000,
    5000,
    10000,
    20000
  ],
  "loungePoint": [
    10,
    50,
    100,
    250,
    500
  ],
  "idolPoint": [
    {
      "idolId": 21,
      "borders": [
        100,
        1000
      ]
    },
    {
      "idolId": 22,
      "borders": [
        100,
        1000
      ]
    }
  ]
}

GET https://api.matsurihi.me/mltd/v1/events/:eventId/rankings/borders

Request
Path Parameters
  • Integer eventId ID of the event
Response
Response Body
  • Integer[] eventPoint? Event point ranking

  • Integer[] highScore? High score ranking

  • Integer[] highScore2? High score ranking (the second song / for twin stage events)

  • Integer[] highScoreTotal? Total high score ranking (for tune events, etc.)

  • Integer[] loungePoint? Lounge ranking

    • Integer idolId ID of the idol

    • Integer[] borders Points of the reward borders

      This field is different from events before and after “私たちの R@inbow!,” where the top-10 titles are added.

Examples
https://api.matsurihi.me/mltd/v1/events/192/rankings/borders
curl 'https://api.matsurihi.me/mltd/v1/events/192/rankings/borders'

Response Body

{
  "eventPoint": [
    100,
    2500,
    5000,
    10000,
    25000,
    50000,
    100000
  ],
  "highScore": [
    100,
    2000,
    5000,
    10000,
    20000
  ],
  "loungePoint": [
    10,
    50,
    100,
    250,
    500
  ],
  "idolPoint": [
    {
      "idolId": 21,
      "borders": [
        100,
        1000
      ]
    },
    {
      "idolId": 22,
      "borders": [
        100,
        1000
      ]
    }
  ]
}

Get the current scores on the reward borders

Get the current points or scores on the reward borders.

GET https://api.matsurihi.me/api/mltd/v2/events/:eventId/rankings/borderPoints

ETag / If-None-Match is available.

Request
Path Parameters
  • Integer eventId ID of the event
Request Headers
  • String If-None-Match
Response
Response Headers
  • String ETag
Response Body
      • Integer rank Rank

      • Integer score Score

    • DateTime aggregatedAt Date and time of the ranking aggregation

    • DateTime updatedAt? Date and time of the ranking update

      This field does not exist if the time of the ranking update is unknown.

    • Integer count Number of participants in the ranking

  • Object highScore? High score ranking

    The format is the same as $.eventPoint.

  • Object highScore2? High score ranking (the second song / for twin stage events)

    The format is the same as $.eventPoint.

  • Object highScoreTotal? Total high score ranking (for tune events, etc.)

    The format is the same as $.eventPoint.

  • Object loungePoint? Lounge ranking

    The format is the same as $.eventPoint.

  • The number of participants in the ranking is not included for the ranking by idol.

    • Integer idolId ID of the idol

      • Integer rank Rank

      • Integer score Score

    • DateTime aggregatedAt Date and time of the ranking aggregation

    • DateTime updatedAt? Date and time of the ranking update

      This field does not exist if the time of the ranking update is unknown.

Examples
https://api.matsurihi.me/api/mltd/v2/events/192/rankings/borderPoints
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/192/rankings/borderPoints'

Response Headers

  • ETag: "c10c461d47c21e417ca4f458f692a0f0"

Response Body

{
  "eventPoint": {
    "scores": [
      {
        "rank": 1,
        "score": 7970172
      },
      {
        "rank": 2,
        "score": 7962705
      },
      {
        "rank": 3,
        "score": 7949841
      }
    ],
    "aggregatedAt": "2021-07-12T00:30:00+09:00",
    "updatedAt": "2021-07-12T12:00:14+09:00",
    "count": 159417
  },
  "idolPoint": [
    {
      "idolId": 21,
      "scores": [
        {
          "rank": 1,
          "score": 7532366
        },
        {
          "rank": 2,
          "score": 7487553
        },
        {
          "rank": 3,
          "score": 7364562
        },
        {
          "rank": 100,
          "score": 2354702
        },
        {
          "rank": 1000,
          "score": 579411
        }
      ],
      "aggregatedAt": "2021-07-12T00:30:00+09:00",
      "updatedAt": "2021-07-12T12:00:04+09:00"
    }
  ]
}
https://api.matsurihi.me/api/mltd/v2/events/192/rankings/borderPoints

Request Headers

  • If-None-Match: "c10c461d47c21e417ca4f458f692a0f0"
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/192/rankings/borderPoints' \
  -H 'If-None-Match: "c10c461d47c21e417ca4f458f692a0f0"'

Status Code: 304 Not Modified

Response Headers

  • ETag: "c10c461d47c21e417ca4f458f692a0f0"

GET https://api.matsurihi.me/mltd/v1/events/:eventId/rankings/borderPoints

The border of the per-idol ranking is not included due to historical reasons.

Request
Path Parameters
  • Integer eventId ID of the event
Response
Response Body
      • Integer rank Rank

      • Float score Score

    • DateTime summaryTime Date and time of the ranking aggregation

    • Integer count Number of participants in the ranking

  • Object highScore? High score ranking

    The format is the same as $.eventPoint.

  • Object highScore2? High score ranking (the second song / for twin stage events)

    The format is the same as $.eventPoint.

  • Object highScoreTotal? Total high score ranking (for tune events, etc.)

    The format is the same as $.eventPoint.

  • Object loungePoint? Lounge ranking

    The format is the same as $.eventPoint.

Examples
https://api.matsurihi.me/mltd/v1/events/192/rankings/borderPoints
curl 'https://api.matsurihi.me/mltd/v1/events/192/rankings/borderPoints'

Response Body

{
  "eventPoint": {
    "scores": [
      {
        "rank": 1,
        "score": 7970172.0
      },
      {
        "rank": 2,
        "score": 7962705.0
      },
      {
        "rank": 3,
        "score": 7949841.0
      }
    ],
    "summaryTime": "2021-07-12T00:30:00+09:00",
    "count": 159417
  }
}

Get the summaries of the rankings

Get the summaries of the rankings.

GET https://api.matsurihi.me/api/mltd/v2/events/:eventId/rankings/:type/summaries

ETag / If-None-Match is available.

Request
Path Parameters
  • Integer eventId ID of the event
  • Enum type Type of the ranking

    eventPoint | highScore | highScore2 | highScoreTotal | loungePoint

Request Headers
  • String If-None-Match
Response
Response Headers
  • String ETag
Response Body (Array)
  • Integer count Number of participants in the ranking

  • DateTime aggregatedAt Time of aggregation

  • DateTime updatedAt? Time of update

    This field does not exist if the time of the ranking update is unknown.

Examples
https://api.matsurihi.me/api/mltd/v2/events/212/rankings/eventPoint/summaries
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/212/rankings/eventPoint/summaries'

Response Headers

  • ETag: "09de5b28ae3ac9b715876ed07a8dc457"

Response Body

[
  {
    "count": 9016,
    "aggregatedAt": "2021-11-30T15:30:00+09:00",
    "updatedAt": "2021-11-30T15:35:00+09:00"
  },
  {
    "count": 13439,
    "aggregatedAt": "2021-11-30T16:00:00+09:00",
    "updatedAt": "2021-11-30T16:06:00+09:00"
  },
  {
    "count": 16242,
    "aggregatedAt": "2021-11-30T16:30:00+09:00",
    "updatedAt": "2021-11-30T16:36:00+09:00"
  }
]
https://api.matsurihi.me/api/mltd/v2/events/212/rankings/eventPoint/summaries

Request Headers

  • If-None-Match: "09de5b28ae3ac9b715876ed07a8dc457"
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/212/rankings/eventPoint/summaries' \
  -H 'If-None-Match: "09de5b28ae3ac9b715876ed07a8dc457"'

Status Code: 304 Not Modified

Response Headers

  • ETag: "09de5b28ae3ac9b715876ed07a8dc457"

GET https://api.matsurihi.me/mltd/v1/events/:eventId/rankings/summaries/:type

Request
Path Parameters
  • Integer eventId ID of the event
  • Enum type Type of the ranking

    eventPoint | highScore | highScore2 | highScoreTotal | loungePoint

Response
Response Body (Array)
  • Integer count Number of participants in the ranking

  • DateTime summaryTime Time of aggregation

  • DateTime updateTime? Time of update

    This field does not exist if the time of the ranking update is unknown.

Examples
https://api.matsurihi.me/mltd/v1/events/212/rankings/summaries/eventPoint
curl 'https://api.matsurihi.me/mltd/v1/events/212/rankings/summaries/eventPoint'

Response Body

[
  {
    "count": 9016,
    "summaryTime": "2021-11-30T15:30:00+09:00",
    "updateTime": "2021-11-30T15:35:00+09:00"
  },
  {
    "count": 13439,
    "summaryTime": "2021-11-30T16:00:00+09:00",
    "updateTime": "2021-11-30T16:06:00+09:00"
  },
  {
    "count": 16242,
    "summaryTime": "2021-11-30T16:30:00+09:00",
    "updateTime": "2021-11-30T16:36:00+09:00"
  }
]

Get the summaries of the rankings by idol

Get the summaries of the rankings by idol.

For v2, by default, this API returns summaries every 30 minutes before 24 hours before the end of the event, and those every 5 minutes within 24 hours before the end of the event. For v1, this API returns summaries only every 30 minutes.

GET https://api.matsurihi.me/api/mltd/v2/events/:eventId/rankings/idolPoint/:idolId/summaries

ETag / If-None-Match is available.

Request
Path Parameters
  • Integer eventId ID of the event
  • Integer idolId ID of the idol
Query Parameters
  • Boolean all Flag to get all the data without downsampling
Request Headers
  • String If-None-Match
Response
Response Headers
  • String ETag
Response Body (Array)
  • DateTime aggregatedAt Time of aggregation

  • DateTime updatedAt? Time of update

    This field does not exist if the time of the ranking update is unknown.

Examples
https://api.matsurihi.me/api/mltd/v2/events/192/rankings/idolPoint/21/summaries
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/192/rankings/idolPoint/21/summaries'

Response Headers

  • ETag: "5a07c2b93dd2e0c742e7ab54f3a58f94"

Response Body

[
  {
    "aggregatedAt": "2021-06-29T00:30:00+09:00",
    "updatedAt": "2021-06-29T00:31:04+09:00"
  },
  {
    "aggregatedAt": "2021-06-29T01:00:00+09:00",
    "updatedAt": "2021-06-29T01:01:34+09:00"
  },
  {
    "aggregatedAt": "2021-06-29T01:30:00+09:00",
    "updatedAt": "2021-06-29T01:31:04+09:00"
  },
  {
    "aggregatedAt": "2021-06-29T02:00:00+09:00",
    "updatedAt": "2021-06-29T02:01:35+09:00"
  }
]
https://api.matsurihi.me/api/mltd/v2/events/192/rankings/idolPoint/21/summaries

Request Headers

  • If-None-Match: "5a07c2b93dd2e0c742e7ab54f3a58f94"
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/192/rankings/idolPoint/21/summaries' \
  -H 'If-None-Match: "5a07c2b93dd2e0c742e7ab54f3a58f94"'

Status Code: 304 Not Modified

Response Headers

  • ETag: "5a07c2b93dd2e0c742e7ab54f3a58f94"

GET https://api.matsurihi.me/mltd/v1/events/:eventId/rankings/summaries/idolPoint/:idolId

Request
Path Parameters
  • Integer eventId ID of the event
  • Integer idolId ID of the idol
Response
Response Body (Array)
  • DateTime summaryTime Time of aggregation

  • DateTime updateTime? Time of update

    This field does not exist if the time of the ranking update is unknown.

Examples
https://api.matsurihi.me/mltd/v1/events/192/rankings/summaries/idolPoint/21
curl 'https://api.matsurihi.me/mltd/v1/events/192/rankings/summaries/idolPoint/21'

Response Body

[
  {
    "summaryTime": "2021-06-29T00:30:00+09:00",
    "updateTime": "2021-06-29T00:31:04+09:00"
  },
  {
    "summaryTime": "2021-06-29T01:00:00+09:00",
    "updateTime": "2021-06-29T01:01:34+09:00"
  },
  {
    "summaryTime": "2021-06-29T01:30:00+09:00",
    "updateTime": "2021-06-29T01:31:04+09:00"
  },
  {
    "summaryTime": "2021-06-29T02:00:00+09:00",
    "updateTime": "2021-06-29T02:01:35+09:00"
  }
]

Get ranking logs

Get the logs of the rankings by rank.

GET https://api.matsurihi.me/api/mltd/v2/events/:eventId/rankings/:type/logs/:ranks

ETag / If-None-Match is available.

Request
Path Parameters
  • Integer eventId ID of the event
  • Enum type Type of the ranking

    eventPoint | highScore | highScore2 | highScoreTotal | loungePoint

  • Integer[] ranks List of ranks to get
Query Parameters
  • DateTime since Start time of the logs to get

    If this query parameter is specified, this API returns only the data after the specified time. The data at the specified time is not included.

Request Headers
  • String If-None-Match
Response
Response Headers
  • String ETag
Response Body (Array)
  • Integer rank Rank

    • Integer score Score

    • DateTime aggregatedAt Date and time of the ranking aggregation

Examples
https://api.matsurihi.me/api/mltd/v2/events/212/rankings/eventPoint/logs/1
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/212/rankings/eventPoint/logs/1'

Response Headers

  • ETag: "a205260df8ddd3cc363f5d7b97d64a6d"

Response Body

[
  {
    "rank": 1,
    "data": [
      {
        "score": 5754,
        "aggregatedAt": "2021-11-30T15:30:00+09:00"
      },
      {
        "score": 10920,
        "aggregatedAt": "2021-11-30T16:00:00+09:00"
      },
      {
        "score": 16674,
        "aggregatedAt": "2021-11-30T16:30:00+09:00"
      },
      {
        "score": 21840,
        "aggregatedAt": "2021-11-30T17:00:00+09:00"
      }
    ]
  }
]
https://api.matsurihi.me/api/mltd/v2/events/212/rankings/eventPoint/logs/1

Request Headers

  • If-None-Match: "a205260df8ddd3cc363f5d7b97d64a6d"
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/212/rankings/eventPoint/logs/1' \
  -H 'If-None-Match: "a205260df8ddd3cc363f5d7b97d64a6d"'

Status Code: 304 Not Modified

Response Headers

  • ETag: "a205260df8ddd3cc363f5d7b97d64a6d"

GET https://api.matsurihi.me/mltd/v1/events/:eventId/rankings/logs/:type/:ranks

Request
Path Parameters
  • Integer eventId ID of the event
  • Enum type Type of the ranking

    eventPoint | highScore | highScore2 | highScoreTotal | loungePoint

  • Integer[] ranks List of ranks to get
Query Parameters
  • DateTime timeMin Start time of the logs to get

    If this query parameter is specified, this API returns only the data after the specified time. The data at the specified time is included.

Request Headers
  • String If-None-Match
Response
Response Body (Array)
  • Integer rank Rank

    • Float score Score

    • DateTime summaryTime Date and time of the ranking aggregation

Examples
https://api.matsurihi.me/mltd/v1/events/212/rankings/logs/eventPoint/1
curl 'https://api.matsurihi.me/mltd/v1/events/212/rankings/logs/eventPoint/1'

Response Body

[
  {
    "rank": 1,
    "data": [
      {
        "score": 5754.0,
        "summaryTime": "2021-11-30T15:30:00+09:00"
      },
      {
        "score": 10920.0,
        "summaryTime": "2021-11-30T16:00:00+09:00"
      },
      {
        "score": 16674.0,
        "summaryTime": "2021-11-30T16:30:00+09:00"
      },
      {
        "score": 21840.0,
        "summaryTime": "2021-11-30T17:00:00+09:00"
      }
    ]
  }
]

Get ranking logs (by idol)

Get the logs of the per-idol rankings by rank.

For v2, by default, this API returns logs every 30 minutes before 24 hours before the end of the event, and those every 5 minutes within 24 hours before the end of the event. For v1, this API returns logs only every 30 minutes.

GET https://api.matsurihi.me/api/mltd/v2/events/:eventId/rankings/idolPoint/:idolId/logs/:ranks

ETag / If-None-Match is available.

Request
Path Parameters
  • Integer eventId ID of the event
  • Integer idolId ID of the idol
  • Integer[] ranks List of ranks to get
Query Parameters
  • DateTime since Start time of the logs to get

    If this query parameter is specified, this API returns only the data after the specified time. The data at the specified time is not included.

  • Boolean all Flag to get all the data without downsampling
Request Headers
  • String If-None-Match
Response
Response Headers
  • String ETag
Response Body (Array)
  • Integer rank Rank

    • Integer score Score

    • DateTime aggregatedAt Date and time of the ranking aggregation

Examples
https://api.matsurihi.me/api/mltd/v2/events/192/rankings/idolPoint/21/logs/1
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/192/rankings/idolPoint/21/logs/1'

Response Headers

  • ETag: "aef5c2e813c96fd099bd9ef7a92abaa0"

Response Body

[
  {
    "rank": 1,
    "data": [
      {
        "score": 13888,
        "aggregatedAt": "2021-06-29T00:30:00+09:00"
      },
      {
        "score": 40782,
        "aggregatedAt": "2021-06-29T01:00:00+09:00"
      },
      {
        "score": 53640,
        "aggregatedAt": "2021-06-29T01:30:00+09:00"
      },
      {
        "score": 79416,
        "aggregatedAt": "2021-06-29T02:00:00+09:00"
      }
    ]
  }
]
https://api.matsurihi.me/api/mltd/v2/events/192/rankings/idolPoint/21/logs/1

Request Headers

  • If-None-Match: "aef5c2e813c96fd099bd9ef7a92abaa0"
curl --include 'https://api.matsurihi.me/api/mltd/v2/events/192/rankings/idolPoint/21/logs/1' \
  -H 'If-None-Match: "aef5c2e813c96fd099bd9ef7a92abaa0"'

Status Code: 304 Not Modified

Response Headers

  • ETag: "aef5c2e813c96fd099bd9ef7a92abaa0"

GET https://api.matsurihi.me/mltd/v1/events/:eventId/rankings/logs/idolPoint/:idolId/:ranks

Request
Path Parameters
  • Integer eventId ID of the event
  • Integer idolId ID of the idol
  • Integer[] ranks List of ranks to get
Query Parameters
  • DateTime timeMin Start time of the logs to get

    If this query parameter is specified, this API returns only the data after the specified time. The data at the specified time is included.

Request Headers
  • String If-None-Match
Response
Response Body (Array)
  • Integer rank Rank

    • Float score Score

    • DateTime summaryTime Date and time of the ranking aggregation

Examples
https://api.matsurihi.me/mltd/v1/events/192/rankings/logs/idolPoint/21/1
curl 'https://api.matsurihi.me/mltd/v1/events/192/rankings/logs/idolPoint/21/1'

Response Body

[
  {
    "rank": 1,
    "data": [
      {
        "score": 13888.0,
        "summaryTime": "2021-06-29T00:30:00+09:00"
      },
      {
        "score": 40782.0,
        "summaryTime": "2021-06-29T01:00:00+09:00"
      },
      {
        "score": 53640.0,
        "summaryTime": "2021-06-29T01:30:00+09:00"
      },
      {
        "score": 79416.0,
        "summaryTime": "2021-06-29T02:00:00+09:00"
      }
    ]
  }
]

APIs for Lounge Information

These APIs are provided using caches on matsurihi.me's database, so the data may not be up-to-date.

Get the lounge information

Get the information about the specified lounge.

GET https://api.matsurihi.me/api/mltd/v2/lounges/:loungeId

Request
Path Parameters
  • String loungeId ID of the lounge

    You can use either the actual ID (UUID) or the viewer ID (8-digit Base32 lounge ID). This field is case-insensitive.

Response
Response Body
  • String id Actual ID (UUID) of the lounge

  • String viewerId Viewer ID (8-digit Base32 lounge ID) of the lounge

  • String name Name of the lounge

  • String comment Comment of the lounge

    • String name Name of the master of the lounge

    • String icon Icon of the master of the lounge

  • Integer fan Number of fans

    This value may exceed 32 bits. Please use a 64-bit integer type.

  • Integer rank Rank

    • 1: F
    • 2: E
    • 3: D
    • 4: C
    • 5: B
    • 6: A
    • 7: S
    • 8: SS
  • Integer playStyleType Play style

    • 1: Freely
    • 2: Relaxing
    • 3: With fun
    • 4: Constantly
    • 5: Seriously
  • Integer moodType Mood of the lounge

    • 1: Freely
    • 2: Relaxing
    • 3: Gentlemanly
    • 4: Lively
    • 5: Informal
  • Integer approvalType Approval

    • 1: Free to enter
    • 2: Approval required
  • Integer numUsers Number of producers in the lounge

  • Integer numUsersLimit Maximum number of producers in the lounge

  • DateTime createdAt Creation date and time of the lounge

  • DateTime updatedAt Date and time of the last update of the lounge information

GET https://api.matsurihi.me/mltd/v1/lounges/:loungeId

Request
Path Parameters
  • String loungeId ID of the lounge

    You can use either the actual ID (UUID) or the viewer ID (8-digit Base32 lounge ID). This field is case-insensitive.

Response
Response Body
  • String id Actual ID (UUID) of the lounge

  • String viewerId Viewer ID (8-digit Base32 lounge ID) of the lounge

  • String name Name of the lounge

  • String comment Comment of the lounge

  • Integer userCount Number of producers in the lounge

  • Integer userCountLimit Maximum number of producers in the lounge

  • Integer fan Number of fans

    This value may exceed 32 bits. Please use a 64-bit integer type.

  • String masterName Name of the master of the lounge

  • DateTime createTime Creation date and time of the lounge

  • DateTime updateTime Date and time of the last update of the lounge information

Search lounges by name.

GET https://api.matsurihi.me/api/mltd/v2/lounges

Request
Query Parameters
  • String name Name of the lounge

    Please specify at least 2 characters. This field is case-insensitive.

Response
Response Body (Array)

Array of the lounge information (same format as /api/mltd/v2/lounges)

Examples
https://api.matsurihi.me/api/mltd/v2/lounges?name=徳川まつり
curl 'https://api.matsurihi.me/api/mltd/v2/lounges?name=%E5%BE%B3%E5%B7%9D%E3%81%BE%E3%81%A4%E3%82%8A'

GET https://api.matsurihi.me/mltd/v1/lounges/search

Request
Path Parameters
  • String name Name of the lounge

    Please specify at least 2 characters. This field is case-insensitive.

  • Boolean includeDeleted

    This query is almost meaningless. It is deprecated.

Response
Response Body (Array)
  • String id Actual ID (UUID) of the lounge

  • String viewerId Viewer ID (8-digit Base32 lounge ID) of the lounge

  • String name Name of the lounge

  • DateTime updateTime Date and time of the last update of the lounge information

Examples
https://api.matsurihi.me/mltd/v1/lounges/search?name=徳川まつり
curl 'https://api.matsurihi.me/mltd/v1/lounges/search?name=%E5%BE%B3%E5%B7%9D%E3%81%BE%E3%81%A4%E3%82%8A'

Get the event results of the specified lounge

Get the event results of the specified lounge.

GET https://api.matsurihi.me/api/mltd/v2/lounges/:loungeId/eventResults

Request
Path Parameters
  • String loungeId ID of the lounge

    You can use either the actual ID (UUID) or the viewer ID (8-digit Base32 lounge ID). This field is case-insensitive.

Response
Response Body
  • Integer rank Final rank of the event

  • Integer score Final score of the event

  • Object event Event information

    Same format as /api/mltd/v2/events.

GET https://api.matsurihi.me/mltd/v1/lounges/:loungeId/eventHistory

Request
Path Parameters
  • String loungeId ID of the lounge

    You can use either the actual ID (UUID) or the viewer ID (8-digit Base32 lounge ID). This field is case-insensitive.

Response
Response Body
  • Integer eventId ID of the event

  • String eventName Name of the event

  • DateTime summaryTime Time when the final ranking was calculated

  • Integer rank Final rank of the event

  • Float score Final score of the event

APIs for Starlight Stage

The base path is /api/cgss/v2/ for v2 and /cgss/v1/ for v1.

APIs for Version Information

Get the latest app and asset versions

Get the latest app and asset versions.

GET https://api.matsurihi.me/api/cgss/v2/version/latest

Response
Response Body
    • String version Version

    • DateTime updatedAt Forced update date and time

    • Integer version Version

    • DateTime updatedAt Delivery date and time

Examples
https://api.matsurihi.me/api/cgss/v2/version/latest
curl 'https://api.matsurihi.me/api/cgss/v2/version/latest'

Response Body

{
  "app": {
    "version": "8.4.0",
    "updatedAt": "2022-12-07T12:01:00+09:00"
  },
  "asset": {
    "version": 10102310,
    "updatedAt": "2022-12-09T17:13:00+09:00"
  }
}

GET https://api.matsurihi.me/cgss/v1/version/latest

Response
Response Body
    • String version Version

    • DateTime updateTime Forced update date and time

    • Integer version Version

    • DateTime updateTime Delivery date and time

Examples
https://api.matsurihi.me/cgss/v1/version/latest
curl 'https://api.matsurihi.me/cgss/v1/version/latest'

Response Body

{
  "app": {
    "version": "8.4.0",
    "updateTime": "2022-12-07T12:01:00+09:00"
  },
  "res": {
    "version": 10102310,
    "updateTime": "2022-12-09T17:13:00+09:00"
  }
}

Get the app versions

Get the app version information.

You can only get the version information after matsurihi.me started collecting.

GET https://api.matsurihi.me/api/cgss/v2/version/apps/:version

Request
Path Parameters
  • String version Version

    If the version is not specified, the response will be an array of all versions.

Response
Response Body (Array only when the path parameter is not specified)
  • String version Version

  • DateTime updatedAt Forced update date and time

Examples
https://api.matsurihi.me/api/cgss/v2/version/apps
curl 'https://api.matsurihi.me/api/cgss/v2/version/apps'

Response Body

[
  {
    "version": "3.8.8",
    "updatedAt": "2018-05-09T12:00:00+09:00"
  },
  {
    "version": "3.8.9",
    "updatedAt": "2018-06-14T12:04:00+09:00"
  },
  {
    "version": "3.9.0",
    "updatedAt": "2018-06-22T12:04:00+09:00"
  },
  {
    "version": "3.9.1",
    "updatedAt": "2018-07-19T15:28:00+09:00"
  }
]
https://api.matsurihi.me/api/cgss/v2/version/apps/4.0.0
curl 'https://api.matsurihi.me/api/cgss/v2/version/apps/4.0.0'

Response Body

{
  "version": "4.0.0",
  "updatedAt": "2018-07-30T12:03:00+09:00"
}

Get the asset versions

Get the asset version information.

You can only get the version information after matsurihi.me started collecting.

GET https://api.matsurihi.me/api/cgss/v2/version/assets/:version

Request
Path Parameters
  • Integer version Version

    If the version is not specified, the response will be an array of all versions.

Response
Response Body (Array only when the path parameter is not specified)
  • Integer version Version

  • DateTime updatedAt Delivery date and time

Examples
https://api.matsurihi.me/api/cgss/v2/version/assets
curl 'https://api.matsurihi.me/api/cgss/v2/version/assets'

Response Body

[
  {
    "version": 10038700,
    "updatedAt": "2018-05-08T14:54:00+09:00"
  },
  {
    "version": 10038710,
    "updatedAt": "2018-05-08T20:03:00+09:00"
  },
  {
    "version": 10038800,
    "updatedAt": "2018-05-10T14:54:00+09:00"
  }
]
https://api.matsurihi.me/api/cgss/v2/version/assets/10100000
curl 'https://api.matsurihi.me/api/cgss/v2/version/assets/10100000'

Response Body

{
  "version": 10100000,
  "updatedAt": "2022-09-23T15:00:00+09:00"
}

APIs for Derepo Information

Get Derepo Posts

Get Derepo posts.

GET https://api.matsurihi.me/api/cgss/v2/derepo/statuses/:statusId

Request
Path Parameters
  • Integer statusId Post ID
Query Parameters
  • Integer idolId Idol ID

    The idol ID can be found in the path parameter of the URL of Starlight DB.

  • Integer groupId Thread ID
  • Integer hashtagId Hashtag ID
  • DateTime until Upper limit of post date

    The response will not include the posts posted at date specified by this parameter.

  • DateTime since Lower limit of post date

    The response will include the posts posted at date specified by this parameter.

  • Integer limit Number of posts to get

    The value must be between 1 and 100. The default value is 10.

  • Enum orderBy Sort order

    postedAt | id | postedAt! | id!

    Append ! to sort in descending order. Default: postedAt!

Response
Response Body (Array only when the path parameter is not specified)
  • Integer id Post ID

  • Integer groupId Thread ID

  • Integer groupOrder Post order in thread

  • Integer idolId Idol ID

  • String name Username

    The username at the time of posting is returned, not the idol name.

  • String message Post body

    The text to be displayed as HTML is returned as it is, so markup strings such as <br> are included. If it is a stamp post, the message will be formatted in stamp_only:stampId.

  • String iconPath

  • String|null imagePath

  • DateTime postedAt Post date

    • Integer id Hashtag ID

    • String hashtag Hashtag

    • String id Stamp ID

    • String name Stamp name

      Some stamps have unofficial names determined by matsurihi.me.

Examples
https://api.matsurihi.me/api/cgss/v2/derepo/statuses?limit=5&until=2022-12-15T18:48:00+09:00
curl 'https://api.matsurihi.me/api/cgss/v2/derepo/statuses?limit=5&until=2022-12-15T18:48:00+09:00'

Response Body

[
  {
    "id": 23489,
    "groupId": 7470,
    "groupOrder": 5,
    "idolId": 127,
    "name": "前川みく",
    "message": "stamp_only:stamp_000092",
    "iconPath": "7f2f2e676abb3c722e75984d18f27e43",
    "imagePath": null,
    "postedAt": "2022-12-15T18:47:00+09:00",
    "hashtags": [],
    "stamp": {
      "id": "stamp_000092",
      "name": "オラァ!"
    }
  },
  {
    "id": 23488,
    "groupId": 7470,
    "groupOrder": 4,
    "idolId": 154,
    "name": "安部菜々",
    "message": "美味しそうですねぇ♪",
    "iconPath": "2c0885cd5a23ae4fe8afdc20f0c4b836",
    "imagePath": null,
    "postedAt": "2022-12-15T18:43:00+09:00",
    "hashtags": []
  },
  {
    "id": 23487,
    "groupId": 7470,
    "groupOrder": 3,
    "idolId": 178,
    "name": "多田李衣菜",
    "message": "みくちゃんがお魚を…!",
    "iconPath": "41b54cbf88ce23e6389666aefda8aed7",
    "imagePath": null,
    "postedAt": "2022-12-15T18:41:00+09:00",
    "hashtags": []
  },
  {
    "id": 23486,
    "groupId": 7470,
    "groupOrder": 2,
    "idolId": 192,
    "name": "浅利七海",
    "message": "ふわふわ♪おいしい♪<br>お魚ハンバーグ♪",
    "iconPath": "2adcb8cf61115b7a739110f79f8b6d15",
    "imagePath": null,
    "postedAt": "2022-12-15T18:37:00+09:00",
    "hashtags": []
  },
  {
    "id": 23485,
    "groupId": 7470,
    "groupOrder": 1,
    "idolId": 192,
    "name": "浅利七海",
    "message": "ハンバーグ♪<br>ハンバーグ♪",
    "iconPath": "2adcb8cf61115b7a739110f79f8b6d15",
    "imagePath": "f8aeecb8ce20f1ff9db85463995b4c4c",
    "postedAt": "2022-12-15T18:36:00+09:00",
    "hashtags": [
      {
        "id": 1642,
        "hashtag": "晩ごはん!"
      }
    ]
  }
]

GET https://api.matsurihi.me/cgss/v1/derepo/statuses/:statusId

Request
Path Parameters
  • Integer statusId Post ID
Query Parameters
  • Integer idolId Idol ID

    The idol ID can be found in the path parameter of the URL of Starlight DB.

  • Integer groupId Thread ID
  • Integer hashtagId Hashtag ID
  • DateTime timeMax Upper limit of post date

    The response will not include the posts posted at date specified by this parameter.

  • DateTime timeMin Lower limit of post date

    The response will include the posts posted at date specified by this parameter.

  • Integer maxResults Number of posts to get

    The value must be between 1 and 100. The default value is 10.

  • Enum orderBy Sort order

    postedAt | id

    The results are sorted in descending order. Default: postedAt

Response
Response Body (Array only when the path parameter is not specified)
  • Integer id Post ID

  • Integer groupId Thread ID

  • Integer groupOrder Post order in thread

  • Integer idolId Idol ID

  • String name Username

    The username at the time of posting is returned, not the idol name.

  • String message Post body

    The text to be displayed as HTML is returned as it is, so markup strings such as <br> are included. If it is a stamp post, the message will be formatted in stamp_only:stampId.

  • String iconPath

  • String imagePath?

  • DateTime postTime Post date

    • Integer id Hashtag ID

    • String word Hashtag

Examples
https://api.matsurihi.me/cgss/v1/derepo/statuses?maxResults=5&timeMax=2022-12-15T18:48:00+09:00
curl 'https://api.matsurihi.me/cgss/v1/derepo/statuses?maxResults=5&timeMax=2022-12-15T18:48:00+09:00'

Response Body

[
  {
    "id": 23489,
    "groupId": 7470,
    "groupOrder": 5,
    "idolId": 127,
    "name": "前川みく",
    "message": "stamp_only:stamp_000092",
    "iconPath": "7f2f2e676abb3c722e75984d18f27e43",
    "postTime": "2022-12-15T18:47:00+09:00",
    "hashtags": []
  },
  {
    "id": 23488,
    "groupId": 7470,
    "groupOrder": 4,
    "idolId": 154,
    "name": "安部菜々",
    "message": "美味しそうですねぇ♪",
    "iconPath": "2c0885cd5a23ae4fe8afdc20f0c4b836",
    "postTime": "2022-12-15T18:43:00+09:00",
    "hashtags": []
  },
  {
    "id": 23487,
    "groupId": 7470,
    "groupOrder": 3,
    "idolId": 178,
    "name": "多田李衣菜",
    "message": "みくちゃんがお魚を…!",
    "iconPath": "41b54cbf88ce23e6389666aefda8aed7",
    "postTime": "2022-12-15T18:41:00+09:00",
    "hashtags": []
  },
  {
    "id": 23486,
    "groupId": 7470,
    "groupOrder": 2,
    "idolId": 192,
    "name": "浅利七海",
    "message": "ふわふわ♪おいしい♪<br>お魚ハンバーグ♪",
    "iconPath": "2adcb8cf61115b7a739110f79f8b6d15",
    "postTime": "2022-12-15T18:37:00+09:00",
    "hashtags": []
  },
  {
    "id": 23485,
    "groupId": 7470,
    "groupOrder": 1,
    "idolId": 192,
    "name": "浅利七海",
    "message": "ハンバーグ♪<br>ハンバーグ♪",
    "iconPath": "2adcb8cf61115b7a739110f79f8b6d15",
    "imagePath": "f8aeecb8ce20f1ff9db85463995b4c4c",
    "postTime": "2022-12-15T18:36:00+09:00",
    "hashtags": [
      {
        "id": 1642,
        "word": "晩ごはん!"
      }
    ]
  }
]

Get Derepo hashtag list

Get the list of hashtags of Derepo posts.

GET https://api.matsurihi.me/api/cgss/v2/derepo/hashtags

Response
Response Body (Array)
  • Integer id Hashtag ID

  • String hashtag Hashtag

Examples
https://api.matsurihi.me/api/cgss/v2/derepo/hashtags
curl 'https://api.matsurihi.me/api/cgss/v2/derepo/hashtags'

Response Body

[
  {
    "id": 1001,
    "hashtag": "LIVEステージ裏"
  },
  {
    "id": 1002,
    "hashtag": "役作り"
  },
  {
    "id": 1003,
    "hashtag": "みんなでオフ !"
  }
]

GET https://api.matsurihi.me/cgss/v1/derepo/hashtags

Response
Response Body (Array)
  • Integer id Hashtag ID

  • String word Hashtag

Examples
https://api.matsurihi.me/cgss/v1/derepo/hashtags
curl 'https://api.matsurihi.me/cgss/v1/derepo/hashtags'

Response Body

[
  {
    "id": 1001,
    "word": "LIVEステージ裏"
  },
  {
    "id": 1002,
    "word": "役作り"
  },
  {
    "id": 1003,
    "word": "みんなでオフ !"
  }
]

Get Derepo stamp list

Get the list of the stamps of Derepo posts.

The list of the stamps is based on the stamps implemented in the game, so it includes stamps that are not actually used in the posts. Some stamps have unofficial names determined by matsurihi.me. This API returns the same result for both v1 and v2.

GET https://api.matsurihi.me/api/cgss/v2/derepo/stamps

Response
Response Body (Array)
  • String id Stamp ID

  • String name Stamp name

Examples
https://api.matsurihi.me/api/cgss/v2/derepo/stamps
curl 'https://api.matsurihi.me/api/cgss/v2/derepo/stamps'

Response Body

[
  {
    "id": "stamp_000001",
    "name": "がんばります!"
  },
  {
    "id": "stamp_000002",
    "name": "全力で行くよ"
  },
  {
    "id": "stamp_000003",
    "name": "ファイト!"
  }
]

GET https://api.matsurihi.me/cgss/v1/derepo/stamps

Response
Response Body (Array)
  • String id Stamp ID

  • String name Stamp name

Examples
https://api.matsurihi.me/cgss/v1/derepo/stamps
curl 'https://api.matsurihi.me/cgss/v1/derepo/stamps'

Response Body

[
  {
    "id": "stamp_000001",
    "name": "がんばります!"
  },
  {
    "id": "stamp_000002",
    "name": "全力で行くよ"
  },
  {
    "id": "stamp_000003",
    "name": "ファイト!"
  }
]

APIs for Shiny Colors

The base path is /sc/v1/.

For Shiny Colors APIs, the term character is used instead of idol to avoid confusion with the term Produce Idols and Support Idols.

The current API version for Shiny Colors is v1. V2 API is under development.

APIs for Version Information

Get the latest app and asset versions

Get the latest app and asset versions.

GET https://api.matsurihi.me/c/v1/version/latest

Response
Response Body
    • Integer version Version

    • DateTime updateTime Release date and time

    • Integer version Version

    • DateTime updateTime Release date and time

Examples
https://api.matsurihi.me/sc/v1/version/latest
curl 'https://api.matsurihi.me/sc/v1/version/latest'

Response Body

{
  "script": {
    "version": 269,
    "updateTime": "2022-12-09T12:04:58+09:00"
  },
  "asset": {
    "version": 225,
    "updateTime": "2022-12-09T19:02:45+09:00"
  }
}

APIs for Fan Ranking Events (Producer's Cup)

Only events after the 2.5th anniversary can be retrieved.

Get a list of events

Get a list of fan ranking events.

GET https://api.matsurihi.me/sc/v1/events/fanRanking

Response
Response Body (Array)
  • Integer id Hashtag ID

  • String name Event name

  • DateTime beginTime Event start date and time

  • DateTime endTime Event end date and time

Examples
https://api.matsurihi.me/sc/v1/events/fanRanking
curl 'https://api.matsurihi.me/sc/v1/events/fanRanking'

Response Body

[
  {
    "id": 40005,
    "name": "2.5Anniversaryプロデューサーズカップ",
    "beginTime": "2020-10-12T15:00:00+09:00",
    "endTime": "2020-10-21T11:59:59+09:00"
  },
  {
    "id": 40006,
    "name": "3rd Anniversaryプロデューサーズカップ",
    "beginTime": "2021-04-12T15:00:00+09:00",
    "endTime": "2021-04-20T11:59:59+09:00"
  },
  {
    "id": 40007,
    "name": "3.5Anniversaryプロデューサーズカップ",
    "beginTime": "2021-10-12T15:00:00+09:00",
    "endTime": "2021-10-18T11:59:59+09:00"
  },
  {
    "id": 40008,
    "name": "4th Anniversaryプロデューサーズカップ",
    "beginTime": "2022-04-11T15:00:00+09:00",
    "endTime": "2022-04-17T11:59:59+09:00"
  },
  {
    "id": 40009,
    "name": "4.5Anniversaryプロデューサーズカップ",
    "beginTime": "2022-10-11T15:00:00+09:00",
    "endTime": "2022-10-16T11:59:59+09:00"
  }
]

Get ranking logs

Get the logs of the rankings by rank.

This API returns logs only every 30 minutes.

GET https://api.matsurihi.me/sc/v1/events/fanRanking/:eventId/rankings/logs/:characterId/:ranks

Request
Path Parameters
  • Integer eventId ID of the event
  • Integer characterId ID of the idol
    • 1: Mano Sakuragi
    • 2: Hiori Kazano
    • 3: Meguru Hachimiya
    • 4: Kogane Tsukioka
    • 5: Mamimi Tanaka
    • 6: Sakuya Shirase
    • 7: Yuika Mitsumine
    • 8: Kiriko Yukoku
    • 9: Kaho Komiya
    • 10: Chiyoko Sonoda
    • 11: Juri Saijo
    • 12: Rinze Morino
    • 13: Natsuha Arisugawa
    • 14: Amana Osaki
    • 15: Tenka Osaki
    • 16: Chiyuki Kuwayama
    • 17: Asahi Serizawa
    • 18: Fuyuko Mayuzumi
    • 19: Mei Izumi
    • 20: Toru Asakura
    • 21: Madoka Higuchi
    • 22: Koito Fukumaru
    • 23: Hinana Ichikawa
    • 24: Nichika Nanakusa
    • 25: Mikoto Aketa
    • 26: Luca Ikaruga
  • Integer[] ranks List of ranks to get
Response
Response Body (Array)
  • Integer rank Rank

    • Integer score Score

    • DateTime summaryTime Date and time of the ranking aggregation

Examples
https://api.matsurihi.me/sc/v1/events/fanRanking/40005/rankings/logs/1/1,2,3
curl 'https://api.matsurihi.me/sc/v1/events/fanRanking/40005/rankings/logs/1/1,2,3'

Response Body

[
  {
    "rank": 1,
    "data": [
      {
        "score": 10232976,
        "summaryTime": "2020-10-12T16:00:00+09:00"
      },
      {
        "score": 19265458,
        "summaryTime": "2020-10-12T16:30:00+09:00"
      },
      {
        "score": 23650324,
        "summaryTime": "2020-10-12T17:00:00+09:00"
      }
    ]
  },
  {
    "rank": 2,
    "data": [
      {
        "score": 10080470,
        "summaryTime": "2020-10-12T16:00:00+09:00"
      },
      {
        "score": 16423491,
        "summaryTime": "2020-10-12T16:30:00+09:00"
      },
      {
        "score": 20916404,
        "summaryTime": "2020-10-12T17:00:00+09:00"
      }
    ]
  },
  {
    "rank": 3,
    "data": [
      {
        "score": 9999826,
        "summaryTime": "2020-10-12T16:00:00+09:00"
      },
      {
        "score": 16311059,
        "summaryTime": "2020-10-12T16:30:00+09:00"
      },
      {
        "score": 18641723,
        "summaryTime": "2020-10-12T17:00:00+09:00"
      }
    ]
  }
]