> For the complete documentation index, see [llms.txt](https://docs.rivalryze.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rivalryze.com/connecting-gaming-platforms/steam.md).

# Steam

Linking Steam brings in your game library, achievements, playtime and completion, plus your Dota 2 profile if you play it.

You can link Steam in one of two ways. Both end in the same place; pick whichever is easier for you.

## Option 1: through your Discord connections

Use this if Steam is already in your Discord connections and Discord is connected to RivalRyze.

1. In Discord, open **User Settings → Connections** and make sure Steam is listed.
2. On RivalRyze, open **Settings** and pick the **Connections** tab.
3. Under **Link your accounts through Discord connections**, click **Connect** on the **Steam** row.

RivalRyze reads your Steam ID from your Discord connections. The row is greyed out until Discord is connected; see [Connecting Discord](/connecting-gaming-platforms/discord.md).

## Option 2: Steam sign-in

1. Open **Settings → Connections**.
2. Under **Connect through authentication directly**, click **Connect** on the **Steam** row.
3. Steam's sign-in page opens. Sign in and confirm.
4. You're sent back to the page you started from.

{% hint style="info" %}
Steam sign-in uses Steam's official OpenID login. RivalRyze never sees your Steam password.
{% endhint %}

Once Steam is linked one way, the Steam row for the other way disappears until you disconnect.

## Make your profile and game details public

RivalRyze can only read a Steam library that's public. In Steam's privacy settings:

1. Open your Steam profile and click **Edit Profile**.
2. Open **Privacy Settings**.
3. Set **My profile** to **Public**.
4. Set **Game details** to **Public**.

A public profile with **Game details** set to anything other than Public still counts as private: RivalRyze can't see your games.

Games you've marked as private in your Steam library stay hidden from RivalRyze.

### The Private profile badge

If RivalRyze can't read your library, the Steam row in **Settings → Connections** shows a **Private profile** badge. Hover it for a reminder, or click it to open the guide on the RivalRyze blog. You also get a **Steam profile became private** notification when a linked profile turns private.

After you change your privacy settings, click **Refresh** on the Steam row (it only appears while your profile is private):

* **Your Steam profile is now public. Syncing your games.** RivalRyze starts a full import of your library.
* **Your Steam profile is still private.** Check both settings above and click **Refresh** again.

## What gets synced

| Data           | Notes                                        |
| -------------- | -------------------------------------------- |
| Game library   | Your whole owned library on the first import |
| Achievements   | Unlock status and date, with rarity          |
| Playtime       | Total hours, and hours in the last two weeks |
| Completion     | Per game, for games with achievements        |
| Steam level    | Shown on your profile's Steam card           |
| Dota 2 profile | See [Dota 2](#dota-2) below                  |

### First import

When you link Steam, RivalRyze imports your whole owned library. A large library can take a while; you get a **Your Steam stats are ready** notification when the first import finishes.

### After the first import

Later syncs check the games you've played in the last two weeks. A game you own but haven't played since linking shows up once you play it.

When a developer adds new achievements to a game, RivalRyze picks them up automatically. Until the catalog catches up, a game you've finished can briefly show an achievement short of complete.

## How often Steam syncs

Steam syncs on your subscription tier's schedule (every 4 hours on Free, every hour on Supporter, every 30 minutes on Legend). Subscribers can also refresh right away with the refresh icon (**Update profile**) on their profile. See [the sync schedule](/connecting-gaming-platforms/troubleshooting-sync.md#5-understand-the-sync-schedule).

## Dota 2

When you link Steam, RivalRyze also sets up your Dota 2 profile from the same account. Dota 2 data comes from OpenDota, which only sees your matches if you allow it inside Dota 2:

1. Launch Dota 2 and open **Settings**.
2. On the **Social** tab, turn on **Expose Public Match Data**.

Without it, your Dota 2 profile is private and RivalRyze can't read your matches, even if your Steam profile is public. If your Dota 2 match data is private when RivalRyze first sets up your profile, you get a **Dota 2 profile became private** notification.

With match data public, your profile's Dota 2 card shows your rank medal, your wins and losses, a breakdown by game mode, recent matches, signature heroes, lane presence, frequent teammates, your record by queue and career totals. Your Dota 2 data also feeds the Dota 2 leaderboard and Dota 2 Points Battles.

## Contests with Steam

Steam achievements count in achievement-based Battles and Bounties, and Dota 2 has its own **Dota 2 Points Battle**. See [Objective Modes](/contests/objective-modes.md).

When you first link Steam, RivalRyze imports your full achievement history. [Fair Play](/fair-play/auto-pop-and-fair-play.md) explains how achievements that also exist on another linked platform are treated in Contests.

## Disconnecting Steam

Click **Disconnect** on the Steam row in **Settings → Connections**. This also unlinks your Dota 2 profile, and RivalRyze stops syncing the account.

Removing Steam from your Discord connections does **not** unlink it from RivalRyze. Use **Disconnect** on RivalRyze. If you linked Steam through Discord, disconnecting Discord unlinks Steam too.

## Troubleshooting

### The row shows Private profile

Set **My profile** and **Game details** to **Public**, then click **Refresh** on the Steam row.

### "Steam account already in use"

That Steam account is linked to another RivalRyze account. Sign in to that account and disconnect it there, or [contact support](/help-and-faq/contact-support.md) if you can't. Linking through Discord is refused for the same reason.

### Connecting through Discord fails

Check that Steam is listed in Discord under **User Settings → Connections**, and that you connected Discord with the same Discord account. If RivalRyze says your Discord connection has expired, click **Reconnect** on the Discord row first.

### A new achievement isn't showing

* Wait for the next scheduled sync, or use the refresh icon (**Update profile**) on your profile if you subscribe.
* Make sure the unlock shows on your Steam profile when viewed by someone else.
* Free demos: Steam stops reporting a demo's achievements once you uninstall it, so let RivalRyze sync before you uninstall.

### Dota 2 stats aren't appearing

Check both settings: your Steam profile and game details are **Public**, and **Expose Public Match Data** is on in Dota 2.

## Related

* [Connecting Discord](/connecting-gaming-platforms/discord.md)
* [Troubleshooting Sync Issues](/connecting-gaming-platforms/troubleshooting-sync.md)
* [Why Isn't My Game Showing Up?](/help-and-faq/game-not-showing.md)
* [Fair Play](/fair-play/auto-pop-and-fair-play.md)
