apyhub
Back
▣ DATA EXTRACTION · DEVELOPER TOOLS

GameBrain API

What it does

GameBrain lets you search for games, fetch full game details, get similar titles, and pull related news in one place. Send a game ID or a search query, and get back structured game metadata that you can use in catalogs, recommendation features, storefronts, or content pages.

Use Search Games to query by text and refine results with filters, sorting, offset, and limit. The response includes matching games plus total counts, sorting details, active filters, and optional filter and sorting options. Get Game Details returns the fields you need for a single title, including name, link, tags, genre, image, x_url, genres, offers, rating, themes, videos, gameplay, playtime, developer, platforms, play_modes, description, screenshots, release_date, micro_trailer, official_stores, short_description, and adult_only.

When you need discovery data, Get Similar Games returns a results list with IDs, names, years, genres, images, ratings, gameplay links, screenshots, micro trailers, adult-only flags, and short descriptions. Get Game Suggestions is a lighter lookup for autocomplete-style matching, and Get Game News returns news items with title, url, source, published date, and optional image for a game ID.

GameBrain is a fit for game search experiences, recommendation widgets, editorial tooling, and product pages that need up-to-date game metadata without scraping multiple sources.

▣ ENDPOINT 01 / 05
GET
Search Games
https://api.eu.apyhub.com/skycraft/gamebrain-api/games

QUICKSTART

GUIDE

Quickstart

Search for games with the required query parameters and return the first page of results.

