Skip to main content

Documentation Index

Fetch the complete documentation index at: https://rocks.docs.rive.wtf/llms.txt

Use this file to discover all available pages before exploring further.

Every API key is tied to one IP. To apply for a key, DM southctrl on Discord.
Use the endpoint paths below, replace the required params, and send Authorization: Bearer YOUR_API_KEY.

Quick Start

1

Pick an endpoint

Choose from user info, repository details, all repos, or commits.
2

Pass the required parameters

All endpoints require at least a username query parameter.
3

Use the response data

All responses return a success boolean and a data object or array.

User

Get public profile information for a GitHub user.

Endpoint

GET /api/github/user

Query Parameters

username
string
required
The GitHub username to look up.

Example Request

cURL
curl -X GET "https://rocks.rive.wtf/api/github/user?username=southctrl" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScript
const response = await fetch('https://rocks.rive.wtf/api/github/user?username=southctrl', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
});
const data = await response.json();
console.log(data);
Python
import requests
headers = {'Authorization': 'Bearer YOUR_API_KEY'}
params = {'username': 'southctrl'}
response = requests.get(
    'https://rocks.rive.wtf/api/github/user',
    headers=headers,
    params=params
)
print(response.json())

Example Response

{
  "success": true,
  "data": {
    "id": 134554554,
    "login": "southctrl",
    "name": "Bernard",
    "avatarUrl": "https://avatars.githubusercontent.com/u/134554554?v=4",
    "url": "https://api.github.com/users/southctrl",
    "type": "User",
    "company": null,
    "location": null,
    "email": null,
    "bio": "i like money & dev for @rive-hq ",
    "publicRepos": 20,
    "followers": 3,
    "following": 1,
    "createdAt": "2023-05-24T20:52:37+00:00"
  }
}

Repos

Get all public repositories for a GitHub user.

Endpoint

GET /api/github/repos

Query Parameters

username
string
required
The GitHub username whose repositories you want to fetch.

Example Request

cURL
curl -X GET "https://rocks.rive.wtf/api/github/repos?username=southctrl" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScript
const response = await fetch('https://rocks.rive.wtf/api/github/repos?username=southctrl', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
});
const data = await response.json();
console.log(data);
Python
import requests
headers = {'Authorization': 'Bearer YOUR_API_KEY'}
params = {'username': 'southctrl'}
response = requests.get(
    'https://rocks.rive.wtf/api/github/repos',
    headers=headers,
    params=params
)
print(response.json())

Example Response

{
  "success": true,
  "data": [
    {
      "id": 1047166431,
      "name": "aqualink-docs",
      "private": false,
      "description": null,
      "fork": false,
      "url": "https://api.github.com/repos/southctrl/aqualink-docs",
      "createdAt": "2025-08-29T21:13:43+00:00",
      "updatedAt": "2025-12-14T02:15:24+00:00",
      "stars": 0,
      "watchers": 0,
      "language": "MDX",
      "archived": false,
      "topics": [],
      "forks": 0,
      "owner": {
        "login": "southctrl",
        "id": 134554554,
        "avatarUrl": "https://avatars.githubusercontent.com/u/134554554?v=4",
        "url": "https://github.com/southctrl",
        "type": "User"
      }
    }
  ]
}

Repo

Get information about a specific repository.

Endpoint

GET /api/github/repo

Query Parameters

username
string
required
The GitHub username who owns the repository.
repo
string
required
The repository name.

Example Request

cURL
curl -X GET "https://rocks.rive.wtf/api/github/repo?username=southctrl&repo=voice" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScript
const response = await fetch('https://rocks.rive.wtf/api/github/repo?username=southctrl&repo=voice', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
});
const data = await response.json();
console.log(data);
Python
import requests
headers = {'Authorization': 'Bearer YOUR_API_KEY'}
params = {'username': 'southctrl', 'repo': 'voice'}
response = requests.get(
    'https://rocks.rive.wtf/api/github/repo',
    headers=headers,
    params=params
)
print(response.json())

Example Response

{
  "success": true,
  "data": {
    "id": 1186356342,
    "name": "voice",
    "private": false,
    "description": "PerformanC's Discord Voice API client.",
    "fork": true,
    "url": "https://api.github.com/repos/southctrl/voice",
    "createdAt": "2026-03-19T14:39:33+00:00",
    "updatedAt": "2026-04-03T19:55:21+00:00",
    "stars": 0,
    "watchers": 0,
    "language": "JavaScript",
    "archived": false,
    "topics": [],
    "forks": 0,
    "owner": {
      "login": "southctrl",
      "id": 134554554,
      "avatarUrl": "https://avatars.githubusercontent.com/u/134554554?v=4",
      "url": "https://github.com/southctrl",
      "type": "User"
    }
  }
}

Commits

Get the commit history for a repository.

Endpoint

GET /api/github/commits

Query Parameters

username
string
required
The GitHub username who owns the repository.
repo
string
required
The repository name.

Example Request

cURL
curl -X GET "https://rocks.rive.wtf/api/github/commits?username=southctrl&repo=voice" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScript
const response = await fetch('https://rocks.rive.wtf/api/github/commits?username=southctrl&repo=voice', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
});
const data = await response.json();
console.log(data);
Python
import requests
headers = {'Authorization': 'Bearer YOUR_API_KEY'}
params = {'username': 'southctrl', 'repo': 'voice'}
response = requests.get(
    'https://rocks.rive.wtf/api/github/commits',
    headers=headers,
    params=params
)
print(response.json())

Example Response

{
  "success": true,
  "data": [
    {
      "sha": "99f08b2bc190081b166692854d9e08ac4ecc7ce7",
      "url": "https://github.com/southctrl/voice/commit/99f08b2bc190081b166692854d9e08ac4ecc7ce7",
      "message": "Update index.js",
      "author": {
        "name": "Bernard",
        "email": "134554554+southctrl@users.noreply.github.com",
        "date": "2026-04-03T19:55:17+00:00"
      }
    }
  ]
}

Error Responses

All endpoints return a consistent error shape on failure.
{ "error": "Missing 'username' parameter" }
StatusMeaning
400Missing a required query parameter
404User or repository not found
500Unexpected server error