← Back

Nintendo Switch API

API Documentation

📊 Statistics

GET /nx/stats

Retrieve comprehensive statistics about the Nintendo Switch game library.

Response

{
  "success": true,
  "data": {
    "total_games": 15420,
    "last_sync": "2025-10-12T10:30:00Z",
    "by_type": { "base": 12000, "update": 2500, "dlc": 920 },
    "games_vs_demos": { "games": 14800, "demos": 620 },
    "by_region": { "US": 8500, "EU": 4200, "JP": 2720 },
    "by_console": { "nx": 15420 },
    "top_publishers": [
      { "name": "Nintendo", "games_count": 450 }
    ],
    "recent_updates": [
      { "tid": "0100ABC001234000", "name": "Example Game", "updated_at": "..." }
    ]
  }
}

🎮 Game Data

GET /nx/:tid

Get detailed information about a game by its Title ID.

Parameters

  • tid path required - 16-character hexadecimal Title ID
  • lang query optional - Language code for descriptions (en, fr, ja, es, de, nl, pt, it, zh, ko, ru). Default: en
  • fields query optional - Comma-separated list of fields to include in response. Always includes id. Example: name,description,publisher

Example Requests

# Full response
GET /nx/0100ABC001234000?lang=en

# Only specific fields
GET /nx/0100ABC001234000?fields=name,description
GET /nx/0100ABC001234000?fields=description
GET /nx/0100ABC001234000?fields=name,publisher,releaseDate,icon

# Combine with language
GET /nx/0100ABC001234000?lang=fr&fields=name,description

Example Response

{
  "description": "Full game description...",
  "id": "0100ABC001234000",
  "name": "The Legend of Zelda: Breath of the Wild",
  "publisher": "Nintendo",
  "releaseDate": "2017-03-03",
  "version": 196608,
  "category": ["Adventure", "Action"],
  "developer": "Nintendo EPD",
  "intro": "Brief summary...",
  "isDemo": false,
  "languages": ["en", "fr", "es", "de", "it"],
  "nsuId": 70010000000025,
  "numberOfPlayers": 1,
  "ratingContent": ["Violence"],
  "region": "US",
  "rightsId": "0100ABC00123400000000000000000AB",
  "console": "nx",
  "type": "base",
  "icon": "https://api.nlib.cc/nx/0100ABC001234000/icon",
  "banner": "https://api.nlib.cc/nx/0100ABC001234000/banner",
  "screens": {
    "count": 8,
    "screenshots": [
      "https://api.nlib.cc/nx/0100ABC001234000/screen/1",
      "https://api.nlib.cc/nx/0100ABC001234000/screen/2",
      "https://api.nlib.cc/nx/0100ABC001234000/screen/3"
    ]
  }
}

Example Filtered Response

# GET /nx/0100ABC001234000?fields=name,description

{
  "id": "0100ABC001234000",
  "name": "The Legend of Zelda: Breath of the Wild",
  "description": "Full game description..."
}

Performance Notes

The fields parameter optimizes both SQL queries and filesystem operations. Only requested fields are selected from the database, and media checks are skipped if not requested. This can reduce response time from ~15ms to ~3ms and response size from 2-5 KB to ~100-200 bytes.

Media URLs (icon, banner, screens) are only included if the corresponding media files are available.

đŸ–ŧī¸ Media Assets

GET /nx/:tid/icon/:width?/:height?

Retrieve the game icon with optional resizing (JPEG format). Icons are always square.

Parameters

  • width path optional - Size in pixels (30-4096). Rounded to nearest 10 for cache optimization.
  • height path optional - Must equal width if provided. Icons are always square.

Examples

GET /nx/0100ABC001234000/icon          # Original size
GET /nx/0100ABC001234000/icon/32       # 30x30 (rounded)
GET /nx/0100ABC001234000/icon/64       # 60x60 (rounded)
GET /nx/0100ABC001234000/icon/256      # 260x260 (rounded)
GET /nx/0100ABC001234000/icon/256/256  # 260x260 (explicit)
GET /nx/0100ABC001234000/icon/512/512  # 510x510 (rounded)
GET /nx/0100ABC001234000/icon/1024     # 1020x1020 (rounded)

Response

Returns raw JPEG image data with Content-Type: image/jpeg. Icons are always square. Sizes are automatically rounded to the nearest 10 pixels for cache optimization (e.g., 32->30, 64->60, 67->70). Header X-Size-Rounded shows the actual size served.

GET /nx/:tid/banner/:size?
GET /nx/:tid/banner/:width/:height

Retrieve the game banner with optional size selection (JPEG format).

Parameters

  • size path optional - Banner size: 240/240p, 360/360p, 480/480p, 540/540p, 720/720p, 1080/1080p, or specific widths. Default: 1920x1080
  • width path optional - Custom width in pixels (100-1920)
  • height path optional - Custom height in pixels (100-1080)

Examples (Shortcuts)

GET /nx/0100ABC001234000/banner         # 1920x1080 (default)
GET /nx/0100ABC001234000/banner/1080p   # 1920x1080
GET /nx/0100ABC001234000/banner/720p    # 1280x720
GET /nx/0100ABC001234000/banner/540p    # 960x540
GET /nx/0100ABC001234000/banner/480p    # 854x480
GET /nx/0100ABC001234000/banner/360p    # 640x360
GET /nx/0100ABC001234000/banner/240p    # 426x240

Examples (Custom dimensions)

GET /nx/0100ABC001234000/banner/1280/720   # Custom 1280x720
GET /nx/0100ABC001234000/banner/1920/1080  # Custom 1920x1080
GET /nx/0100ABC001234000/banner/800/450    # Custom 800x450
GET /nx/0100ABC001234000/banner/640/360    # Custom 640x360

Response

Returns raw JPEG image data with Content-Type: image/jpeg. Supports shortcuts (240p-1080p) or custom dimensions (100-1920 x 100-1080).

GET /nx/:tid/screens

List all available screenshots for a game.

Response

{
  "count": 8,
  "screenshots": [
    "https://api.nlib.cc/nx/0100ABC001234000/screen/1",
    "https://api.nlib.cc/nx/0100ABC001234000/screen/2",
    "https://api.nlib.cc/nx/0100ABC001234000/screen/3"
  ]
}

Screenshot URLs are dynamically generated based on the API domain.

GET /nx/:tid/screen/:index

Retrieve a specific screenshot by index (JPEG format).

Parameters

  • index path required - Screenshot index (starts at 1)

Example

GET /nx/0100ABC001234000/screen/1

Response

Returns raw JPEG image data with Content-Type: image/jpeg

â„šī¸ Information

📝 Important Notes

  • All Title IDs are automatically converted to uppercase
  • Endpoints can be called with or without a trailing slash
  • All images are served in JPEG format
  • Icons support optional resizing (30-4096 pixels, rounded to nearest 10) and are always square
  • Banners support multiple sizes: 240p, 360p, 480p, 540p, 720p, 1080p
  • Banners support custom dimensions: /banner/:width/:height (100-1920 x 100-1080)
  • Resized images are cached on disk for optimal performance
  • Screenshot URLs are generated dynamically based on the API domain
  • Database is automatically synchronized with TitleDB
  • API responses use standard HTTP status codes (200, 404, 500)

🌍 Supported Languages

en English fr French ja Japanese es Spanish de German nl Dutch pt Portuguese it Italian zh Chinese ko Korean ru Russian