API
Changelog
October 31 2025
- Updated design.
- Added start page with lookup search field.
- Added API v2.
- Added /create endpoint
- Added barcodes with game matches, now totaling 100,000 barcodes matched with 20,000 unique games.
November 5 2024
- Added developer account system.
- Added preliminary pricing options.
November 3 2024
- Added initial dataset of games with cutoff date October 30 2024.
- Published v1 of the API.
Get Started
ScanDex launched in November 2024. During this initial phase, the number of matched games may be limited; however, given the challenges of identifying games through general barcode databases, we believe it’s more beneficial to build a robust resource for the future than to do nothing. You are welcome to use any other barcode database as a fallback in addition to the ScanDex API. If both sources return no results, we encourage you to use the Add Suggestion endpoint to help us expand and refine our dataset.
BASE URL https://scandex.gamery.app/api/v2
Authorization
To use the API, include the Authorization header with your unique access token in each request.
| Header | Value |
|---|---|
| Authorization Required | XXXXXXXXXX |
Lookup
GET /lookup
Look for a game with a given barcode value.
Example barcode: 0711719577966
Note: Because UPC codes are compatible with EAN, we can return a game even if we do not explicitly have the EAN code for a game. As an example, if you provide the EAN 0711719577966 we will still return a game, even though we just have the UPC code 711719577966 in our database, because codes with a leading zero are interchangeable.
| Parameter | Type | Description |
|---|---|---|
| value Required | Number | EAN or UPC barcode value. |
Response
When you have sent your barcode value, there are two possibilities for what ScanDex might respond with.
If ScanDex does not yet know about the barcode you have sent, you will receive a response message with the status code 404. You may want to use the Add Suggestion endpoint afterwards.
{
"message": "This barcode does not exist yet."
}
If ScanDex knows about this barcode, but no matching IGDB data is available yet, you will receive this response.
{
"id": 178182,
"source": "import",
"status": "unmatched",
"igdb_metadata": null
}
In the best case ScanDex knows about your barcode and already matched it to a IGDB game. Then, it will return a result with the status code 200 and the corresponding metadata.
{
"id": 87859,
"source": "import",
"igdb_metadata": {
"id": 26758,
"name": "Super Mario Odyssey",
"platform": {
"id": 130,
"name": "Nintendo Switch"
}
}
}
| Property | Type | Description |
|---|---|---|
| id | Number | The internal identifier of this barcode lookup. |
| source | String | Either user (when this match was added using the Add Suggestion endpoint) or import. |
| igdb_metadata.id | Number | The id of the game in the IGDB API. See: https://api-docs.igdb.com/#game |
| igdb_metadata.name | String | The name of the game in the IGDB API. See: https://api-docs.igdb.com/#game |
| igdb_metadata.platform.id | Number | The id of the game's platform in the IGDB API. See https://api-docs.igdb.com/#platform. |
| igdb_metadata.platform.name | String | The name of the game's platform in the IGDB API. See https://api-docs.igdb.com/#platform. |
Add Matching Data
POST /create
If the Lookup endpoint does not return a result, you may display a search interface allowing users to manually search for the game via the IGDB API. You can then submit the scanned barcode and the selected game to ScanDex to help improve the database.
| Parameter | Type | Description |
|---|---|---|
| igdb_id Required | Number | The suggested IGDB id for the game. |
| platform_id Required | Number | The suggested IGDB platform id. |
| platform Required | String | The suggested IGDB platform name. |
| name Required | String | The suggested IGDB game name. |
| value Required | Number | EAN or UPC barcode value (between 8 and 14 digits). |