VRChat.API.Realtime
1.0.0
dotnet add package VRChat.API.Realtime --version 1.0.0
NuGet\Install-Package VRChat.API.Realtime -Version 1.0.0
<PackageReference Include="VRChat.API.Realtime" Version="1.0.0" />
<PackageVersion Include="VRChat.API.Realtime" Version="1.0.0" />
<PackageReference Include="VRChat.API.Realtime" />
paket add VRChat.API.Realtime --version 1.0.0
#r "nuget: VRChat.API.Realtime, 1.0.0"
#:package VRChat.API.Realtime@1.0.0
#addin nuget:?package=VRChat.API.Realtime&version=1.0.0
#tool nuget:?package=VRChat.API.Realtime&version=1.0.0

VRChat Realtime WebSocket API for .NET
A .NET client for VRChat's Realtime WebSocket API (Pipeline). Receive real-time updates about notifications, friends, user status, and more.
Disclaimer
This is the official response of the VRChat Team (from Tupper more specifically) on the usage of the VRChat API.
Use of the API using applications other than the approved methods (website, VRChat application) are not officially supported. You may use the API for your own application, but keep these guidelines in mind:
- We do not provide documentation or support for the API.
- Do not make queries to the API more than once per 60 seconds.
- Abuse of the API may result in account termination.
- Access to API endpoints may break at any given time, with no warning.
As stated, this documentation was not created with the help of the official VRChat team. Therefore this documentation is not an official documentation of the VRChat API and may not be always up to date with the latest versions. If you find that a page or endpoint is not longer valid please create an issue and tell us so we can fix it.
Installation
Install with NuGet:
# With .NET CLI
dotnet add package VRChat.API.Realtime
# Or with Package Manager
Install-Package VRChat.API.Realtime
Quick Start
using VRChat.API.Realtime;
using VRChat.API.Realtime.Models;
// Create client using builder pattern
var client = new VRChatRealtimeClientBuilder()
.WithAuthToken("authcookie_...")
.WithApplication(name: "Example", version: "1.0.0", contact: "youremail.com")
.WithAutoReconnect(AutoReconnectMode.OnDisconnect)
.Build();
// Subscribe to events
client.OnConnected += (sender, e) =>
{
Console.WriteLine("Connected to VRChat Pipeline!");
};
client.OnFriendOnline += (sender, e) =>
{
Console.WriteLine($"Friend {e.User?.DisplayName} came online!");
};
client.OnNotification += (sender, e) =>
{
Console.WriteLine($"Notification: {e.Notification?.Type}");
};
// Connect
await client.ConnectAsync();
await Task.Delay(-1);
Auto-Reconnect Modes
- None: Do not automatically reconnect
- OnDisconnect: Reconnect when disconnected unexpectedly
- Every10Minutes: Reconnect every 10 minutes
- Every20Minutes: Reconnect every 20 minutes
- Every30Minutes: Reconnect every 30 minutes
Available Events
Connection Events
OnConnected- Connected to WebSocketOnDisconnected- Disconnected from WebSocketOnAutoReconnecting- Auto-reconnect triggeredLog- Log messages with levels (Trace, Debug, Info, Warning, Error, Critical)
Notification Events
OnNotification- Standard notificationOnResponseNotification- Response to previous notificationOnSeeNotification- Mark notification as seenOnHideNotification- Hide notificationOnClearNotification- Clear all notificationsOnNotificationV2- V2 notification systemOnNotificationV2Update- Update V2 notificationOnNotificationV2Delete- Delete V2 notifications
Friend Events
OnFriendAdd- Friend addedOnFriendDelete- Friend removedOnFriendOnline- Friend came onlineOnFriendActive- Friend active on websiteOnFriendOffline- Friend went offlineOnFriendUpdate- Friend profile updatedOnFriendLocation- Friend changed location
User Events
OnUserUpdate- Your profile updatedOnUserLocation- Your location changedOnUserBadgeAssigned- Badge obtainedOnUserBadgeUnassigned- Badge lostOnContentRefresh- Content added/removedOnModifiedImageUpdate- Image file modifiedOnInstanceQueueJoined- Joined instance queueOnInstanceQueueReady- Ready to join instance
Group Events
OnGroupJoined- Joined a groupOnGroupLeft- Left a groupOnGroupMemberUpdated- Group membership changedOnGroupRoleUpdated- Group role changed
Examples
See the example code for a sample codebase.
Authentication
You need a VRChat authentication cookie (authcookie_...) to connect to the Pipeline. You can obtain this by:
- Using the main VRChat.API library to authenticate
- Logging in through the VRChat website and extracting the cookie
Note: Keep your auth token secure and never commit it to version control!
Contributing
Contributions are welcome, but do not add features that should be handled by the OpenAPI specification.
Join the Discord server to get in touch with us.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 83 | 12/31/2025 |
Automated deployment