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).