A Full List of all User IDs in the Star Program

This one is a simple one. As of February 24th, this is the full list of user IDs in the star program. We’re planning to use it for gifting YouTubers with special rewards for playing our game and to encourage them to make YouTube videos on it.

If you’d like to include my ID (62520581) as a thank you, I won’t say no.

user_ids.txt (11.0 KB)

In addition, here’s the code I used to complete that task. It is written in Python.

import csv
import requests
import time

GROUP_ID = 4199740
BASE_URL = f"https://apis.roblox.com/cloud/v2/groups/{GROUP_ID}/memberships"
API_KEY = "REPLACE THIS WITH YOUR ROBLOX API KEY"

def fetch_memberships():
    page_token = ""
    headers = {}
    if API_KEY != "YOUR_API_KEY":
        headers["x-api-key"] = API_KEY

    while True:
        params = {
            "maxPageSize": 700
        }
        if page_token:
            params["pageToken"] = page_token

        try:
            response = requests.get(BASE_URL, headers=headers, params=params, timeout=10)
            response.raise_for_status()
        except requests.RequestException as e:
            print("A request error occurred:", e)
            break

        try:
            data = response.json()
        except ValueError as e:
            print("Error parsing JSON:", e)
            print("Response content:", response.text)
            break

        if "groupMemberships" not in data:
            print("Unexpected response format:", data)
            break

        for membership in data["groupMemberships"]:
            yield membership

        page_token = data.get("nextPageToken")
        if not page_token:
            break

        time.sleep(1)

def write_user_ids_to_csv(filename="user_ids.csv"):
    with open(filename, mode="w", newline="", encoding="utf-8") as csvfile:
        fieldnames = ["user_id"]
        writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
        writer.writeheader()

        count = 0
        for membership in fetch_memberships():
            user = membership.get("user", "")
            if isinstance(user, dict):
                user_id = user.get("id", "")
            else:
                user_id = user

            writer.writerow({"user_id": user_id})
            count += 1

        print(f"Finished writing {count} user IDs to {filename}")

if __name__ == "__main__":
    write_user_ids_to_csv()

You can get the API key from the developer portal.

If you have any questions, let me know.

5 Likes

couldn’t you just get people who are in the star program group and then run code accordingly?

1 Like

Bro just check for users in the group :sob:

1 Like

It’s about sending a message :stare:

yeah but that’s no fun :stuck_out_tongue:​​​​​​​​​​​​​

You’re gonna manually send a message to everyone on the list asking them to play your game? Props for authenticity!

1 Like

I meant more so that this can be used to track memberships over time. It has additional use cases

1 Like

Wouldn’t the group be more accurate for this? The list would technically have to be updated manually.

The difference is that this allows me to know each individual user so I can write them a personalized message

2 Likes

you could also just:

  1. check if they’re in the star creator group…
  2. after that, check what their userid is (maybe from a modulescript with their ids as indexes and the custom messages as values?), and if their userid is found in that list, then use that message, and if not, use a default message
1 Like
game.Players.PlayerAdded:Connect(function(player)
    if player:GetRankInGroup(4199740) > 0 then
        print("Player is a star creator")
    end
end)
1 Like

I think this might be a violation of privacy…

this is public information btw

Oops, just leaked everybody who’s in this group by sending the group!