curl -X GET "https://api.eu.apyhub.com/skycraft/gamebrain-api/games?query=rpg%20for%20PC&offset=0&limit=10&filters=%5B%5D&sort=computed_rating&sort-order=asc&generate-filter-options=true" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with limit, query, offset, results, sorting, total_results, filter_options, sorting_options, and active_filter_options fields.

  • limit, offset, and total_results are integers.
  • query is the search string you sent.
  • results is an array of game objects.
  • sorting is an object with key and direction.
  • filter_options, sorting_options, and active_filter_options are arrays describing available and active filters/sorting.
{
  "sorting": { "key": null, "direction": null },
  "active_filter_options": [
    { "key": "genre", "connection": "AND", "values": [ { "match": "rpg", "value": "role_playing" } ] },
    { "key": "platform", "connection": "AND", "values": [ { "match": "pc", "value": "pc" } ] }
  ],
  "query": "rpg for pc",
  "total_results": 47198,
  "limit": 3,
  "offset": 0,
  "results": [
    {
      "id": 104935, "year": 2023, "name": "Baldur's Gate 3", "genre": "Tactical Role Playing",
      "image": "https://img.gamebrain.co/games/267/baldurs_gate_3_larian_2023_93.webp",
      "link": "https://gamebrain.co/game/baldurs-gate-3",
      "rating": { "mean": 0.9589789637681159, "count": 708249 },
      "adult_only": true,
      "screenshots": [ "https://img.gamebrain.co/games/195/baldurs_gate_3_larian_2020_112.jpg" ],
      "micro_trailer": "https://cdn.akamai.steamstatic.com/steam/apps/256932354/microtrailer.webm",
      "gameplay": "https://www.youtube-nocookie.com/embed/FXyldfVAF9A",
      "short_description": null
    }
  ],
  "sorting_options": [
    { "name": "Rating", "sort": "DESC", "key": "computed_rating" },
    { "name": "Price", "sort": "ASC", "key": "price" },
    { "name": "Release Date", "sort": "DESC", "key": "release_date" }
  ]
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Searches for games using the provided query, paging, sorting, and filter parameters, then returns a JSON object containing the matching results plus pagination and option metadata.

Query Parameter(s)

AttributeTypeDescription
sortStringSort key. String up to 300 characters.
limitIntegerPage size. Integer (int32). Default: 10.
queryStringSearch text. String up to 300 characters.
offsetIntegerResult offset for paging. Integer (int32). Default: 0.
filtersStringFilter payload encoded as a string. String up to 3000 characters. Default: [].
sort-orderENUMSort direction. Allowed values: asc, desc. Default: asc.
generate-filter-optionsBooleanWhether to include generated filter options. Default: true.

Response

Returns a JSON object with pagination fields, search results, sorting metadata, and filter metadata. Top-level fields include limit and offset integers, query as a string, results as an array of game objects, sorting as an object, total_results as an integer, filter_options as an array, sorting_options as an array, and active_filter_options as an array.

ParameterTypeDescription
limitIntegerPage size used in the response.
queryStringSearch text used in the response.
offsetIntegerResult offset used in the response.
resultsObject ArrayMatching games. Each item includes id, link, name, year, genre, image, rating.mean, rating.count, gameplay, adult_only, screenshots, micro_trailer, and short_description. screenshots is an array of URI strings with up to 100 items.
sortingObjectSorting metadata. Includes key and direction, both nullable strings.
total_resultsIntegerTotal number of matching results.
filter_optionsObject ArrayAvailable filter options. Each item includes key, name, and values; each value item includes key, name, and count. Both arrays are limited to 100 items.
sorting_optionsObject ArrayAvailable sorting options. Each item includes key, name, and sort. Limited to 100 items.
active_filter_optionsObject ArrayActive filter options. Each item includes key, values, and connection; each value item includes match and value. Both arrays are limited to 100 items.
▣ ENDPOINT 02 / 05
GET
Get Game Suggestions
https://api.eu.apyhub.com/skycraft/gamebrain-api/games/suggestions

QUICKSTART

GUIDE

Quickstart

Search for games by query and limit the number of matches returned.

curl -X GET "https://api.eu.apyhub.com/skycraft/gamebrain-api/games/suggestions?query=gt&limit=10" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with a results array. Each item in results is an object that may include id, link, name, year, genre, image, rating (with mean and count), and adult_only.

{
  "results": [
    {
      "id": 123,
      "link": "https://example.com/game/123",
      "name": "Example Game",
      "year": 2024,
      "genre": "Action",
      "image": "https://example.com/image.jpg",
      "rating": { "mean": 4.5, "count": 120 },
      "adult_only": false
    }
  ]
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Returns game suggestions matching a query string, limited by the requested number of results. The response contains a JSON object with a results array of game objects.

Query Parameter(s)

AttributeTypeDescription
limitIntegerMaximum number of suggestions to return. Default: 10.
queryStringSearch text used to find matching game suggestions. Max length: 300.

Response

Returns a JSON object with a results array field. Each item in results is an object containing id (integer), link (string), name (string), year (number), genre (string), image (string URI), rating (object with mean and count number fields), and adult_only (boolean). The results array can contain up to 100 items.

AttributeTypeDescription
resultsObject ArrayArray of game suggestion objects. Each item may include:
id — Integer
link — String
name — String
year — Number
genre — String
image — String URI
rating — Object with mean and count number fields
adult_only — Boolean
Maximum items: 100.
▣ ENDPOINT 03 / 05
GET
Get Game Details
https://api.eu.apyhub.com/skycraft/gamebrain-api/games/details/:id

QUICKSTART

GUIDE

Quickstart

Fetch a game by its numeric id path parameter.

curl -X GET "https://api.eu.apyhub.com/skycraft/gamebrain-api/games/details/:id" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with fields such as id (integer), link (URI), name (string), and short_description (string), along with other optional game metadata when available.

{
  "id": 104935,
  "name": "Baldur's Gate 3",
  "image": "https://img.gamebrain.co/games/267/baldurs_gate_3_larian_2023_93.webp",
  "image_aspect_ratio": 1.0,
  "gameplay": "https://www.youtube-nocookie.com/embed/FXyldfVAF9A",
  "link": "https://gamebrain.co/game/baldurs-gate-3",
  "x_url": "https://twitter.com/baldursgate3",
  "rating": { "mean": 0.9589789637681159, "count": 708249, "mean_players": 0.967813, "count_players": 708180, "mean_critics": 0.9501449275362318, "count_critics": 69 },
  "description": "An ancient evil has returned to Baldur's Gate, intent on devouring it from the inside out. The fate of Faerun lies in your hands. Alone, you may resist. But together, you can overcome.",
  "short_description": "An ancient evil has returned to Baldur's Gate, intent on devouring it from the inside out. The fate of Faerun lies in your hands. Alone, you may resist. But together, you can overcome.",
  "release_date": "2023-12-08",
  "developer": "Larian Studios",
  "platforms": [ { "value": "gog_com", "name": "Gog Com" }, { "value": "pc", "name": "PC" } ],
  "genres": [ { "value": "role_playing", "name": "Role Playing" } ],
  "genre": "Tactical Role Playing",
  "adult_only": true,
  "screenshots": [ "https://img.gamebrain.co/games/195/baldurs_gate_3_larian_2020_112.jpg" ],
  "videos": [ "https://www.youtube-nocookie.com/embed/t0uYhTLPGLQ" ],
  "twitch_videos": [ { "id": "AbnegatePlayfulPelicanVoHiYo-5roWs9yGqWTZsxot", "url": "https://www.twitch.tv/cohhcarnage/clip/AbnegatePlayfulPelicanVoHiYo-5roWs9yGqWTZsxot", "creator_name": "TheCombatantWombat", "view_count": 229815 } ],
  "offers": [ { "price": { "value": 59.99, "currency": "USD", "initial": 59.99, "discount_percent": 0.0 }, "store_name": "steam", "platform": "PC", "url": "https://store.steampowered.com/app/1086940" } ],
  "micro_trailer": "https://cdn.akamai.steamstatic.com/steam/apps/256932354/microtrailer.webm"
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves the details for a single game identified by its numeric id. The response returns a JSON object containing the game’s core metadata and related collections such as tags, offers, ratings, media links, and release information.

Path Parameter(s)

AttributeTypeDescription
idIntegerGame identifier as an int32.

Response

Returns a JSON object with game detail fields such as id, link, name, and several optional collections and nested objects. The success response is the game record itself, not a wrapper object.

ParameterTypeDescription
idIntegerGame identifier.
linkStringGame page URL. Format: URI.
nameStringGame name.
tagsString ArrayList of tag strings. Up to 100 items.
genreStringGame genre.
imageStringImage URL. Format: URI.
x_urlStringURL in URI format.
genresObject ArrayList of genre objects. Up to 100 items. Each item includes name and value.
genres[].nameStringGenre name.
genres[].valueStringGenre value.
offersObject ArrayList of offer objects. Up to 100 items. Each item includes url, price, title, platform, and store_name.
offers[].urlStringOffer URL. Format: URI.
offers[].priceObjectOffer price details, including nested fields value, initial, currency, and discount_percent.
offers[].price.valueNumberCurrent price value.
offers[].price.initialNumberInitial price value.
offers[].price.currencyStringCurrency code or symbol.
offers[].price.discount_percentNumberDiscount percentage.
offers[].titleStringOffer title.
offers[].platformStringPlatform name.
offers[].store_nameStringStore name.
ratingObjectRating summary, including mean, count, mean_critics, mean_players, count_critics, and count_players.
rating.meanNumberAverage rating. Nullable.
rating.countIntegerTotal rating count.
rating.mean_criticsNumberAverage critic rating. Nullable.
rating.mean_playersNumberAverage player rating. Nullable.
rating.count_criticsIntegerCritic rating count.
rating.count_playersIntegerPlayer rating count.
themesObject ArrayList of theme objects. Up to 100 items. Each item includes name and value.
themes[].nameStringTheme name.
themes[].valueStringTheme value.
videosString ArrayList of video URLs. Format: URI. Up to 100 items.
gameplayStringGameplay URL. Format: URI.
playtimeObjectPlaytime summary, including max, min, mean, median, mentions, and percentiles.
playtime.maxIntegerMaximum playtime.
playtime.minIntegerMinimum playtime.
playtime.meanNumberMean playtime.
playtime.medianIntegerMedian playtime.
playtime.mentionsIntegerNumber of playtime mentions.
playtime.percentilesString ArrayPercentile values as integers. Up to 100 items.
developerStringDeveloper name.
platformsObject ArrayList of platform objects. Up to 100 items. Each item includes name and value.
platforms[].nameStringPlatform name.
platforms[].valueStringPlatform value.
adult_onlyBooleanIndicates whether the game is adult-only.
play_modesObject ArrayList of play mode objects. Up to 100 items. Each item includes name and value.
play_modes[].nameStringPlay mode name.
play_modes[].valueStringPlay mode value.
descriptionStringGame description.
screenshotsString ArrayList of screenshot URLs. Format: URI. Up to 100 items.
release_dateStringRelease date in date format.
micro_trailerStringMicro-trailer URL. Format: URI.
official_storesObject ArrayList of official store objects. Up to 100 items. Each item includes url and source.
official_stores[].urlStringStore URL. Format: URI.
official_stores[].sourceStringStore source.
short_descriptionStringShort game description.
image_aspect_ratioNumberCover image aspect ratio (width/height).
twitch_videosObject ArrayTwitch clips referencing the game. Each item includes id, url, embed_url, thumbnail_url, title, creator_name, view_count, duration, language, created_at, fetched_at, type.
▣ ENDPOINT 04 / 05
GET
Get Similar Games
https://api.eu.apyhub.com/skycraft/gamebrain-api/games/:id/similar

QUICKSTART

GUIDE

Quickstart

Fetch game records for a specific id, with limit sent as a query parameter.

curl -X GET "https://api.eu.apyhub.com/skycraft/gamebrain-api/games/:id/similar?limit=10" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with a results array. Each item in results is an object that may include fields like id, link, name, year, genre, image, rating, gameplay, adult_only, screenshots, micro_trailer, and short_description.

{
  "results": [
    {
      "id": 378311,
      "year": 2017,
      "name": "Divinity: Original Sin 2",
      "genre": "Tactical Role Playing",
      "image": "https://img.gamebrain.co/games/668/divinity_original_sin_2_larian_2017_7.webp",
      "link": "https://gamebrain.co/game/divinity-original-sin-2",
      "rating": { "mean": 0.9363501136069805, "count": 89618 },
      "adult_only": true,
      "screenshots": [ "https://img.gamebrain.co/games/718/divinity_original_sin_ii_larian_2018_5.jpg" ],
      "micro_trailer": "https://video.akamai.steamstatic.com/store_trailers/435150/121883/ccbcafb42a53360716b3c81a97ef8398bb580cc0/1750530604/dash_h264.mpd",
      "gameplay": "https://video.akamai.steamstatic.com/store_trailers/435150/121883/ccbcafb42a53360716b3c81a97ef8398bb580cc0/1750530604/dash_h264.mpd",
      "short_description": null
    }
  ]
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Returns a list of games similar to the game identified by the path id. The number of results returned is controlled by the limit query parameter.

Path Parameter(s)

AttributeTypeDescription
idIntegerThe game identifier, formatted as an int32.

Query Parameter(s)

AttributeTypeDescription
limitIntegerMaximum number of similar games to return. Default: 10. Formatted as an int32.

Response

Returns a JSON object with a results array field. Each item in results is an object describing a similar game, including fields such as id, link, name, year, genre, image, rating, gameplay, adult_only, screenshots, micro_trailer, and short_description.

AttributeTypeDescription
resultsObject ArrayArray of similar game objects. Each object may include id, link, name, year, genre, image, rating, gameplay, adult_only, screenshots, micro_trailer, and short_description. results contains at most 100 items.
▣ ENDPOINT 05 / 05
GET
Get Game News
https://api.eu.apyhub.com/skycraft/gamebrain-api/games/:id/news

QUICKSTART

GUIDE

Quickstart

Fetch the news list for a given game ID, using the required id path parameter and pagination query params.

curl -X GET "https://api.eu.apyhub.com/skycraft/gamebrain-api/games/:id/news" \
  -H "apy-token: $APY_TOKEN"

What you'll get back

Returns a JSON object with a news array. Each item in news is an object with title, url, source, and published fields; image may also be present.

{
  "news": [
    {
      "title": "Baldur's Gate 3 dev worries for Fallout: New Vegas studio Obsidian as Bethesda takes over management",
      "url": "https://www.gamesradar.com/games/fallout/baldurs-gate-3-publishing-lead-worries-for-fallout-new-vegas-dev-obsidian-as-bethesda-takes-over-management-of-the-studio-says-he-cant-imagine-that-feels-great",
      "source": "gamesradar.com",
      "image": "https://cdn.mos.cms.futurecdn.net/Dff8hpPZC9qpm7ZSGunL7N-1920-80.jpg",
      "published": "2026-09-23"
    },
    {
      "title": "GTA 6 won't beat the GOTY record set by Baldur's Gate 3 and Clair Obscur: Expedition 33",
      "url": "https://www.gamesradar.com/games/grand-theft-auto/gta-6-will-not-be-eligible-to-complete-baldurs-gate-3-and-clair-obscur-expedition-33s-big-5-goty-sweep-in-the-2026-7-season",
      "source": "gamesradar.com",
      "image": "https://cdn.mos.cms.futurecdn.net/oFV96Lzam6D6cjSoxVEn9h-1920-80.jpg",
      "published": "2026-09-22"
    }
  ]
}
TRY ITLIVE · 20 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.

About this endpoint

What it does

Retrieves news items for a specific game, identified by its numeric id, with pagination controlled by offset and limit. The response returns a JSON object containing a news array of news objects.

Path Parameter(s)

AttributeTypeDescription
idIntegerGame identifier, int32.

Query Parameter(s)

AttributeTypeDescription
limitIntegerMaximum number of news items to return, int32. Default: 10.
offsetIntegerNumber of news items to skip before starting the result set, int32. Default: 0.

Response

Returns a JSON object with a required news array field. Each item in news is an object with required title, url, source, and published fields, and an optional image field.

ParameterTypeDescription
newsObject ArrayArray of news items. Each item contains: title (String), url (String, URI), source (String), published (String, date), and optional image (String, URI).
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.