CompressorX API Documentation

Base URL

https://cx-api.coreutils.app/v1

1. Search for Apps

Search for apps based on a partial or full name match.

Endpoint

GET /search

Query Parameters

Parameter Type Required Description
name string Yes Partial or full name of the app

Response

Success (200 OK)

{
  "app_id": "string",
  "app_name": "string",
  "storefront": "string",
  "available_providers": ["string"]
}

Error (400 Bad Request)

{
  "error": "Missing required query parameter: name"
}

Example Request

GET /search?name=Cyberpunk

Example Response

[
  {
    "app_id": "1091500",
    "app_name": "Cyberpunk 2077",
    "storefront": "steam",
    "available_providers": ["fastest", "balanced", "slow"]
  }
]

Notes

2. Get App Compression Stats

Retrieve compression statistics for a specific app, storefront, and provider combination.

Endpoint

GET /stats

Query Parameters

Parameter Type Required Description
appId string Yes Unique identifier of the app
storefront string Yes Storefront name (e.g., "steam", "epic")
provider string Yes Compression provider name (e.g., "balanced")

Response

Success (200 OK)

{
  "app_name": "string",
  "avg_uncompressed_size": number,
  "avg_compressed_size": number,
  "avg_compression_ratio": number,
  "avg_space_saved_percentage": number,
  "sample_count": number,
  "oldest_sample": "string (ISO 8601 date)",
  "newest_sample": "string (ISO 8601 date)"
}

Error (400 Bad Request)

{
  "error": "Missing required query parameters: appId, storefront, and provider"
}

// or

{
  "error": "Invalid storefront or provider"
}

Error (404 Not Found)

{
  "message": "No data found for the specified parameters"
}

Example Request

GET /stats?appId=1091500&storefront=steam&provider=balanced

Example Response

{
  "app_name": "Cyberpunk 2077",
  "avg_uncompressed_size": 68719476736,
  "avg_compressed_size": 45097156608,
  "avg_compression_ratio": 1.52,
  "avg_space_saved_percentage": 34.38,
  "sample_count": 1000,
  "oldest_sample": "2023-01-01T00:00:00Z",
  "newest_sample": "2023-12-31T23:59:59Z"
}

Notes

Rate Limiting

This API implements rate limiting to ensure fair usage. Please contact us for more information about rate limits if you plan to make heavy use of the API.

Errors

The API uses standard HTTP response codes to indicate the success or failure of requests. In case of errors, a JSON response with an error field will provide more details about the issue.

Support

For any questions or issues regarding the API, please contact our support team at [email protected].