Skip to content

[Mirror Repo] K-API (VRChat API Proxy) allows you to acquire information about groups and users without having to be connected to VRChat, enabling you to connect any application to the game data!

Notifications You must be signed in to change notification settings

unstealable/VRChatAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A lightweight, fast, and secure FastAPI proxy server for the VRChat API.
Designed to handle authentication, token management, and provide cached access to public and private VRChat data endpoints.


🚀 Features

  • Seamless VRChat account authentication with support for 2FA (email & TOTP)
  • Automated token storage and expiry management (configurable cache duration)
  • Public API endpoints to fetch VRChat groups & users info
  • Private API endpoints secured by VRChat auth tokens
  • Written in Python with FastAPI and HTTPX for async requests
  • Auto environment setup with virtual environment creation & dependency installation
  • Ready to deploy on any server with Python 3.8+ (tested with YunoHost)

💡 Why this project?

VRChat’s official API requires complex login flows and token management that can be cumbersome to implement for your apps or bots.
K-API simplifies this by handling authentication and caching internally, exposing easy REST endpoints for your applications.


🛠️ Getting Started

Requirements

  • Python 3.8 or higher installed globally
  • Git (optional)

Installation & Running

Clone this repository:

git clone https://git.kvs.fyi/kryscau/VRChatAPI.git
# You can use the mirror with Github with: https://github.com/kryscau/VRChatAPI.git
cd VRChatAPI

Run the included Python bootstrap script to create and activate the virtual environment, install dependencies, authenticate your VRChat account, and start the server:

python run.py

This script will prompt for your VRChat username, password, and 2FA code if required.
Tokens are stored securely and refreshed automatically every 30 days.

Access the API

  • Public endpoint example:
    GET /api/public/groups/{group_id}
    Returns info about a VRChat group.

  • Private endpoint example (requires authentication or specific permission in VRChat [join group, bans perms, ...]):
    GET /api/private/users/{user_id}
    Returns private user data accessible with your token.

Explore interactive docs at:
http://127.0.0.1:8000/docs


🔒 Security & Privacy

  • Your VRChat credentials and tokens are stored locally in JSON files inside the data/auth/ directory.
  • No credentials or tokens are ever sent to third-party servers.
  • Use HTTPS and proper firewall rules when deploying publicly.

📁 Project Structure

/app
    /api           # FastAPI route modules (public/private)
/data/auth        # Token storage (auto-generated)
/prelaunch        # Authentication helper scripts
run.py            # Python bootstrapper script
requirements.txt  # Python dependencies
README.md         # This file

🤝 Contribution

Feel free to open issues or submit pull requests.
Feature requests and bug reports are welcome!


⚡ License

MIT License © 2025 Kryscau (K-API)


🚀 Next Steps

  • Add WebSocket support for real-time VRChat events
  • Implement caching layers with Redis or similar
  • Dockerize for easy container deployments
  • Add OAuth support for multi-user API proxies

Made with ❤️ by Kryscau.

About

[Mirror Repo] K-API (VRChat API Proxy) allows you to acquire information about groups and users without having to be connected to VRChat, enabling you to connect any application to the game data!

Topics

Resources

Stars

Watchers

Forks