LoveLive! School Idol API

deby edited this page Jan 13, 2017 · 45 revisions

school idol tomodachi

List of features

School Idol Tomodachi Cards

School Idol Tomodachi Profile

School Idol Tomodachi Activities

School Idol Tomodachi Events

School Idol Festival, the game

Contact us

Help us!

Developers

Clone this wiki locally

LoveLive! School Idol API Logo

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.

Technical Notes

It returns JSON objects that you can easily parse and use in your own tools or services, using any programming language or library. It enables CORS, so you can use it in Javascript as well.

Missing or null fields

The guaranteed JSON fields are marked with :white_check_mark:. 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.

Pagination

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 page_size parameter.

Ordering

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 ?ordering=random.

Fields and Parameters types
  • String may contain unicode characters, such as Japanese characters but not only.
  • URL are strings that always start with http://
  • Date may be formatted differently, see each field and parameter individually.
  • Boolean values in JSON are represented using true and false, but boolean values given as parameters in your requests are expected to be True or False.
  • Localized string will return different strings depending on the HTTP header Accept-Language. The list of accepted languages is here. Default language is en.

Endpoints & Methods

School Idol Festival Game
  1. Cards
    1. Objects
    2. Get the list of cards
    3. Get a card by id
    4. Get only card ids
    5. Handling combined events in English version
  2. Idols
    1. Objects
    2. Get the list of idols
    3. Get an idol by name
  3. Events
    1. Objects
    2. Get the list of events
    3. Get an event by Japanese name
  4. Songs
    1. Objects
    2. Get the list of songs
    3. Get a song by name
    4. Use itunes ID to play a preview of the songs
  5. Cached data
School Idol Tomodachi Community
  1. Users
    1. Objects
    2. Get the list of users
    3. Get a user by username
    4. Get the authenticated user
    5. Follow a user
    6. Unfollow a user
  2. Accounts
    1. Objects
    2. Get the list of accounts
    3. Get an account by id
    4. Edit an account
  3. Owned Cards
    1. Objects
    2. Get the list of owned cards
    3. Get an owned card by id
    4. Add an owned card
    5. Edit an owned card
    6. Note regarding adding/editing owned cards
    7. Delete an owned card
  4. Teams
    1. Objects
    2. Get the list of teams
    3. Get a team by id
    4. Add a team
    5. Edit a team
    6. Delete a team
  5. Activities
    1. Objects
    2. Note regarding likes
    3. Get the list of activities
    4. Get an activity by id
    5. Post an activity
    6. Edit an activity
    7. Delete an activity
    8. Like an activity
    9. Unlike an activity
  6. Mobile Apps
    1. Objects
    2. Get Android app information
Authentication
  1. Get your access
  2. Learn more about authentication
  3. List of methods that require authentication

API Updates

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

  • Add slashes / 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_size hoping 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 for or a while in 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 expand_card
  • 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

App Author
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
Waifu Simulator vanstorm9
SIF Card Tiers dreamsicl