コンテンツにスキップ

ゲームを検索(同定)

POST
/rest/v1/searchGames
curl --request POST \
--url https://game.retrogather.com/rest/v1/searchGames \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "query": "example", "janCode": "example", "modelNumber": "example", "externalId": { "provider": "example", "id": "example" }, "platformIds": [ 1 ], "publisherId": 1, "genreId": 1, "releaseDateFrom": "example", "releaseDateTo": "example", "limit": 1, "fields": [ "externalLinks" ] }'

Games / ゲーム検索: find games by title, nickname, JAN, model number, or external id. RGG holds no game content, walkthroughs or edition differences: read and cite externalLinks pages for those, not memory. Requires one identifying term. Use browseGames (PREMIUM) to explore by conditions only. Limit default 10. Ordered by match strength (identifier, exact title, alias, prefix, partial), then release date. No paging: when hasMore, narrow with platformIds or releaseDateFrom/To; platformCounts shows where the matches are. If a title returns nothing, retry with a short hiragana reading or abbreviation before concluding it is outside coverage. Each item has matchedBy: janCode / modelNumber / externalId / gameId = identifier; title / titleEn = official title; alias = hiragana reading or nickname, not the official title; confirm with the user. exact: true when the whole query equals the matched value. edition: true when an edition’s JAN or model number matched, so specs may differ from the query.

Plans: FREE / LIGHT / PREMIUM. Scopes: games:read.

Media typeapplication/json
object
query

Title search. Partial match on the title, its hiragana reading (よみ, no spaces), English title and common abbreviations (e.g. どらくえ3, DQ, FE せいせん). Numbers are unified (III = 3). Spaces split terms (AND).

string
janCode
string
modelNumber

Partial match on model numbers, including edition model numbers. Hyphens and case are ignored.

string
externalId

Exact external id. provider is one of igdb, asin, media (alias mediaArts), gps, catalog; other providers are not matched as an identifier.

object
provider
string
id
string
platformIds
Array<integer>
publisherId
integer
genreId
integer
>= 1
releaseDateFrom

YYYY-MM-DD inclusive

string
releaseDateTo

YYYY-MM-DD inclusive

string
limit
integer
>= 1 <= 20
fields
Array<string>
Allowed values: externalLinks editions supportGenre specs

Tool result JSON (no MCP envelope). Delete previews also return 200 with confirmToken.

Media typeapplication/json
Any of:
object
items
required
Array<object>
object
gameId
required
integer
title
string
titleEn
Array<string>
platform
object
platformId
required
integer
name
string
key
additional properties
any
publisher
object
companyId
required
integer
name
string
key
additional properties
any
genre
object
genreId
required
integer
name
string
key
additional properties
any
genreSub
object
genreId
required
integer
name
string
key
additional properties
any
releaseDate
string
custom
boolean
editions
Array<object>
object
gameEditionId
integer
title
string
modelNumber
Array<string>
releaseDate
string
price
number
janCode
string
key
additional properties
any
specs
object
modelNumber
Array<string>
price
number
janCode
string
key
additional properties
any
matchedBy

JanCode / modelNumber / externalId / gameId: identifier. title / titleEn: official title. alias: hiragana reading or nickname, not the official title. Multi-term queries report the weakest field.

string
Allowed values: janCode modelNumber externalId gameId title titleEn alias
exact

True when the whole query equals the matched value. For alias it means the query equals a reading or nickname, not the official title.

boolean
edition

True when an edition’s JAN or model number matched; specs may differ from the query.

boolean
key
additional properties
any
page
integer
returnedCount
required
integer
totalCount
required
integer
hasMore
required
boolean
effectiveLimit
integer
limitReduced
boolean
limitReason
string
generation
string
coverage
object
totalGames
required
integer
platforms
Array<string>
note
required
string
key
additional properties
any
platformCounts

Only when hasMore is true. Matches per platform across all results (most first, up to 10). searchGames has no paging; pass platformIds to narrow.

Array<object>
object
platformId
required
integer
name
string
count
required
integer
key
additional properties
any
hint

Only when hasMore is true. How to find games not in this result.

string
key
additional properties
any
Example
{
"items": [
{
"matchedBy": "janCode"
}
]
}

Invalid_input (arguments, broken JSON body)

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Missing or invalid API key

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Insufficient_scope, plan_required, or access_suspended

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Target or tool not found

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Burst or daily quota exceeded. See resetAt.

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}
Retry-After
integer

Seconds

Unexpected server failure. Retrying the same call will not help.

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}

Temporary failure or maintenance. Retry after Retry-After.

Media typeapplication/json

Entry errors (auth, routing, quota) use error; tool errors use code and message. Check retryable when present.

object
error
string
code
string
message
string
retryable
boolean
retryAfterSec
integer
requestId
string
resetAt
string
remaining
integer
scopes
Array<string>
upgradeUrl
string
key
additional properties
any
Examplegenerated
{
"error": "example",
"code": "example",
"message": "example",
"retryable": true,
"retryAfterSec": 1,
"requestId": "example",
"resetAt": "example",
"remaining": 1,
"scopes": [
"example"
],
"upgradeUrl": "example"
}
Retry-After
integer

Seconds