Properties
| Name | Type | Description |
|---|---|---|
| data | object | |
| fetched_at | string | |
| data_age_seconds | integer | |
| stale | boolean | |
| region | object | |
| currency | nullstring | |
| region_fallback | nullboolean | |
| attribution | string |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/fairly-gg/json-schema/fairly-gg-api-response-of-discover-page-model-schema.json",
"title": "ApiResponseOfDiscoverPageModel",
"x-generated": "2026-11-07",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/_original/fairly-gg-api-openapi.json#/components/schemas/ApiResponseOfDiscoverPageModel",
"required": [
"data",
"fetched_at",
"data_age_seconds",
"stale"
],
"type": "object",
"properties": {
"data": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/DiscoverPageModel"
}
]
},
"fetched_at": {
"type": "string",
"format": "date-time"
},
"data_age_seconds": {
"type": "integer",
"format": "int64"
},
"stale": {
"type": "boolean"
},
"region": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/Region"
}
]
},
"currency": {
"type": [
"null",
"string"
]
},
"region_fallback": {
"type": [
"null",
"boolean"
]
},
"attribution": {
"type": "string"
}
},
"$defs": {
"DealModel": {
"required": [
"game",
"best_offer",
"time_to_beat_hours",
"review_percent",
"other_editions",
"leaving_at",
"drop",
"is_new",
"hours_per_unit",
"leaving_announced",
"subscription_codes"
],
"type": "object",
"properties": {
"game": {
"$ref": "#/$defs/GameSummary"
},
"best_offer": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/OfferModel"
}
]
},
"time_to_beat_hours": {
"type": [
"null",
"integer"
],
"format": "int32"
},
"review_percent": {
"type": [
"null",
"integer"
],
"format": "int32"
},
"other_editions": {
"type": "integer",
"format": "int32"
},
"leaving_at": {
"type": [
"null",
"string"
],
"format": "date-time"
},
"drop": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/Money"
}
]
},
"is_new": {
"type": "boolean"
},
"hours_per_unit": {
"type": [
"null",
"number"
],
"format": "double"
},
"leaving_announced": {
"type": "boolean"
},
"subscription_codes": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"DiscoverPageModel": {
"required": [
"rows",
"total",
"at_low_count",
"best_value",
"page",
"page_size",
"threshold"
],
"type": "object",
"properties": {
"rows": {
"type": "array",
"items": {
"$ref": "#/$defs/DealModel"
}
},
"total": {
"type": "integer",
"format": "int32"
},
"at_low_count": {
"type": "integer",
"format": "int32"
},
"best_value": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/DealModel"
}
]
},
"page": {
"type": "integer",
"format": "int32"
},
"page_size": {
"type": "integer",
"format": "int32"
},
"threshold": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/Money"
}
]
}
}
},
"Edition": {
"enum": [
"standard",
"deluxe",
"gold",
"goty",
"ultimate",
"bundle",
"unknown"
]
},
"FeeLabel": {
"enum": [
"verified",
"may_apply",
"stale"
]
},
"FreshnessKind": {
"enum": [
"fresh",
"stale",
"hidden"
]
},
"GameSummary": {
"required": [
"id",
"steam_app_id",
"igdb_id",
"title",
"slug",
"cover_url"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64"
},
"steam_app_id": {
"type": [
"null",
"integer"
],
"format": "int32"
},
"igdb_id": {
"type": [
"null",
"integer"
],
"format": "int64"
},
"title": {
"type": "string"
},
"slug": {
"type": "string"
},
"cover_url": {
"type": [
"null",
"string"
]
},
"cover_portrait_url": {
"type": [
"null",
"string"
]
}
}
},
"LowBasis": {
"enum": [
"own",
"itad",
null
]
},
"LowLabel": {
"required": [
"kind"
],
"type": "object",
"properties": {
"kind": {
"$ref": "#/$defs/LowLabelKind"
},
"above_percent": {
"type": "integer",
"format": "int32",
"default": 0
},
"since": {
"type": [
"null",
"string"
],
"format": "date"
},
"basis": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/LowBasis"
}
]
}
}
},
"LowLabelKind": {
"enum": [
"unknown",
"at_low",
"above_low",
"since_tracking"
]
},
"Money": {
"required": [
"amount",
"currency",
"formatted"
],
"type": "object",
"properties": {
"amount": {
"type": "number"
},
"currency": {
"type": "string",
"description": "USD, EUR, GBP or TRY."
},
"formatted": {
"type": "string",
"description": "Display text, e.g. \"€9.99\"."
}
}
},
"OfferModel": {
"required": [
"offer_id",
"store_code",
"store_name",
"store_kind",
"edition",
"platform",
"region_lock",
"real_price",
"list_price",
"fee_label",
"fee_verified_at",
"discount_pct",
"low",
"converted",
"fetched_at",
"freshness",
"url",
"measured_in",
"discount_ends_at",
"price_region",
"eligible"
],
"type": "object",
"properties": {
"offer_id": {
"type": "integer",
"format": "int64"
},
"store_code": {
"type": "string"
},
"store_name": {
"type": "string"
},
"store_kind": {
"$ref": "#/$defs/StoreKind"
},
"edition": {
"$ref": "#/$defs/Edition"
},
"platform": {
"$ref": "#/$defs/Platform"
},
"region_lock": {
"$ref": "#/$defs/RegionLock"
},
"real_price": {
"$ref": "#/$defs/Money"
},
"list_price": {
"$ref": "#/$defs/Money"
},
"fee_label": {
"$ref": "#/$defs/FeeLabel"
},
"fee_verified_at": {
"type": [
"null",
"string"
],
"format": "date-time"
},
"discount_pct": {
"type": [
"null",
"integer"
],
"format": "int16"
},
"low": {
"$ref": "#/$defs/LowLabel"
},
"converted": {
"type": "boolean"
},
"fetched_at": {
"type": "string",
"format": "date-time"
},
"freshness": {
"$ref": "#/$defs/FreshnessKind"
},
"url": {
"type": "string"
},
"measured_in": {
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/$defs/Region"
}
]
},
"discount_ends_at": {
"type": [
"null",
"string"
],
"format": "date-time"
},
"price_region": {
"$ref": "#/$defs/Region"
},
"eligible": {
"type": "boolean"
}
}
},
"Platform": {
"enum": [
"steam",
"epic",
"gog",
"ubisoft",
"ea",
"xbox_pc",
"ps",
"switch",
"xbox"
]
},
"Region": {
"enum": [
"tr",
"us",
"eu",
"gb",
null
]
},
"RegionLock": {
"enum": [
"global",
"eu",
"tr",
"ru_cis",
"row",
"latam",
"asia"
]
},
"StoreKind": {
"enum": [
"authorized",
"marketplace",
"console",
"subscription"
]
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/fairly-gg-api-response-of-discover-page-model"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.