← Back

Nintendo 3DS API

API Documentation

📊 Statistics

GET /ctr/stats

Retrieve statistics about titles in each category.

Response

{
  "total": 5844,
  "categories": {
    "base": 3515,
    "dlc": 0,
    "dsiware": 1202,
    "updates": 477,
    "videos": 27,
    "virtual-console": 623
  }
}

📁 Categories

GET /ctr/category/:category

List all Title IDs in a specific category.

Parameters

  • category path required - Category name: base, dlc, dsiware, extras, themes, updates, videos, virtual-console

Example Request

GET /ctr/category/base

Response

{
  "category": "base",
  "count": 3515,
  "titles": [
    "0004000000030000",
    "0004000000030100",
    "0004000000030200"
  ]
}

🎮 Game Data

GET /ctr/:tid

Get detailed information about a title by its Title ID, including all available media URLs.

Parameters

  • tid path required - 16-character hexadecimal Title ID
  • fields query optional - Comma-separated list of fields to include in response. Example: name,description,release_date_on_eshop

Example Requests

# Full response
GET /ctr/0004000000030000

# Only specific fields
GET /ctr/0004000000030000?fields=name,description

Example Response

{
  "tid": "0004000000030000",
  "uid": "50010000009504",
  "name": "新・光神話 パルテナの鏡",
  "formal_name": "新・光神話 パルテナの鏡",
  "description": "冥府軍と、飛べない天使ピットの壮大な戦いを描いたシングルプレイ。",
  "release_date_on_eshop": "2013-10-31",
  "product_code": "CTR-N-AKDJ",
  "platform_name": "3DSカード/ダウンロードソフト",
  "region": "Japan",
  "genres": ["アクション", "シューティング"],
  "features": ["インターネット対応", "3D映像対応"],
  "languages": ["日本語"],
  "rating_system": {"name": "CERO", "age": "12"},
  "version": "v0.2.0",
  "disclaimer": "パッケージ版に付属している...",
  "descriptors": [],
  "media": {
    "banner": "http://api.ghseshop.cc/ctr/0004000000030000/banner",
    "icon": "http://api.ghseshop.cc/ctr/0004000000030000/icon",
    "screenshots": {
      "compiled": [
        "http://api.ghseshop.cc/ctr/0004000000030000/screen/1",
        "http://api.ghseshop.cc/ctr/0004000000030000/screen/2"
      ],
      "uncompiled": {
        "upper": [
          "http://api.ghseshop.cc/ctr/0004000000030000/screen_u/1/u"
        ],
        "lower": [
          "http://api.ghseshop.cc/ctr/0004000000030000/screen_u/1/l"
        ]
      }
    },
    "thumbnails": [
      "http://api.ghseshop.cc/ctr/0004000000030000/thumb/1"
    ]
  }
}
GET /ctr/:tid/meta/:meta

Retrieve a specific metadata field for a title.

Parameters

  • tid path required - 16-character hexadecimal Title ID
  • meta path required - Metadata field name (e.g., name, description, release_date_on_eshop)

Example Requests

GET /ctr/0004000000030000/meta/name
GET /ctr/0004000000030000/meta/description
GET /ctr/0004000000030000/meta/release_date_on_eshop

Response

Returns the single metadata value (string, number, object, or array depending on the field).

🖼️ Media Assets

GET /ctr/:tid/media

Get a comprehensive list of all available media for a title.

Response

{
  "metadata": "http://api.ghseshop.cc/ctr/0004000000030000",
  "banner": "http://api.ghseshop.cc/ctr/0004000000030000/banner",
  "icon": "http://api.ghseshop.cc/ctr/0004000000030000/icon",
  "screenshots": {
    "compiled": [
      "http://api.ghseshop.cc/ctr/0004000000030000/screen/1",
      "http://api.ghseshop.cc/ctr/0004000000030000/screen/2"
    ],
    "uncompiled": {
      "upper": [
        "http://api.ghseshop.cc/ctr/0004000000030000/screen_u/1/u"
      ],
      "lower": [
        "http://api.ghseshop.cc/ctr/0004000000030000/screen_u/1/l"
      ]
    }
  },
  "thumbnails": [
    "http://api.ghseshop.cc/ctr/0004000000030000/thumb/1"
  ]
}
GET /ctr/:tid/icon

Get the title's icon image (JPEG format).

Response

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

GET /ctr/:tid/banner

Get the title's banner image (JPEG format).

Response

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

📸 Screenshots

GET /ctr/:tid/screens

Get a list of all available compiled screenshots.

Response

{
  "count": 3,
  "screenshots": [
    "http://api.ghseshop.cc/ctr/0004000000030000/screen/1",
    "http://api.ghseshop.cc/ctr/0004000000030000/screen/2",
    "http://api.ghseshop.cc/ctr/0004000000030000/screen/3"
  ]
}
GET /ctr/:tid/screen/:num

Get a specific compiled screenshot (JPEG format).

Parameters

  • tid path required - 16-character hexadecimal Title ID
  • num path required - Screenshot number

Example Request

GET /ctr/0004000000030000/screen/1

Response

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

GET /ctr/:tid/screen_u

Get a list of all available uncompiled screenshots (upper and lower screens).

Response

{
  "count": {
    "upper": 3,
    "lower": 3,
    "total": 6
  },
  "screenshots": {
    "upper": [
      {"number": 1, "url": "http://api.ghseshop.cc/ctr/0004000000030000/screen_u/1/u"},
      {"number": 2, "url": "http://api.ghseshop.cc/ctr/0004000000030000/screen_u/2/u"}
    ],
    "lower": [
      {"number": 1, "url": "http://api.ghseshop.cc/ctr/0004000000030000/screen_u/1/l"},
      {"number": 2, "url": "http://api.ghseshop.cc/ctr/0004000000030000/screen_u/2/l"}
    ]
  }
}
GET /ctr/:tid/screen_u/:num/:screen

Get an uncompiled screenshot (upper or lower screen) (JPEG format).

Parameters

  • tid path required - 16-character hexadecimal Title ID
  • num path required - Screenshot number
  • screen path required - Screen type: u for upper, l for lower

Example Requests

GET /ctr/0004000000030000/screen_u/1/u  # Upper screen
GET /ctr/0004000000030000/screen_u/1/l  # Lower screen

Response

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

🖼️ Thumbnails

GET /ctr/:tid/thumbs

Get a list of all available thumbnails.

Response

{
  "count": 1,
  "thumbnails": [
    "http://api.ghseshop.cc/ctr/0004000000030000/thumb/1"
  ]
}
GET /ctr/:tid/thumb/:num

Get a specific thumbnail (JPEG format).

Parameters

  • tid path required - 16-character hexadecimal Title ID
  • num path required - Thumbnail number

Example Request

GET /ctr/0004000000030000/thumb/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
  • Categories supported: base, dlc, dsiware, extras, themes, updates, videos, virtual-console
  • Uncompiled screenshots are separated by upper (u) and lower (l) screens
  • API responses use standard HTTP status codes (200, 404, 500)