search
Search for a public user profile by username or ID.
/api/v1/user/search
Return a lightweight, public-facing profile for a user by username or id. This endpoint exposes non-sensitive fields only and is intended for public lookups.
Search for user
Search for a public user profile by username or ID.
GET/api/v1/user/search
Query Parameters
| Key | Type | Description |
|---|---|---|
username | string | Case-sensitive username match. |
id | string | Clerk-style user id (user_...). |
At least one of username or id must be provided. If both are provided, the endpoint returns a match if either matches a record.
Errors
| Status | Description |
|---|---|
| 400 | Missing query parameters. |
| 404 | No matching user found. |
| 500 | Unexpected server error. |
Example Request
curl -X GET "https://api.rotationracing.eu/api/v1/user/search?username=janedoe"const params = new URLSearchParams({ username: 'janedoe' });
const res = await fetch(`https://api.rotationracing.eu/api/v1/user/search?${params}`);
if (res.status === 404) throw new Error('User not found');
const data = await res.json();
console.log(data);import requests
url = "https://api.rotationracing.eu/api/v1/user/search"
params = {"username": "janedoe"}
response = requests.get(url, params=params)
if response.status_code == 404:
raise Exception("User not found")
data = response.json()
print(data)Response
{
"id": "user_2aBcDeFgHi",
"username": "janedoe",
"imageUrl": "https://img.clerk.com/...",
"createdAt": "2025-01-01T12:34:56.000Z",
"lastActiveAt": "2025-01-02T08:00:00.000Z",
"locked": false,
"role": "free",
"country": "US",
"games": ["acc", "iracing", "lmu"]
}