Skip to content

Overview

The Orbis API provides programmatic access to servers, marketplace resources, teams, users, and more.

All API requests require authentication using an API key:

Terminal window
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.orbis.place/resources
  1. Log in to your Orbis account
  2. Navigate to Settings → Developer
  3. Click “Create API Key”
  4. Copy and securely store your key
https://api.orbis.place
  • Default: 100 requests per hour per API key
  • Rate limit headers are included in all responses

All responses are in JSON format:

{
"data": [...],
"meta": {
"total": 100,
"limit": 20,
"offset": 0
}
}

Errors return appropriate HTTP status codes:

  • 400 - Bad Request (invalid parameters)
  • 401 - Unauthorized (invalid or missing API key)
  • 403 - Forbidden (insufficient permissions)
  • 404 - Not Found
  • 429 - Rate Limit Exceeded
  • 500 - Internal Server Error

Error responses include details:

{
"error": {
"code": "INVALID_REQUEST",
"message": "Invalid resource ID format",
"details": {}
}
}

Manage marketplace resources including mods, plugins, tools, and scripts.

Manage Hytale game server listings.

Manage teams and team-owned content.

  • Teams API - Team management, members, and invitations

Manage user profiles and social features.

  • Users API - User profiles, follows, and social links

Many endpoints support pagination using limit and offset:

GET /resources?limit=20&offset=40

Alternative page-based pagination:

GET /resources?page=3&limit=20

Filter results using query parameters:

GET /resources?type=MOD&tags=magic,combat

Array parameters can be passed multiple times or comma-separated.

Sort results using the sort parameter:

GET /resources?sort=newest
GET /servers?sort=rank

Common sort options:

  • newest - Most recently created
  • popular - Most popular/liked
  • downloads - Most downloaded (resources)
  • rank - Server rank (servers)

File upload endpoints use multipart/form-data:

Terminal window
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "icon=@/path/to/image.png" \
https://api.orbis.place/resources/RESOURCE_ID/icon

Most resources can be accessed by either ID or slug:

  • /resources/:id - Access by ID (guaranteed unique)
  • /resources/slug/:slug - Access by slug (user-friendly URLs)

  • Never expose your API key in client-side code
  • Rotate API keys regularly
  • Use environment variables to store API keys
  • Implement proper error handling for 401/403 responses
  • Use pagination to limit response sizes
  • Cache responses when appropriate
  • Use conditional requests with ETags (when available)
  • Filter results to fetch only what you need
try {
const response = await fetch('https://api.orbis.place/resources', {
headers: {
'Authorization': `Bearer ${API_KEY}`
}
});
if (!response.ok) {
const error = await response.json();
console.error('API Error:', error.error.message);
return;
}
const data = await response.json();
// Process data
} catch (error) {
console.error('Network Error:', error);
}

For API support, please:

  • Open an issue on GitHub
  • Join our Discord
  • Check the documentation for updates