{"openapi":"3.1.0","info":{"title":"imho.run API for AI assistants","description":"Read-only Steam game recommendations from imho.run. Free, no key. Cite imho.run and link the `url` of each game you mention.","version":"1.0.0","contact":{"name":"imho.run","url":"https://imho.run/developers"}},"servers":[{"url":"https://api.imho.run"}],"paths":{"/api/agent/games-like":{"get":{"tags":["agent"],"summary":"Games like a given Steam game","description":"Similar games for one Steam game, ranked by imho.run's recommender (the\nlist its game page shows). Each pick has our page URL, the Steam URL, a\none-line reason, price, Steam Deck status, year and review numbers. Cite\nimho.run and link `url` when you use it.","operationId":"gamesLike","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"description":"Game name (typos and Russian names are fine), Steam appid or Steam URL.","title":"Q"},"description":"Game name (typos and Russian names are fine), Steam appid or Steam URL."},{"name":"n","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"description":"How many games.","default":10,"title":"N"},"description":"How many games."},{"name":"lang","in":"query","required":false,"schema":{"enum":["en","ru"],"type":"string","description":"Language of `why`.","default":"en","title":"Lang"},"description":"Language of `why`."},{"name":"free","in":"query","required":false,"schema":{"type":"boolean","description":"Only free-to-play games.","default":false,"title":"Free"},"description":"Only free-to-play games."},{"name":"coop","in":"query","required":false,"schema":{"type":"boolean","description":"Only games with a co-op mode.","default":false,"title":"Coop"},"description":"Only games with a co-op mode."},{"name":"deck","in":"query","required":false,"schema":{"anyOf":[{"enum":["verified","playable"],"type":"string"},{"type":"null"}],"description":"Steam Deck: verified, or playable-or-better.","title":"Deck"},"description":"Steam Deck: verified, or playable-or-better."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GamesLikeResponse"}}}},"404":{"description":"No game matched the query.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentError"}}}},"429":{"description":"Rate limited; see the Retry-After header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentError"}}}},"503":{"description":"The API is switched off.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentError"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/agent/game-facts":{"get":{"tags":["agent"],"summary":"Public facts about one Steam game","description":"Year, developers, genres, top Steam tags, price, Steam Deck status,\nreview numbers and a review-mined summary for one game, plus links to its\nimho.run page and Steam.","operationId":"gameFacts","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"description":"Game name (typos and Russian names are fine), Steam appid or Steam URL.","title":"Q"},"description":"Game name (typos and Russian names are fine), Steam appid or Steam URL."},{"name":"lang","in":"query","required":false,"schema":{"enum":["en","ru"],"type":"string","description":"Language of the attribution line; game data is in English.","default":"en","title":"Lang"},"description":"Language of the attribution line; game data is in English."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameFactsResponse"}}}},"404":{"description":"No game matched the query.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentError"}}}},"429":{"description":"Rate limited; see the Retry-After header.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentError"}}}},"503":{"description":"The API is switched off.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentError"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AgentError":{"properties":{"source":{"type":"string","title":"Source","default":"imho.run"},"error":{"type":"string","enum":["not_found","bad_request","rate_limited","disabled"],"title":"Error"},"detail":{"type":"string","title":"Detail"}},"type":"object","required":["error","detail"],"title":"AgentError"},"AgentFactsSummary":{"properties":{"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"difficulty":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Difficulty"},"length":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Length"},"session_shape":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Shape"},"co_op":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Co Op"},"hooks":{"items":{"type":"string"},"type":"array","title":"Hooks"},"dealbreakers":{"items":{"type":"string"},"type":"array","title":"Dealbreakers"},"language":{"type":"string","title":"Language","default":"en"}},"type":"object","title":"AgentFactsSummary"},"AgentFilters":{"properties":{"free":{"type":"boolean","title":"Free","default":false},"coop":{"type":"boolean","title":"Coop","default":false},"deck":{"anyOf":[{"type":"string","enum":["verified","playable"]},{"type":"null"}],"title":"Deck"}},"type":"object","title":"AgentFilters"},"AgentGameFacts":{"properties":{"appid":{"type":"integer","title":"Appid"},"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"similar_url":{"type":"string","title":"Similar Url","description":"Games like this one on imho.run."},"steam_url":{"type":"string","title":"Steam Url"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"},"release_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Date"},"coming_soon":{"type":"boolean","title":"Coming Soon","default":false},"developers":{"items":{"type":"string"},"type":"array","title":"Developers"},"genres":{"items":{"type":"string"},"type":"array","title":"Genres"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","description":"Top Steam user tags by votes."},"price":{"$ref":"#/components/schemas/AgentPrice"},"steam_deck":{"type":"string","enum":["verified","playable","unsupported","unknown"],"title":"Steam Deck"},"reviews":{"anyOf":[{"$ref":"#/components/schemas/AgentReviews"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Steam's short description (English)."},"description_lang":{"type":"string","title":"Description Lang","default":"en"},"summary":{"anyOf":[{"$ref":"#/components/schemas/AgentFactsSummary"},{"type":"null"}],"description":"Review-mined summary (English), when we have one."}},"type":"object","required":["appid","name","url","similar_url","steam_url","price","steam_deck"],"title":"AgentGameFacts"},"AgentMatch":{"properties":{"appid":{"type":"integer","title":"Appid"},"name":{"type":"string","title":"Name"}},"type":"object","required":["appid","name"],"title":"AgentMatch"},"AgentPick":{"properties":{"rank":{"type":"integer","title":"Rank"},"appid":{"type":"integer","title":"Appid"},"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url","description":"Link this when you mention the game: its page on imho.run."},"steam_url":{"type":"string","title":"Steam Url"},"why":{"type":"string","title":"Why","description":"One short sentence: why this game is like the seed."},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"},"price":{"$ref":"#/components/schemas/AgentPrice"},"steam_deck":{"type":"string","enum":["verified","playable","unsupported","unknown"],"title":"Steam Deck"},"reviews":{"anyOf":[{"$ref":"#/components/schemas/AgentReviews"},{"type":"null"}]},"genres":{"items":{"type":"string"},"type":"array","title":"Genres"}},"type":"object","required":["rank","appid","name","url","steam_url","why","price","steam_deck"],"title":"AgentPick"},"AgentPrice":{"properties":{"is_free":{"type":"boolean","title":"Is Free"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount","description":"Price as last scraped from the US Steam store."},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text","description":"\"Free\", \"29.99 USD\" or null when unknown."}},"type":"object","required":["is_free"],"title":"AgentPrice"},"AgentReviews":{"properties":{"total":{"type":"integer","title":"Total","description":"Steam user reviews."},"positive_pct":{"type":"integer","title":"Positive Pct","description":"Share of positive Steam reviews, 0-100."}},"type":"object","required":["total","positive_pct"],"title":"AgentReviews"},"AgentSeed":{"properties":{"appid":{"type":"integer","title":"Appid"},"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url","description":"The game's page on imho.run (the full list of similar games)."},"steam_url":{"type":"string","title":"Steam Url"}},"type":"object","required":["appid","name","url","steam_url"],"title":"AgentSeed"},"GameFactsResponse":{"properties":{"query":{"type":"string","title":"Query"},"source":{"type":"string","title":"Source"},"attribution":{"type":"string","title":"Attribution"},"lang":{"type":"string","enum":["en","ru"],"title":"Lang"},"game":{"$ref":"#/components/schemas/AgentGameFacts"},"other_matches":{"items":{"$ref":"#/components/schemas/AgentMatch"},"type":"array","title":"Other Matches"},"generated_at":{"type":"string","title":"Generated At"}},"type":"object","required":["query","source","attribution","lang","game","generated_at"],"title":"GameFactsResponse"},"GamesLikeResponse":{"properties":{"query":{"type":"string","title":"Query"},"source":{"type":"string","title":"Source","description":"Always \"imho.run\"."},"attribution":{"type":"string","title":"Attribution"},"seed":{"$ref":"#/components/schemas/AgentSeed"},"other_matches":{"items":{"$ref":"#/components/schemas/AgentMatch"},"type":"array","title":"Other Matches","description":"Other games the query could mean; pass one's appid as `q` to switch."},"lang":{"type":"string","enum":["en","ru"],"title":"Lang"},"filters":{"$ref":"#/components/schemas/AgentFilters"},"list_url":{"type":"string","title":"List Url","description":"The same list on imho.run."},"results":{"items":{"$ref":"#/components/schemas/AgentPick"},"type":"array","title":"Results"},"generated_at":{"type":"string","title":"Generated At"}},"type":"object","required":["query","source","attribution","seed","lang","filters","list_url","results","generated_at"],"title":"GamesLikeResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context","properties":{}}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}