It’s Here, the New IGDB API

After many months of hard work and sleepless nights we are finally ready to announce the full release of our new major version of the API, dubbed API 3000! Let’s take a look at what all that work was for.

Introducing IGDB API 3000

So What’s Changed

The primary focus of API 3000 has been to give more power to our users by simplifying data querying and provide better control over what data to retrieve with more advanced filtering and searching capabilities.

All the changes we’ve made to the structure of the API as well as all the new features meant that our existing pricing model didn’t make sense anymore and therefore we are introducing a brand new pricing plan.

The Free Tier Even More Free & Updated Pricing

Being a startup ourselves our pricing rationale has always been that if you don’t earn money on your project (e.g. by being open source or in a pre-monetization phase), we don’t want to earn money on you. Are you, on the other hand, earning money on your project that we are feeding with data, then we want a very small slice of those earnings so that we can continue to work with our dream project — IGDB.

As expected, this generosity has been abused to an extent that has had a negative impact on the overall performance of the API and for the rest of our users, e.g. by users who just went in and mass downloaded the entire database, not paying anything even though they were clearly representing financially viable companies or projects.

So to counteract this behaviour we are revising our tiers:

The first tier: Free

In our revised free tier we are merging our old free and hobby tiers, giving it a 10k request limit per month making sure that hobby developers and startup projects have all the data they need. In this tier you are offered community support through our dedicated Discord channel.

The second tier: Pro — 99 USD per month

This tier is directed more towards professional users who have need for more requests (50K per month), additional features such as webhooks and multi querying as well as more kinds of data. This tier is intended towards companies or projects generating revenue. In this tier you are offered email support.

The third tier: Partner Program — Free

This tier includes everything that the Pro tier includes for free and is intended for non-commercial or projects that intend to monetize. In order to apply for this tier you need to regard the following requirements:

  1. Your projects needs to be live.
  2. For consumer oriented projects you will be asked to implement IGDB Login. With IGDB login you allow our community to login into your service using their IGDB credentials.
  3. Data exchange: The data you exchange with us (e.g. game ratings or metadata), we are allowed to share with all of our API users. This way you improve our database and help smaller projects in a way that is mutually beneficial.
  4. Give us credit: By showing our logo, stating that “The data was freely provided by” you give us credit and allow other users to find the API.

The fourth tier: Enterprise

The enterprise tier is fully customizable where we give you access to any data, features and request limits that you require, while having access to dedicated support. This tier is intended for companies and monetized projects.

A New Way to Calculate Requests

Changing the Billing Period

Data Structure/ Renamed Fields

Comparison of fields between API 2000 and 3000

To the left is the website field of API 2000 in the games endpoint, and to the right is the same field in API 3000. Note how in API 3000 each website has an id, this means that you will now be able to select which fields you want to include in your response to a higher degree than before. There is also a new field called ‘trusted’, this is specific for websites and it indicates that a website link is verified to be safe.

Better Error Messages

We hope that you agree that this preferable to some of the old error messages which could look something like this:

Exclude Fields

RIP Scroll Api

Better Filtering Capabilities

The response from this example query will be games that fulfil one or both of two sets or requirements:

  1. Games released for for both PC (6), and PS4 (48) and also has the genre simulator (13).
  2. Games released for for both Switch (130), and PS4 (48) and also has the genre Role-Playing (13).

Another thing that’s new in this example is how the ids are specified for the platforms, for example:

  • [6,48] in the example above means platforms 6 AND 48.
  • (6,48) would be platform 6 OR 48.
  • {6} would be exclusives for platform 6.
  • (6) would be games released for platform 6 but it also includes multiplatform games as long as one of the platforms is the one you specified.

Protocol Buffers

Introducing APICalypse: Probably the Best Querying Language in the World


In order to develop an API with the syntax and power that we wanted we needed to not only develop a whole new API from the ground up but also our very own custom querying language called APICalypse (pun absolutely intended). The goal with APICalypse has from the start been to create a querying language with a low learning curve that is quick to get started with at the same time as it supports advanced queries.

We are really happy and proud of what we have created and therefore we would like to share this with other developers by releasing it as open source in the near future. As a step towards this that the language has its own dedicated website outlining the language. Check it out at

New Documentation

Transitioning to API 3000

We will have a 6 month transition period ending the 30th of June 2019 where both versions of the API are available in order to give our users plenty of time to make any necessary changes to their projects.

The History of the IGDB API

The first version we released of the API was called API 1000, “because every product name sounds cooler with a higher number”. This was written in Ruby on Rails which was the primary language of IGDB back in those days. This was a very basic implementation with limited features and a much more complex structure of the data, more or less mirroring that of our internal database.

The API became more popular than we had ever thought it would be, and this inspired us to start working on a major version upgrade. Naturally we stuck with the naming convention and released API 2000. This version focused more heavily on user friendliness, with a more understandable data structure and much more powerful searching and filtering capabilities. This was also when we started working with the API ourselves for the first time in our own products, our apps. This helped us find a ton of improvements and new features to add to the API. The expander functionality is one such feature. This version was also when we came to our senses and started moving away from Ruby on Rails and started to explore other languages to use instead. One of the languages we explored and ended up using for API 2000 was RUST. Using RUST increased the performance of the API and provided lower response times since the code is very fast and more memory efficient. But like every other iterative project there were still bugs and limitations that we weren’t able to solve without making breaking changes, which leads us to API 3000 (Yeah we’re kinda stuck with that naming convention now).

With API 3000 we decided to pull out all the stops and are aiming at providing the most powerful gaming API ever made. To make this possible we built our own custom querying language from scratch called APICalypse.

API 3000 is written in Kotlin which is slowly but surely becoming our language of choice here at IGDB. While it is based on the Java Virtual Machine it is not burdened by over 20 years of backwards compatibility like Java is. This together with the possibility of using any Java library makes it a modern language with really nice syntax while still being very safe and reliable to work with.

We mentioned that API 2000 was the first version of the API that we used ourselves for any of our products, with API 3000 we are taking that to the next level as well and it will be what’s supplying the new redesigned with all the information you can see there. This will push us even more to make this the best API possible for our users since we’ll be able to find bugs and come up with new features when we are using it ourselves.

What’s Next?

Instead we will be shifting our attention towards gathering more data and taking steps to ensure that we maintain a high level of quality when it comes to the data that we offer through our API and website.

And on that note we hope that you are just as excited as we are for this new API. Happy coding!

If you want to keep track of how IGDB and the API is evolving as well as share your thoughts and suggestions, Discord is a good place to grab us for a chat! If not feel free to shoot us an email!


With the biggest gaming database online, we strive to…


With the biggest gaming database online, we strive to become the ultimate source for the true gamer. Here you'll find news, updates, announcements, interviews and more, all related the video game industry.

Jerome Richer De Forges

Written by | Design, product & marketing. Overall gaming dude!


With the biggest gaming database online, we strive to become the ultimate source for the true gamer. Here you'll find news, updates, announcements, interviews and more, all related the video game industry.