{"id":26278805,"url":"https://github.com/joshraphael/go-retroachievements","last_synced_at":"2025-05-07T00:43:36.936Z","repository":{"id":264535528,"uuid":"812592433","full_name":"joshraphael/go-retroachievements","owner":"joshraphael","description":"A Golang library that lets you get achievement, user, game data and more from RetroAchievements.","archived":false,"fork":false,"pushed_at":"2025-02-14T05:45:05.000Z","size":236,"stargazers_count":2,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T04:41:09.353Z","etag":null,"topics":["achievements","client","go","golang","retroachievements","retroachievements-api"],"latest_commit_sha":null,"homepage":"https://api-docs.retroachievements.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joshraphael.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-09T10:41:17.000Z","updated_at":"2025-02-14T05:38:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"46678284-7619-43c5-b948-b3a2207e27f6","html_url":"https://github.com/joshraphael/go-retroachievements","commit_stats":null,"previous_names":["joshraphael/go-retroachievements"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshraphael%2Fgo-retroachievements","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshraphael%2Fgo-retroachievements/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshraphael%2Fgo-retroachievements/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joshraphael%2Fgo-retroachievements/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joshraphael","download_url":"https://codeload.github.com/joshraphael/go-retroachievements/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252793561,"owners_count":21805053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["achievements","client","go","golang","retroachievements","retroachievements-api"],"created_at":"2025-03-14T13:18:10.648Z","updated_at":"2025-05-07T00:43:36.913Z","avatar_url":"https://github.com/joshraphael.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cp align=\"center\"\u003e![ra_gopher](assets/ra_gopher_small.png \"Retro Achievements Gopher\")\u003cbr\u003ego-retroachievements\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ci\u003eA Golang library that lets you get achievement, user, game data and more from RetroAchievements.\u003c/i\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://api-docs.retroachievements.org/getting-started.html\"\u003e\u003cstrong\u003eDocumentation: Get Started\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\u003chr /\u003e\n\n[![GitHub License](https://img.shields.io/github/license/joshraphael/go-retroachievements)](https://github.com/joshraphael/go-retroachievements/blob/main/LICENSE)\n[![godoc](https://pkg.go.dev/badge/github.com/joshraphael/go-retroachievements.svg)](https://pkg.go.dev/github.com/joshraphael/go-retroachievements)\n[![pipeline](https://github.com/joshraphael/go-retroachievements/actions/workflows/go.yaml/badge.svg)](https://github.com/joshraphael/go-retroachievements/actions/workflows/go.yaml)\n![coverage](https://raw.githubusercontent.com/joshraphael/go-retroachievements/badges/.badges/main/coverage.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/joshraphael/go-retroachievements)](https://goreportcard.com/report/github.com/joshraphael/go-retroachievements)\n[![GitHub Tag](https://img.shields.io/github/v/tag/joshraphael/go-retroachievements)](https://github.com/joshraphael/go-retroachievements/tags)\n[![GitHub repo size](https://img.shields.io/github/repo-size/joshraphael/go-retroachievements)](https://github.com/joshraphael/go-retroachievements/archive/main.zip)\n\n## Installation\nUse go get to install the latest version of the library.\n```sh\ngo get github.com/joshraphael/go-retroachievements@latest\n```\nThen include it in your application:\n```go\nimport \"github.com/joshraphael/go-retroachievements\"\nimport \"github.com/joshraphael/go-retroachievements/models\"\n```\n\n## Usage\n\nConstruct a new Retro Achievement client using your personal web API key\n\n```go\nclient := retroachievements.NewClient(\"\u003cyour web API key\u003e\")\n```\n\nyou can now use the client to call any of the available endpoints, for example:\n\n```go\nprofile, err := client.GetUserProfile(models.GetUserProfileParameters{\n    Username: \"jamiras\",\n})\n```\n\nCheck out the [examples](examples/) directory for how to call each endpoint, as well as our [GoDocs](https://pkg.go.dev/github.com/joshraphael/go-retroachievements)\n\n## API\nFor convenience, the API docs and examples can be found in the tables below\n\n\u003ch3\u003eUser\u003c/h3\u003e\n\n|Function|Description|Links|\n|-|-|-|\n|`GetUserProfile()`|Get a user's basic profile information.|[docs](https://api-docs.retroachievements.org/v1/get-user-profile.html) \\| [example](examples/user/getuserprofile/getuserprofile.go)|\n|`GetUserRecentAchievements()`|Get a list of achievements recently earned by the user.|[docs](https://api-docs.retroachievements.org/v1/get-user-recent-achievements.html) \\| [example](examples/user/getuserrecentachievements/getuserrecentachievements.go)|\n|`GetAchievementsEarnedBetween()`|Get a list of achievements earned by a user between two dates.|[docs](https://api-docs.retroachievements.org/v1/get-achievements-earned-between.html) \\| [example](examples/user/getachievementsearnedbetween/getachievementsearnedbetween.go)|\n|`GetAchievementsEarnedOnDay()`|Get a list of achievements earned by a user on a given date.|[docs](https://api-docs.retroachievements.org/v1/get-achievements-earned-on-day.html) \\| [example](examples/user/getachievementsearnedonday/getachievementsearnedonday.go)|\n|`GetGameInfoAndUserProgress()`|Get metadata about a game as well as a user's progress on that game.|[docs](https://api-docs.retroachievements.org/v1/get-game-info-and-user-progress.html) \\| [example](examples/user/getgameinfoanduserprogress/getgameinfoanduserprogress.go)|\n|`GetUserCompletionProgress()`|Get metadata about all the user's played games and any awards associated with them.|[docs](https://api-docs.retroachievements.org/v1/get-user-completion-progress.html) \\| [example](examples/user/getusercompletionprogress/getusercompletionprogress.go)|\n|`GetUserAwards()`|Get a list of a user's site awards/badges.|[docs](https://api-docs.retroachievements.org/v1/get-user-awards.html) \\| [example](examples/user/getuserawards/getuserawards.go)|\n|`GetUserClaims()`|Get a list of set development claims made over the lifetime of a user.|[docs](https://api-docs.retroachievements.org/v1/get-user-claims.html) \\| [example](examples/user/getuserclaims/getuserclaims.go)|\n|`GetUserGameRankAndScore()`|Get metadata about how a user has performed on a given game.|[docs](https://api-docs.retroachievements.org/v1/get-user-game-rank-and-score.html) \\| [example](examples/user/getusergamerankandscore/getusergamerankandscore.go)|\n|`GetUserPoints()`|Get a user's total hardcore and softcore points.|[docs](https://api-docs.retroachievements.org/v1/get-user-points.html) \\| [example](examples/user/getuserpoints/getuserpoints.go)|\n|`GetUserProgress()`|Get a user's progress on a list of specified games.|[docs](https://api-docs.retroachievements.org/v1/get-user-progress.html) \\| [example](examples/user/getuserprogress/getuserprogress.go)|\n|`GetUserRecentlyPlayedGames()`|Get a list of games a user has recently played.|[docs](https://api-docs.retroachievements.org/v1/get-user-recently-played-games.html) \\| [example](examples/user/getuserrecentlyplayedgames/getuserrecentlyplayedgames.go)|\n|`GetUserSummary()`|Get a user's profile metadata.|[docs](https://api-docs.retroachievements.org/v1/get-user-summary.html) \\| [example](examples/user/getusersummary/getusersummary.go)|\n|`GetUserCompletedGames()`|[Deprecated] Get hardcore and softcore completion metadata about games a user has played.|[docs](https://api-docs.retroachievements.org/v1/get-user-completed-games.html) \\| [example](examples/user/getusercompletedgames/getusercompletedgames.go)|\n|`GetUserWantToPlayList()`|Get a user's \"Want to Play Games\" list.|[docs](https://api-docs.retroachievements.org/v1/get-user-want-to-play-list.html) \\| [example](examples/user/getuserwanttoplaylist/getuserwanttoplaylist.go)|\n|`GetUsersIFollow()`|Get the caller's \"Following\" users list.|[docs](https://api-docs.retroachievements.org/v1/get-users-i-follow.html) \\| [example](examples/user/getusersifollow/getusersifollow.go)|\n|`GetUsersFollowingMe()`|Get the caller's \"Followers\" users list.|[docs](https://api-docs.retroachievements.org/v1/get-users-following-me.html) \\| [example](examples/user/getusersfollowingme/getusersfollowingme.go)|\n|`GetUserSetRequests()`|Get a user's list of set requests.|[docs](https://api-docs.retroachievements.org/v1/get-user-set-requests.html) \\| [example](examples/user/getusersetrequests/getusersetrequests.go)|\n\n\u003ch3\u003eGame\u003c/h3\u003e\n\n|Function|Description|Links|\n|-|-|-|\n|`GetGame()`|Get basic metadata about a game.|[docs](https://api-docs.retroachievements.org/v1/get-game.html) \\| [example](examples/game/getgame/getgame.go)|\n|`GetGameExtended()`|Get extended metadata about a game.|[docs](https://api-docs.retroachievements.org/v1/get-game-extended.html) \\| [example](examples/game/getgameextended/getgameextended.go)|\n|`GetGameHashes()`|Get the hashes linked to a game.|[docs](https://api-docs.retroachievements.org/v1/get-game-hashes.html) \\| [example](examples/game/getgamehashes/getgamehashes.go)|\n|`GetAchievementCount()`|Get the list of achievement IDs for a game.|[docs](https://api-docs.retroachievements.org/v1/get-achievement-count.html) \\| [example](examples/game/getachievementcount/getachievementcount.go)|\n|`GetAchievementDistribution()`|Gets how many players have unlocked how many achievements for a game.|[docs](https://api-docs.retroachievements.org/v1/get-achievement-distribution.html) \\| [example](examples/game/getachievementdistribution/getachievementdistribution.go)|\n|`GetGameRankAndScore()`|Gets metadata about either the latest masters for a game, or the highest points earners for a game.|[docs](https://api-docs.retroachievements.org/v1/get-game-rank-and-score.html) \\| [example](examples/game/getgamerankandscore/getgamerankandscore.go)|\n\n\u003ch3\u003eLeaderboards\u003c/h3\u003e\n\n|Function|Description|Links|\n|-|-|-|\n|`GetGameLeaderboards()`|Gets a given games's list of leaderboards.|[docs](https://api-docs.retroachievements.org/v1/get-game-leaderboards.html) \\| [example](examples/leaderboards/getgameleaderboards/getgameleaderboards.go)|\n|`GetLeaderboardEntries()`|Gets a given leadboard's entries.|[docs](https://api-docs.retroachievements.org/v1/get-leaderboard-entries.html) \\| [example](examples/leaderboards/getleaderboardentries/getleaderboardentries.go)|\n|`GetUserGameLeaderboards()`|Gets a user's list of leaderboards for a given game.|[docs](https://api-docs.retroachievements.org/v1/get-user-game-leaderboards.html) \\| [example](examples/leaderboards/getusergameleaderboards/getusergameleaderboards.go)|\n\n\u003ch3\u003eSystem\u003c/h3\u003e\n\n|Function|Description|Links|\n|-|-|-|\n|`GetConsoleIDs()`|Gets the complete list of all system ID and name pairs on the site.|[docs](https://api-docs.retroachievements.org/v1/get-console-ids.html) \\| [example](examples/system/getconsoleids/getconsoleids.go)|\n|`GetGameList()`|Gets the complete list of games for a specified console on the site.|[docs](https://api-docs.retroachievements.org/v1/get-game-list.html) \\| [example](examples/system/getgamelist/getgamelist.go)|\n\n\u003ch3\u003eAchievement\u003c/h3\u003e\n\n|Function|Description|Links|\n|-|-|-|\n|`GetAchievementUnlocks()`|Gets a list of users who have earned an achievement.|[docs](https://api-docs.retroachievements.org/v1/get-achievement-unlocks.html) \\| [example](examples/achievement/getachievementunlocks/getachievementunlocks.go)|\n\n\u003ch3\u003eComment\u003c/h3\u003e\n\n|Function|Description|Links|\n|-|-|-|\n|`GetComments()`|Gets comments of a specified kind: game, achievement, or user.|[docs](https://api-docs.retroachievements.org/v1/get-comments.html) \\| [example](examples/comment/getcomments/getcomments.go)|\n\n\u003ch3\u003eFeed\u003c/h3\u003e\n\n|Function|Description|Links|\n|-|-|-|\n|`GetRecentGameAwards()`|Gets all recently granted game awards across the site's userbase.|[docs](https://api-docs.retroachievements.org/v1/get-recent-game-awards.html) \\| [example](examples/feed/getrecentgameawards/getrecentgameawards.go)|\n|`GetActiveClaims()`|Gets information about all active set claims (max: 1000).|[docs](https://api-docs.retroachievements.org/v1/get-active-claims.html) \\| [example](examples/feed/getactiveclaims/getactiveclaims.go)|\n|`GetClaims()`|Gets information about all achievement set development claims of a specified kind: completed, dropped, or expired (max: 1000).|[docs](https://api-docs.retroachievements.org/v1/get-claims.html) \\| [example](examples/feed/getclaims/getclaims.go)|\n|`GetTopTenUsers()`|Gets the current top ten users, ranked by hardcore points, on the site.|[docs](https://api-docs.retroachievements.org/v1/get-top-ten-users.html) \\| [example](examples/feed/gettoptenusers/gettoptenusers.go)|\n\n\u003ch3\u003eEvent\u003c/h3\u003e\n\n|Function|Description|Links|\n|-|-|-|\n|`GetAchievementOfTheWeek()`|Gets comprehensive metadata about the current Achievement of the Week.|[docs](https://api-docs.retroachievements.org/v1/get-achievement-of-the-week.html) \\| [example](examples/event/getachievementoftheweek/getachievementoftheweek.go)|\n\n\u003ch3\u003eTicket\u003c/h3\u003e\n\n|Function|Description|Links|\n|-|-|-|\n|`GetTicketByID()`|Gets ticket metadata information about a single achievement ticket, targeted by its ticket ID.|[docs](https://api-docs.retroachievements.org/v1/get-ticket-data/get-ticket-by-id.html) \\| [example](examples/ticket/getticketbyid/getticketbyid.go)|\n|`GetMostTicketedGames()`|Gets the games on the site with the highest count of opened achievement tickets.|[docs](https://api-docs.retroachievements.org/v1/get-ticket-data/get-most-ticketed-games.html) \\| [example](examples/ticket/getmostticketedgames/getmostticketedgames.go)|\n|`GetMostRecentTickets()`|Gets ticket metadata information about the latest opened achievement tickets on RetroAchievements.|[docs](https://api-docs.retroachievements.org/v1/get-ticket-data/get-most-recent-tickets.html) \\| [example](examples/ticket/getmostrecenttickets/getmostrecenttickets.go)|\n|`GetGameTicketStats()`|Gets ticket stats for a game, targeted by that game's unique ID.|[docs](https://api-docs.retroachievements.org/v1/get-ticket-data/get-game-ticket-stats.html) \\| [example](examples/ticket/getgameticketstats/getgameticketstats.go)|\n|`GetDeveloperTicketStats()`|Gets ticket stats for a developer, targeted by that developer's site username.|[docs](https://api-docs.retroachievements.org/v1/get-ticket-data/get-developer-ticket-stats.html) \\| [example](examples/ticket/getdeveloperticketstats/getdeveloperticketstats.go)|\n|`GetAchievementTicketStats()`|Gets ticket stats for an achievement, targeted by that achievement's unique ID.|[docs](https://api-docs.retroachievements.org/v1/get-ticket-data/get-achievement-ticket-stats.html) \\| [example](examples/ticket/getachievementticketstats/getachievementticketstats.go)|","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshraphael%2Fgo-retroachievements","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoshraphael%2Fgo-retroachievements","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoshraphael%2Fgo-retroachievements/lists"}