LoveLive! School Idol API
Clone this wiki locally
If you're a developer and you would like to get the cards of the game in a convenient format, we provide a public REST API to get the cards, events, idols, and more!
We'd love to talk to you! If you're creating or you plan to create something that uses our API, contact us so we can help you, give you feedback, ideas, and even promote it when you're ready.
If you would like to get more data that is not available in the current API, contact us and we will see what we can do for you ;)
If you would like to contribute, see the contribute page.
Note that since we provide this service for free, unfortunately, we cannot 100% guarantee its uptime. However, we believe our architecture is reliable enough to be used in a production environment.
Missing or null fields
The guaranteed JSON fields are marked with . You can consider that any other field might be null. The site is purposely very permissive in that matter, since we might not have all the information or users might not want to fill everything. We recommend you to make sure that your service works no matter what's missing.
Paginated endpoints give you the total number of elements in
count. If you want to know the total number of pages, you can just divide it by the page size, which is 10 by default and can be specified with the
When you use the
ordering parameter, you can specify multiple ordering fields using commas:
?ordering=rarity,attribute, and you can reverse the order using
?ordering=-rarity. Most endpoints allow to order by any field. Some endpoints also allow you to randomize the results with
Fields and Parameters types
Stringmay contain unicode characters, such as Japanese characters but not only.
URLare strings that always start with
Datemay be formatted differently, see each field and parameter individually.
Boolean values in JSON are represented using
false, but boolean values given as parameters in your requests are expected to be
Localized stringwill return different strings depending on the HTTP header
Accept-Language. The list of accepted languages is here. Default language is
Endpoints & Methods
School Idol Festival Game
- Get the list of cards
- Get a card by id
- Get only card ids
- Handling combined events in English version
- Get the list of idols
- Get an idol by name
- Get the list of events
- Get an event by Japanese name
- Get the list of songs
- Get a song by name
- Use itunes ID to play a preview of the songs
- Cached data
School Idol Tomodachi Community
- Get the list of users
- Get a user by username
- Get the authenticated user
- Follow a user
- Unfollow a user
- Get the list of accounts
- Get an account by id
- Edit an account
- Owned Cards
- Get the list of owned cards
- Get an owned card by id
- Add an owned card
- Edit an owned card
- Note regarding adding/editing owned cards
- Delete an owned card
- Get the list of teams
- Get a team by id
- Add a team
- Edit a team
- Delete a team
- Note regarding likes
- Get the list of activities
- Get an activity by id
- Post an activity
- Edit an activity
- Delete an activity
- Like an activity
- Unlike an activity
- Mobile Apps
- Get Android app information
Both get the exact same updates every time something changes on the API. I reply to replies/DMs/emails on both.
If you use the API, please follow one of them to make sure your service doesn't break when we change something.
If you want to follow every single thing about the development behind the API and School Idol Tomodachi, you can also follow the GitHub repository to see all the commits. I also keep the bug tracker updated with the upcoming features and bugs.
See also: API Changelog
General advice when using the API
/at the end of all your API calls to avoid a redirection every time
Don't ask to expand data if you don't need it, it makes everything much slower
Don't ask for a big
page_sizehoping you'll get all you need. Big pages take a lot of time to generate and the server just kinds of stops to generate your page which makes the site very slow for everybody else. Instead, get pages one at a time and try to find a number of elements per page that suits your needs. In general, a good number of elements is 1.5 x what you can see in one view of your application. For instance, if most users see 10 cards when they load the list, ask for 15 every time.
If you have to get a very long long list of elements and then manually search through it in your code, you're doing it wrong. We provide lots of filters, so use them! If you need to filter/search through something very specific and can't find how to do it, contact me, I might update the API for you.
In general, if you have to do a
whilein which you get data from the API (except for pagination), you're doing it wrong. There's probably a way to get the data you need without spamming with queries (and you'll just get kicked out at some point). Example:
If you do something like: 1/ get all the owned cards in the API 2/ for each owned card, get the card in the API
You should do something like: get all the owned cards with the parameter
If there's anything you're not sure about, or if you just want to know if everything is fine before publishing your code, talk to me! I'll always take the time to help.
Apps that use this API
|School Idol Tomodachi Team Builder||765PRO|
|Sukutomo Android app||Arukantara|
|Sukutomo iOs app coming soon||db0|
|SIF Cards Tier List||artonico|
|LoveLive+ Android app||Kevin170113664|
|SIF Card Tiers||dreamsicl|