Clips API Documentation

Ready to integrate CS2 highlights into your application? Join our Discord to get started!

🌐 Base URL

Production:

https://api.csclips.com

📹 Get Highlights

GET/highlights

Fetch highlights based on demo URL, Steam ID, or both parameters.

Parameters

ParameterTypeRequiredDescription
demoUrlstringNo*URL of the demo file
steamIdstringNo*Steam ID of the player

*At least one parameter is required

Usage Examples

Get all highlights for a specific player:

curl "https://api.csclips.com/highlights?steamId=76561198123456789"

Get all highlights from a specific demo:

curl "https://api.csclips.com/highlights?demoUrl=https://replay123.valve.net/730/003524143285830164508_0772629009.dem.bz2"

Get highlights for a specific player in a specific demo:

curl "https://api.csclips.com/highlights?demoUrl=https://replay123.valve.net/730/003524143285830164508_0772629009.dem.bz2&steamId=76561198123456789"

Response Format

Success Response (200):

{
  "success": true,
  "data": [
    {
      "highlight": {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "clipURL": "https://storage.csclips.com/highlights/abc123.mp4",
        "thumbnailURL": "https://storage.csclips.com/highlights/abc123.webp",
        "viewCount": 42
      },
      "match": {
        "id": "550e8400-e29b-41d4-a716-446655440001",
        "matchId": "CSGO-ABC123-DEF456-GHI789-JKL012",
        "demoUrl": "https://replay123.valve.net/730/003524143285830164508_0772629009.dem.bz2",
        "map": "de_mirage",
        "date": "2024-01-01T10:00:00Z"
      }
    }
  ],
  "count": 1
}

Error Response (400) - Missing Parameters:

{
  "success": false,
  "error": "At least one of 'demoUrl' or 'steamId' query parameters is required"
}

Error Response (500) - Server Error:

{
  "success": false,
  "error": "Internal server error"
}

👁️ Increment Highlight Views

POST/highlights/:id/view

Increment the view count for a specific highlight.

Parameters

ParameterTypeRequiredDescription
idstring (UUID)YesHighlight ID (path parameter)

Usage Example

curl -X POST "https://api.csclips.com/highlights/550e8400-e29b-41d4-a716-446655440000/view"

Response Format

Success Response (200):

{
  "success": true,
  "viewCount": 43
}

Error Response (400) - Highlight Not Found:

{
  "success": false,
  "error": "No highlight exists"
}

🔧 Integration Examples

JavaScript/TypeScript

// Fetch highlights for a player
const response = await fetch('https://api.csclips.com/highlights?steamId=76561198123456789');
const data = await response.json();

if (data.success) {
  console.log(`Found ${data.count} highlights`);
  data.data.forEach(item => {
    console.log(`Clip: ${item.highlight.clipURL}`);
    console.log(`Map: ${item.match.map}`);
  });
}

// Increment view count
await fetch('https://api.csclips.com/highlights/550e8400-e29b-41d4-a716-446655440000/view', {
  method: 'POST'
});

⚙️ Technical Details

Authentication

Currently, no authentication is required for these endpoints.

Rate Limiting

No rate limiting is currently implemented.

CORS & Access

API access is currently restricted to csclips.com and affiliated domains.

💬Want access?Join our Discord

Content Types

Response: application/json

💡 Use Cases

Player Profile Page

Get all highlights for a player

GET /highlights?steamId=76561198123456789

Match Review

Get all highlights from a specific demo

GET /highlights?demoUrl=https://replay123.valve.net/730/...

Specific Player Performance

Get highlights for a player in a specific match

GET /highlights?demoUrl=...&steamId=76561198123456789

Video Player Analytics

Track when users watch highlights

POST /highlights/550e8400-e29b-41d4-a716-446655440000/view

Ready to get started?

Join our Discord community to request API access, get help with integration, and stay updated on new features.

Join Discord Community