How Do You Get a User's GAMEPASSES?


Need a Fast Way to Get On-Sale Gamepasses Without Inventory Access

I’m trying to find how games like Pls Donate instantly fetch all a user’s on-sale gamepasses even when their inventory is private.

Tried the Known Endpoint — It Fails

The endpoint

https://apis.roproxy.com/game-passes/v1/users/{userId}/game-passes?count=100

only returns gamepasses the user owns or bought, not the ones they created or are selling. It’s useless if inventory is off.

It’s Clearly Possible

Pls Donate, Starving artist, and pls buy me don’t retrieve every plan than manually scan the gamepasses to get this data. They get it instantly. There must be a different request or hidden endpoint that returns all created and on-sale gamepasses in one go.

What I’m Looking For

An endpoint that returns all on-sale gamepasses created by a user, works without inventory access, includes price and ID, and returns ALL gamepasses. So you don’t need to spam it.

If you’ve figured out what Pls Donate is really using, share it.

→ Some Genius Devs who already know the solution :pray: Please share your infinite wisdom.

  1. @haz3mn – Creator of PLS DONATE 💸 - Roblox
  2. @prugames – Creator of AFK DONATE [💸] - Roblox
  3. @Artafac911 – Creaotr of PLS BUY ME 💸 [Donate] - Roblox
  4. @Intrance – Creator of starving artists (DONATION GAME) - Roblox

All of these devs know a way to INSTANTLY get gamepasses WITHOUT inventory.

3 Likes

Youll have to get all the games that the user owns using this url:

https://games.roblox.com/v2/users/{userId}/games?accessFilter=All&limit=50&sortOrder=Asc

(Change UserId with the players UserId)

And then get all the gamepasses per experience using:

https://games.roblox.com/v1/games/{placeId}/game-passes

(Change PlaceId with the PlaceId)

2 Likes

Note that there is a limit to the amount of httprequests you can send per minute

1 Like

Hey thanks for the response. You’re definitely on the right track but here are a few corrections:

:white_check_mark: Getting a user’s games: Your request works; however:

  • Roblox has itself on a blacklist so we need to Replace Roblox.Com with Roproxy.Com
  • It says “Not Implemented” when accessFilter=All. I replaced it with accessFilter=Public.

So the final URL is

https://games.roproxy.com/v2/users/%s/games?accessFilter=Public&limit=50&sortOrder=Asc

:x: Getting the gamepasses of those games: The request does not work.

https://games.roproxy.com/v1/games/%s/game-passes

returns nil everytime (even on games that HAVE gamepasses).

  • Possible suspect: When we get the users game via method 1 we get its UniverseId
  • I think it may be Wrong ID. You’re passing UniverseId, but the endpoint expects PlaceId.

Thanks for correcting me, I’m on my phone so I can’t test the things I write.

1 Like

By the way I just tested it and the endpoint

https://games.roproxy.com/v1/games/%s/game-passes

:skull: seems to be dead.

:x: I tested it for all sitatuions. None work:

Initially I thought it was the UniverseId/PlaceId but after putting it in my browser with a Placeid (and with inventory on)

https://games.roproxy.com/v1/games/5288179751/game-passes -- FNAF game I made

It gives

{"previousPageCursor":null,"nextPageCursor":null,"data":[]}

I believe this means that it

This endpoint is dead.

:star: The good news is we are half way there.

:white_check_mark: We just need to get a request that gets the gamepasses of a game!

1 Like

Do you know a request that might work for getting the gamepasses based on universe id?

No, the endpoint is not dead. Seems like what the issue is that roblox games have two IDs, a universeId (used for create.roblox.com), and the other id which is what you see when you go on the game page, (roblox.com/games/{id}). You need to use the universe id on the /v1/games/{universeId}/game-passes end point. When you use the /v2/users/{userId}/games end point, it returns the universe id’s of the games created by the user, so you should be good anyway without worrying about it.

An example, using Color Block:
The /v2/users/{userId}/games end point, when given Color Block’s creator, returns:

{
  "previousPageCursor": null,
  "nextPageCursor": null,
  "data": [
    {
      "id": 2126386806,
      "name": "Color Block",
      "description": "🔥 Use the code 'like1000k' and LIKE the game for free coins!!!\n👍 NEW CODE releases once the game gets 2M LIKES!\n\nUpdate!Update! Add riding mode.\n\nGame rules: \n1.Run to the color that is show. \n2.Standing on the wrong color when the time is up? You lose.\n3.The last player standing in the game wins!\n\nYou can have fun with friends in this games!\n",
      "creator": {
        "id": 1945392029,
        "type": "User"
      },
      "rootPlace": {
        "id": 5926001758,
        "type": "Place"
      },
      "created": "2020-10-25T20:24:53.033Z",
      "updated": "2025-03-25T08:59:05.503Z",
      "placeVisits": 2488047829
    }
  ]
}

The first object in the data array is the universe id of Color Block, despite not matching the id on the game page.

When the universe id is used with the /v1/games/{universeId}/game-passes endpoint, it returns:

{
  "previousPageCursor": "id_2zwAAAXX6V8-UzgDGaCI",
  "nextPageCursor": null,
  "data": [
    {
      "id": 13002803,
      "name": "Rainbow Trail",
      "displayName": "Rainbow Trail",
      "productId": 1120749566,
      "price": 299,
      "sellerName": "11aganfy",
      "sellerId": 1945392029,
      "isOwned": false
    },
...

Hope this helped

1 Like

Thank you so much for the reply!

Can you give me the exact link you used to get that output? I’m having trouble on my side lol

https://games.roproxy.com/v1/games/5926001758/game-passes

For some reason I keep seeing this

Sure, I mean first of all make sure you use the games’ universeId, 2126386806, and here:
https://games.roblox.com/v1/games/2126386806/game-passes?limit=50&sortOrder=1

By the way, you can find out more information about requests by visiting the api’s documentation, you can find a list of roblox’s public facing api documentation here; for example:

2 Likes

Alright I was able to get it to work. Thanks so much.

The only thing I’m worried about now is that I noticed there isn’t any “for sale” indication. Do you know if it only retrieves ones for sale?

Edit: I tested it and tried disabling a gamepass. I believe it gets all gamepasses even if they aren’t on sale.

Unavailable ones should look like this, so it’s pretty each to tell. Just check the price.

1 Like